Last Comment Bug 701383 - Intermittent test_websocket.html | Exited with code 1 from "###!!! ABORT: Current message in progress: '!mCurrentOut'"
: Intermittent test_websocket.html | Exited with code 1 from "###!!! ABORT: Cur...
Status: RESOLVED FIXED
: intermittent-failure
Product: Core
Classification: Components
Component: Networking: WebSockets (show other bugs)
: Trunk
: x86_64 Mac OS X
: -- normal (vote)
: mozilla13
Assigned To: Jason Duell [:jduell] (needinfo me)
:
Mentors:
Depends on:
Blocks: 438871
  Show dependency treegraph
 
Reported: 2011-11-10 08:12 PST by Phil Ringnalda (:philor, back in August)
Modified: 2012-11-25 19:31 PST (History)
1 user (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
v1 (3.01 KB, patch)
2012-01-30 14:03 PST, Jason Duell [:jduell] (needinfo me)
mcmanus: review+
Details | Diff | Splinter Review

Description Phil Ringnalda (:philor, back in August) 2011-11-10 08:12:36 PST
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
Comment 1 Treeherder Robot 2012-01-14 10:53:42 PST
philor
https://tbpl.mozilla.org/php/getParsedLog.php?id=8551249&tree=Firefox
Rev4 MacOSX Snow Leopard 10.6 mozilla-central debug test mochitests-1/5 on 2012-01-14 10:25:59

TEST-UNEXPECTED-FAIL | /tests/content/base/test/test_websocket.html | Exited with code 1 during test run
PROCESS-CRASH | /tests/content/base/test/test_websocket.html | application crashed (minidump found)
Thread 5 (crashed)
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | missing output line for total leaks!
TEST-UNEXPECTED-FAIL | plugin process 344 | automationutils.processLeakLog() | missing output line for total leaks!
Comment 2 Treeherder Robot 2012-01-14 10:54:15 PST
WG9s
https://tbpl.mozilla.org/php/getParsedLog.php?id=8551249&tree=Firefox
Rev4 MacOSX Snow Leopard 10.6 mozilla-central debug test mochitests-1/5 on 2012-01-14 10:25:59

TEST-UNEXPECTED-FAIL | /tests/content/base/test/test_websocket.html | Exited with code 1 during test run
PROCESS-CRASH | /tests/content/base/test/test_websocket.html | application crashed (minidump found)
Thread 5 (crashed)
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | missing output line for total leaks!
TEST-UNEXPECTED-FAIL | plugin process 344 | automationutils.processLeakLog() | missing output line for total leaks!
Comment 3 Treeherder Robot 2012-01-19 10:38:03 PST
philor
https://tbpl.mozilla.org/php/getParsedLog.php?id=8666348&tree=Mozilla-Inbound
Rev4 MacOSX Snow Leopard 10.6 mozilla-inbound debug test mochitests-1/5 on 2012-01-19 05:49:00

TEST-UNEXPECTED-FAIL | /tests/content/base/test/test_websocket.html | Exited with code 1 during test run
PROCESS-CRASH | /tests/content/base/test/test_websocket.html | application crashed (minidump found)
Thread 4 (crashed)
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | missing output line for total leaks!
TEST-UNEXPECTED-FAIL | plugin process 349 | automationutils.processLeakLog() | missing output line for total leaks!
Comment 4 Treeherder Robot 2012-01-19 10:38:32 PST
mbrubeck
https://tbpl.mozilla.org/php/getParsedLog.php?id=8666348&tree=Mozilla-Inbound
Rev4 MacOSX Snow Leopard 10.6 mozilla-inbound debug test mochitests-1/5 on 2012-01-19 05:49:00

TEST-UNEXPECTED-FAIL | /tests/content/base/test/test_websocket.html | Exited with code 1 during test run
PROCESS-CRASH | /tests/content/base/test/test_websocket.html | application crashed (minidump found)
Thread 4 (crashed)
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | missing output line for total leaks!
TEST-UNEXPECTED-FAIL | plugin process 349 | automationutils.processLeakLog() | missing output line for total leaks!
Comment 5 Jason Duell [:jduell] (needinfo me) 2012-01-30 14:03:22 PST
Created attachment 592851 [details] [diff] [review]
v1

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).
Comment 6 Jason Duell [:jduell] (needinfo me) 2012-01-31 20:43:16 PST
https://hg.mozilla.org/integration/mozilla-inbound/rev/88ac74cd45ad
Comment 7 Ed Morley [:emorley] 2012-02-02 08:15:50 PST
https://hg.mozilla.org/mozilla-central/rev/88ac74cd45ad

Note You need to log in before you can comment on or make changes to this bug.