Closed Bug 1168221 Opened 10 years ago Closed 10 years ago

Assertion failure: !mDataStarted

Categories

(Core :: Networking: WebSockets, defect)

defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla41
Tracking Status
firefox41 + verified

People

(Reporter: jdm, Assigned: michal)

References

Details

(Keywords: topcrash)

Crash Data

Attachments

(2 files)

STR: 1. Visit https://reviewable.io/reviews/servo/servo/6168 in a debug build 2. See a ton of the following assertion: Assertion failure: !mDataStarted, at /Users/jdm/src/mozilla-central/netwerk/protocol/websocket/WebSocketChannel.cpp:2232 #01: mozilla::net::WebSocketChannel::StopSession(nsresult)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x63dcf8] #02: mozilla::net::WebSocketChannel::Close(unsigned short, nsACString_internal const&)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x644b3c] #03: mozilla::net::WebSocketChannelParent::RecvClose(unsigned short const&, nsCString const&)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x64b8df] #04: mozilla::net::PWebSocketParent::OnMessageReceived(IPC::Message const&)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0xc94bd5] #05: mozilla::dom::PContentParent::OnMessageReceived(IPC::Message const&)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0xe2c32a] #06: mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x847256] #07: mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message const&)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x8464c9] #08: mozilla::ipc::MessageChannel::OnMaybeDequeueOne()[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x842584] #09: void DispatchToMethod<mozilla::ipc::MessageChannel, bool (mozilla::ipc::MessageChannel::*)()>(mozilla::ipc::MessageChannel*, bool (mozilla::ipc::MessageChannel::*)(), Tuple0 const&)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x863113] #10: RunnableMethod<mozilla::ipc::MessageChannel, bool (mozilla::ipc::MessageChannel::*)(), Tuple0>::Run()[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x86300e] #11: mozilla::ipc::MessageChannel::RefCountedTask::Run()[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x866538] #12: mozilla::ipc::MessageChannel::DequeueTask::Run()[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x866504] #13: MessageLoop::RunTask(Task*)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x7bd480] #14: MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x7bd9ff] #15: MessageLoop::DoWork()[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x7bdc24] #16: mozilla::ipc::DoWorkRunnable::Run()[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x84a422] #17: nsThread::ProcessNextEvent(bool, bool*)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x19d4b8] #18: NS_ProcessPendingEvents(nsIThread*, unsigned int)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x1fa06a] #19: nsBaseAppShell::NativeEventCallback()[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x3ab9ed9] #20: nsAppShell::ProcessGeckoEvents(void*)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x3b3abed] #21: __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x7f5b1] #22: __CFRunLoopDoSources0[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x70c62] #23: __CFRunLoopRun[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x703ef] #24: CFRunLoopRunSpecific[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x6fe75] #25: RunCurrentEventLoopInMode[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x2ea0d] #26: ReceiveNextEventCommon[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x2e7b7] #27: _BlockUntilNextEventMatchingListInModeWithFilter[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x2e5bc] #28: _DPSNextEvent[/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x2424e] #29: -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:][/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x2389b] #30: -[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:][/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x3b39707] #31: -[NSApplication run][/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x1799c] #32: nsAppShell::Run()[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x3b3b5bc] #33: nsAppStartup::Run()[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4aa3ea1] #34: XREMain::XRE_mainRun()[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4b59be5] #35: XREMain::XRE_main(int, char**, nsXREAppData const*)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4b5a572] #36: XRE_main[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/XUL +0x4b5aa32] #37: do_main(int, char**, nsIFile*)[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/firefox +0x2b7a] #38: main[/Users/jdm/src/mozilla-central/obj-x86_64-apple-darwin13.4.0/dist/NightlyDebug.app/Contents/MacOS/firefox +0x1f03]
* thread #1: tid = 0xb2ce, 0x0000000101bcbd02 XUL`mozilla::net::WebSocketChannel::StopSession(this=0x0000000125718800, reason=2152398860) + 210 at WebSocketChannel.cpp:2232, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) frame #0: 0x0000000101bcbd02 XUL`mozilla::net::WebSocketChannel::StopSession(this=0x0000000125718800, reason=2152398860) + 210 at WebSocketChannel.cpp:2232 2229 // normally this should be called on socket thread, but it is ok to call it 2230 // from OnStartRequest before the socket thread machine has gotten underway 2231 if (NS_IsMainThread()) { -> 2232 MOZ_DIAGNOSTIC_ASSERT(!mDataStarted); 2233 } else { 2234 MOZ_DIAGNOSTIC_ASSERT(PR_GetCurrentThread() == gSocketThread, 2235 "Called on unexpected thread!");
Attached file some gdb debugging
I just hit this loading https://github.com/w3ctag/meetings/blob/gh-pages/2015/telcons/05-27-fingerprinting-redux-agenda.md on somewhat restrictive wifi (United wifi). Here's what I saw in gdb, in case it's of interest.
Blocks: 1159280
Flags: needinfo?(michal.novotny)
The comment above the assertions is obviously wrong. I need to re-investigate thread safety of these methods. For now, let's partially back out patch from bug 1159280.
Flags: needinfo?(michal.novotny)
Attachment #8611509 - Flags: review?(mcmanus)
mcmanus' name text indicates that he is on PTO. Is there someone else who can review this in the meantime?
Attachment #8611509 - Flags: review?(mcmanus) → review?(jduell.mcbugs)
Crash Signature: [@ mozilla::net::WebSocketChannel::StopSession(nsresult) ]
This signature first appeared in the build of 2015052503. It is by far the #1 topcrasher at 38% of all crashes on Nightly in the last three days.
Comment on attachment 8611509 [details] [diff] [review] partial backout of 1159280 Review of attachment 8611509 [details] [diff] [review]: ----------------------------------------------------------------- Stealing review per dmajor's request in #developers
Attachment #8611509 - Flags: review?(jduell.mcbugs) → review+
Assignee: nobody → michal.novotny
Keywords: topcrash
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
Nightly respun to pick this up, since has caused me a lot of crashes.
This is still happening a lot to me, even with the latest Nightly (2015-06-02). It just happened 3 times in 30 minutes or so.
Adding a FF41 tracking flag. Also requesting QE team to verify this fix.
Flags: qe-verify+
Flags: needinfo?(otilia.anica)
Reproduced with Nightly 2015-05-26, under Windows 7 64-bit: bp-56b8a5c6-f93a-4638-8ccb-8e4d62150708 bp-4f6a8951-ce8a-412f-bb58-75d162150708 Verified fixed with latest 41.0a2 and 42.0a1 (both builds from 2015-07-07), across platforms [1], by using various provided URLs [2] - no crash or assertion encountered. Also, in Socorro there are no new reports after 2015-05-31 [3]. Dirkjan Ochtman, could please provide some steps on how this issue is still reproducible for you? Thanks in advance! [1] Windows 7 64-bit, Mac OS X 10.10.4 and Ubuntu 14.04 32-bit [2] https://reviewable.io/reviews/servo/servo/6168; https://casetext.com/case/stafford-v-multnomah-county-assessor; https://angularjs.org/; http://www.codecademy.com/; https://fiery-fire-5650.firebaseio.com/ [3] https://crash-stats.mozilla.com/report/list?range_unit=days&range_value=14&signature=mozilla%3A%3Anet%3A%3AWebSocketChannel%3A%3AStopSession%28nsresult%29#tab-reports
Status: RESOLVED → VERIFIED
Flags: qe-verify+
Flags: needinfo?(otilia.anica)
Flags: needinfo?(dirkjan)
I don't see this anymore.
Flags: needinfo?(dirkjan)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: