Closed Bug 701383 Opened 13 years ago Closed 12 years ago

Intermittent test_websocket.html | Exited with code 1 from "###!!! ABORT: Current message in progress: '!mCurrentOut'"

Categories

(Core :: Networking: WebSockets, defect)

x86_64
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla13

People

(Reporter: philor, Assigned: jduell.mcbugs)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

https://tbpl.mozilla.org/php/getParsedLog.php?id=7326639&tree=Mozilla-Inbound
Rev3 MacOSX Leopard 10.5.8 mozilla-inbound debug test mochitests-1/5 on 2011-11-10 03:15:06 PST for push 9ce43912891b

39058 INFO TEST-PASS | /tests/content/base/test/test_websocket.html | bad received message in test-11!
###!!! ABORT: Current message in progress: '!mCurrentOut', file /builds/slave/m-in-osx-dbg/build/netwerk/protocol/websocket/WebSocketChannel.cpp, line 1156
mozilla::net::WebSocketChannel::PrimeNewOutgoingMessage [netwerk/protocol/websocket/WebSocketChannel.cpp:1156]
mozilla::net::WebSocketChannel::PrimeNewOutgoingMessage [netwerk/protocol/websocket/WebSocketChannel.cpp:1181]
mozilla::net::WebSocketChannel::OnOutputStreamReady [netwerk/protocol/websocket/WebSocketChannel.cpp:2515]
39059 INFO TEST-PASS | /tests/content/base/test/test_websocket.html | onclose bad readyState in test-11!
mozilla::net::nsPostMessage::Run [netwerk/protocol/websocket/WebSocketChannel.cpp:239]
nsThread::ProcessNextEvent [xpcom/threads/nsThread.cpp:631]
39060 INFO TEST-PASS | /tests/content/base/test/test_websocket.html | the ws connection in test 11 should be closed cleanly
NS_ProcessNextEvent_P [obj-firefox/xpcom/build/nsThreadUtils.cpp:245]
nsSocketTransportService::Run [netwerk/base/src/nsSocketTransportService2.cpp:640]
nsThread::ProcessNextEvent [xpcom/threads/nsThread.cpp:631]
NS_ProcessNextEvent_P [obj-firefox/xpcom/build/nsThreadUtils.cpp:245]
nsThread::ThreadFunc [xpcom/threads/nsThread.cpp:271]
_pt_root [nsprpub/pr/src/pthreads/ptthread.c:190]
libSystem.B.dylib + 0x32155
libSystem.B.dylib + 0x32012
###!!! ABORT: Current message in progress: '!mCurrentOut', file /builds/slave/m-in-osx-dbg/build/netwerk/protocol/websocket/WebSocketChannel.cpp, line 1156
39061 INFO TEST-PASS | /tests/content/base/test/test_websocket.html | test 12
TEST-UNEXPECTED-FAIL | /tests/content/base/test/test_websocket.html | Exited with code 1 during test run
INFO | automation.py | Application ran for: 0:03:38.735312
INFO | automation.py | Reading PID log: /var/folders/Xr/Xr--yJnSEY0U11ET5NZuMU+++TM/-Tmp-/tmp6fCQu3pidlog
PROCESS-CRASH | /tests/content/base/test/test_websocket.html | application crashed (minidump found)
Crash dump filename: /var/folders/Xr/Xr--yJnSEY0U11ET5NZuMU+++TM/-Tmp-/tmpNu18Zu/minidumps/03770567-20F9-4693-8D09-5B307B727F60.dmp
Operating system: Mac OS X
                  10.5.8 9L31a
CPU: x86
     GenuineIntel family 6 model 23 stepping 10
     2 CPUs

Crash reason:  EXC_BAD_ACCESS / KERN_PROTECTION_FAILURE
Crash address: 0x0

