Closed
Bug 1717185
Opened 4 years ago
Closed 4 years ago
TCPSocket.send incorrectly returns true because mBufferedAmount is not updated in time
Categories
(Core :: DOM: Networking, defect, P2)
Core
DOM: Networking
Tracking
()
RESOLVED
FIXED
91 Branch
People
(Reporter: rnons, Assigned: rnons)
References
(Regression)
Details
(Keywords: regression, Whiteboard: [necko-triaged])
Attachments
(1 file)
The doc says
If send returns true, then less than 64k has been buffered and it's safe to immediately write more.
But if I keep sending, send always return true. Will send a patch soon.
| Assignee | ||
Comment 1•4 years ago
|
||
Previously, mBufferedAmount is only updated when copy complete. If I keep calling send, NotifyCopyComplete is only called after the last send.
This patch changes to update mBufferedAmount in every send call, so that it returns false correctly if buffer is full.
Updated•4 years ago
|
Assignee: nobody → remotenonsense
Status: NEW → ASSIGNED
Updated•4 years ago
|
Keywords: regression
Updated•4 years ago
|
Component: DOM: Core & HTML → DOM: Networking
Updated•4 years ago
|
Severity: -- → S4
Priority: -- → P2
Whiteboard: [necko-triaged]
Updated•4 years ago
|
Attachment #9227841 -
Attachment description: Bug 1717185 - Fix mBufferedAmount and return value of send in TCPSocket. r=valentin → WIP: Bug 1717185 - Fix mBufferedAmount and return value of send in TCPSocket.
Updated•4 years ago
|
Attachment #9227841 -
Attachment description: WIP: Bug 1717185 - Fix mBufferedAmount and return value of send in TCPSocket. → Bug 1717185 - Fix mBufferedAmount and return value of send in TCPSocket.
Pushed by remotenonsense@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/875cd4a49df6
Fix mBufferedAmount and return value of send in TCPSocket. r=valentin
Comment 3•4 years ago
|
||
Backed out for failures on test_tcpsocket_client_and_server_basics.html.
-
backout: https://hg.mozilla.org/integration/autoland/rev/a518036b2a45421b912ce00efe52b06bba66f330
-
failure log: https://treeherder.mozilla.org/logviewer?job_id=344105550&repo=autoland&lineNumber=8084
[task 2021-06-30T00:26:23.800Z] 00:26:23 INFO - GECKO(11124) | [Parent 6700, Main Thread] ###!!! ASSERTION: not initialized: 'mSource && mSink', file /builds/worker/checkouts/gecko/netwerk/base/nsAsyncStreamCopier.cpp:320
[task 2021-06-30T00:26:23.950Z] 00:26:23 INFO - Initializing stack-fixing for the first stack frame, this may take a while...
[task 2021-06-30T00:26:33.931Z] 00:26:33 INFO - GECKO(11124) | #01: NS_DebugBreak(unsigned int, char const*, char const*, char const*, int) [xpcom/base/nsDebugImpl.cpp:431]
[task 2021-06-30T00:26:33.931Z] 00:26:33 INFO - GECKO(11124) | #02: nsAsyncStreamCopier::AsyncCopy(nsIRequestObserver*, nsISupports*) [netwerk/base/nsAsyncStreamCopier.cpp:320]
[task 2021-06-30T00:26:33.932Z] 00:26:33 INFO - GECKO(11124) | #03: mozilla::dom::TCPSocket::EnsureCopying() [dom/network/TCPSocket.cpp:396]
[task 2021-06-30T00:26:33.933Z] 00:26:33 INFO - GECKO(11124) | #04: mozilla::dom::TCPSocket::NotifyCopyComplete(nsresult) [dom/network/TCPSocket.cpp:452]
[task 2021-06-30T00:26:33.933Z] 00:26:33 INFO - GECKO(11124) | #05: `anonymous namespace'::CopierCallbacks::OnStopRequest(nsIRequest*, nsresult) [dom/network/TCPSocket.cpp:343]
[task 2021-06-30T00:26:33.937Z] 00:26:33 INFO - GECKO(11124) | #06: mozilla::net::nsOnStopRequestEvent::Run() [netwerk/base/nsRequestObserverProxy.cpp:104]
[task 2021-06-30T00:26:33.939Z] 00:26:33 INFO - GECKO(11124) | #07: mozilla::RunnableTask::Run() [xpcom/threads/TaskController.cpp:503]
[task 2021-06-30T00:26:33.939Z] 00:26:33 INFO - GECKO(11124) | #08: mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex &> const&) [xpcom/threads/TaskController.cpp:805]
[task 2021-06-30T00:26:33.940Z] 00:26:33 INFO - GECKO(11124) | #09: mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex &> const&) [xpcom/threads/TaskController.cpp:641]
[task 2021-06-30T00:26:33.941Z] 00:26:33 INFO - GECKO(11124) | #10: mozilla::TaskController::ProcessPendingMTTask(bool) [xpcom/threads/TaskController.cpp:425]
[task 2021-06-30T00:26:33.942Z] 00:26:33 INFO - GECKO(11124) | #11: mozilla::detail::RunnableFunction<`lambda at /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:135:7'>::Run() [xpcom/threads/nsThreadUtils.h:533]
[task 2021-06-30T00:26:33.942Z] 00:26:33 INFO - GECKO(11124) | #12: nsThread::ProcessNextEvent(bool, bool*) [xpcom/threads/nsThread.cpp:1156]
[task 2021-06-30T00:26:33.943Z] 00:26:33 INFO - GECKO(11124) | #13: NS_ProcessNextEvent(nsIThread*, bool) [xpcom/threads/nsThreadUtils.cpp:466]
[task 2021-06-30T00:26:33.944Z] 00:26:33 INFO - GECKO(11124) | #14: mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:85]
[task 2021-06-30T00:26:33.945Z] 00:26:33 INFO - GECKO(11124) | #15: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:331]
[task 2021-06-30T00:26:33.945Z] 00:26:33 INFO - GECKO(11124) | #16: MessageLoop::RunHandler() [ipc/chromium/src/base/message_loop.cc:325]
[task 2021-06-30T00:26:33.946Z] 00:26:33 INFO - GECKO(11124) | #17: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:307]
[task 2021-06-30T00:26:33.946Z] 00:26:33 INFO - GECKO(11124) | #18: nsBaseAppShell::Run() [widget/nsBaseAppShell.cpp:139]
[task 2021-06-30T00:26:33.947Z] 00:26:33 INFO - GECKO(11124) | #19: nsAppShell::Run() [widget/windows/nsAppShell.cpp:603]
[task 2021-06-30T00:26:33.947Z] 00:26:33 INFO - GECKO(11124) | #20: nsAppStartup::Run() [toolkit/components/startup/nsAppStartup.cpp:274]
[task 2021-06-30T00:26:33.948Z] 00:26:33 INFO - GECKO(11124) | #21: XREMain::XRE_mainRun() [toolkit/xre/nsAppRunner.cpp:5254]
[task 2021-06-30T00:26:33.949Z] 00:26:33 INFO - GECKO(11124) | #22: XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) [toolkit/xre/nsAppRunner.cpp:5452]
[task 2021-06-30T00:26:33.949Z] 00:26:33 INFO - GECKO(11124) | #23: XRE_main(int, char**, mozilla::BootstrapConfig const&) [toolkit/xre/nsAppRunner.cpp:5511]
[task 2021-06-30T00:26:33.950Z] 00:26:33 INFO - GECKO(11124) | #24: mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) [toolkit/xre/Bootstrap.cpp:45]
[task 2021-06-30T00:26:34.008Z] 00:26:34 INFO - GECKO(11124) | #25: NS_internal_main(int, char**, char**) [browser/app/nsBrowserApp.cpp:378]
[task 2021-06-30T00:26:34.008Z] 00:26:34 INFO - GECKO(11124) | #26: wmain(int, wchar_t**) [toolkit/xre/nsWindowsWMain.cpp:131]
[task 2021-06-30T00:26:34.009Z] 00:26:34 INFO - GECKO(11124) | #27: __scrt_common_main_seh() [/builds/worker/workspace/obj-build/browser/app/f:/dd/vctools/crt/vcstartup/src/startup/exe_common.inl:288]
[task 2021-06-30T00:26:34.012Z] 00:26:34 INFO - fix-stacks: error: failed to read debug info file `wkernel32.pdb` for `C:\Windows\System32\KERNEL32.DLL`
[task 2021-06-30T00:26:34.013Z] 00:26:34 INFO - fix-stacks: note: this is expected and harmless for all PDB files on opt automation runs
[task 2021-06-30T00:26:34.013Z] 00:26:34 INFO - fix-stacks: The system cannot find the file specified. (os error 2)
[task 2021-06-30T00:26:34.013Z] 00:26:34 INFO - GECKO(11124) | #28: BaseThreadInitThunk [C:\Windows\System32\KERNEL32.DLL + 0x18484]
[task 2021-06-30T00:26:34.020Z] 00:26:34 INFO - fix-stacks: error: failed to read debug info file `wntdll.pdb` for `C:\Windows\SYSTEM32\ntdll.dll`
[task 2021-06-30T00:26:34.021Z] 00:26:34 INFO - fix-stacks: note: this is expected and harmless for all PDB files on opt automation runs
[task 2021-06-30T00:26:34.021Z] 00:26:34 INFO - fix-stacks: The system cannot find the file specified. (os error 2)
[task 2021-06-30T00:26:34.021Z] 00:26:34 INFO - GECKO(11124) | #29: RtlValidSecurityDescriptor [C:\Windows\SYSTEM32\ntdll.dll + 0x6305a]
[task 2021-06-30T00:26:34.022Z] 00:26:34 INFO - GECKO(11124) | #30: RtlValidSecurityDescriptor [C:\Windows\SYSTEM32\ntdll.dll + 0x6302a]
[task 2021-06-30T00:26:34.022Z] 00:26:34 INFO - GECKO(11124) | (server event: data length: 65539)
[task 2021-06-30T00:26:34.022Z] 00:26:34 INFO - GECKO(11124) | (server event: close)
[task 2021-06-30T00:26:34.023Z] 00:26:34 INFO - GECKO(11124) | (client waiting for event)
[task 2021-06-30T00:26:34.023Z] 00:26:34 INFO - GECKO(11124) | (client event: error)
[task 2021-06-30T00:26:34.024Z] 00:26:34 INFO - GECKO(11124) | MEMORY STAT | vsize 1308MB | vsizeMaxContiguous 1293MB | residentFast 418MB | heapAllocated 178MB
[task 2021-06-30T00:26:34.024Z] 00:26:34 INFO - GECKO(11124) | (client event: close)
[task 2021-06-30T00:26:34.024Z] 00:26:34 INFO - TEST-OK | dom/network/tests/test_tcpsocket_client_and_server_basics.html | took 2400ms
[task 2021-06-30T00:26:34.025Z] 00:26:34 INFO - GECKO(11124) | [Parent 6700, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/chrome/nsChromeRegistry.cpp:180
[task 2021-06-30T00:26:34.025Z] 00:26:34 INFO - GECKO(11124) | [Parent 6700, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/dom/security/nsCSPService.cpp:191
[task 2021-06-30T00:26:34.026Z] 00:26:34 INFO - GECKO(11124) | [Parent 6700, Main Thread] WARNING: Failed to retarget HTML data delivery to the parser thread.: file /builds/worker/checkouts/gecko/parser/html/nsHtml5StreamParser.cpp:1371
[task 2021-06-30T00:26:34.026Z] 00:26:34 INFO - TEST-UNEXPECTED-FAIL | dom/network/tests/test_tcpsocket_client_and_server_basics.html | assertion count 1 is more than expected 0 assertions
Flags: needinfo?(remotenonsense)
Updated•4 years ago
|
Attachment #9227841 -
Attachment description: Bug 1717185 - Fix mBufferedAmount and return value of send in TCPSocket. → Bug 1717185 - Fix mBufferedAmount and return value of send in TCPSocket. r=valentin
Pushed by remotenonsense@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/7b43d8647aa4
Fix mBufferedAmount and return value of send in TCPSocket. r=valentin
Comment 5•4 years ago
|
||
| bugherder | ||
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
status-firefox91:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 91 Branch
| Assignee | ||
Updated•4 years ago
|
Flags: needinfo?(remotenonsense)
Updated•4 years ago
|
status-firefox89:
--- → wontfix
status-firefox90:
--- → wontfix
status-firefox-esr78:
--- → wontfix
Flags: in-testsuite+
Updated•4 years ago
|
Has Regression Range: --- → yes
You need to log in
before you can comment on or make changes to this bug.
Description
•