Thread 4 (crashed)
 0  libmozalloc.dylib!mozalloc_abort [mozalloc_abort.cpp:9ce43912891b : 66 + 0x0]
    eip = 0x00018edb   esp = 0xb0288610   ebp = 0xb0288628   ebx = 0x00018eb1
    esi = 0xa03795b8   edi = 0xa03795b8   eax = 0x0000000a   ecx = 0x00000000
    edx = 0x00000000   efl = 0x00010246
    Found by: given as instruction pointer in context
 1  XUL!NS_DebugBreak_P [nsDebugImpl.cpp:9ce43912891b : 388 + 0xd]
    eip = 0x04e656ae   esp = 0xb0288630   ebp = 0xb0288a68   ebx = 0x04e653b1
    esi = 0xb0288a44   edi = 0xa03795b8
    Found by: call frame info
 2  XUL!mozilla::net::WebSocketChannel::PrimeNewOutgoingMessage [WebSocketChannel.cpp:9ce43912891b : 1156 + 0x3e]
    eip = 0x0328b3e4   esp = 0xb0288a70   ebp = 0xb0288b38   ebx = 0x0328b351
    esi = 0x05a5c36c   edi = 0x00000000
    Found by: call frame info
 3  XUL!mozilla::net::WebSocketChannel::PrimeNewOutgoingMessage [WebSocketChannel.cpp:9ce43912891b : 1181 + 0x7]
    eip = 0x0328bf8f   esp = 0xb0288b40   ebp = 0xb0288c08   ebx = 0x0328b351
    esi = 0x00000000   edi = 0x00000000
    Found by: call frame info
 4  XUL!mozilla::net::WebSocketChannel::OnOutputStreamReady [WebSocketChannel.cpp:9ce43912891b : 2515 + 0x7]
    eip = 0x0328c73a   esp = 0xb0288c10   ebp = 0xb0288c68   ebx = 0x0328c2fe
    esi = 0x2ad163c0   edi = 0x00000000
    Found by: call frame info
 5  XUL!mozilla::net::nsPostMessage::Run [WebSocketChannel.cpp:9ce43912891b : 237 + 0x12]
    eip = 0x0328d2ff   esp = 0xb0288c70   ebp = 0xb0288cb8   ebx = 0x0328d2d4
    esi = 0x2ad163c0   edi = 0x00000001
    Found by: call frame info
 6  XUL!nsThread::ProcessNextEvent [nsThread.cpp:9ce43912891b : 631 + 0x7]
    eip = 0x04e53a20   esp = 0xb0288cc0   ebp = 0xb0288d58   ebx = 0x04e53691
    esi = 0x00000000   edi = 0x00000000
    Found by: call frame info
 7  XUL!NS_ProcessNextEvent_P [nsThreadUtils.cpp:9ce43912891b : 245 + 0x18]
    eip = 0x04dcfe22   esp = 0xb0288d60   ebp = 0xb0288d98   ebx = 0x04dcfdfd
    esi = 0x00000001   edi = 0xb0288dd4
    Found by: call frame info
 8  XUL!nsSocketTransportService::Run [nsSocketTransportService2.cpp:9ce43912891b : 639 + 0xf]
    eip = 0x031636e0   esp = 0xb0288da0   ebp = 0xb0288df8   ebx = 0x031635de
    esi = 0x0013f510   edi = 0xb0288dd4
    Found by: call frame info
 9  XUL!nsThread::ProcessNextEvent [nsThread.cpp:9ce43912891b : 631 + 0x7]
    eip = 0x04e53a20   esp = 0xb0288e00   ebp = 0xb0288e98   ebx = 0x04e53691
Attached patch v1Splinter Review
This fixes the issue here, which appears to have been a race where if the server closed the WS connection before the client did, we hit the !mCurrentOut assert.

In the field this was a small memory leak (mCurrentOut didn't get deleted).
Assignee: nobody → jduell.mcbugs
Status: NEW → ASSIGNED
Attachment #592851 - Flags: review?(mcmanus)
Attachment #592851 - Flags: review?(mcmanus) → review+
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Whiteboard: [orange]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: