Closed Bug 944313 Opened 11 years ago Closed 11 years ago

WebSocketChannel::SaveNetworkStats addref-ed on non-Main thread

Categories

(Firefox OS Graveyard :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 940740

People

(Reporter: jcarlos.norte, Unassigned)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36 Steps to reproduce: When using websockets API since this revision: http://hg.mozilla.org/mozilla-central/rev/7f84580dc48f b2g crashes randomly with a segfault at addRef. Actual results: b2g crashed with the following stacktrace: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 8732.8744] 0x41176524 in nsXPCWrappedJS::AddRef (this=0x47ac4240) at /home/n00b/B2G/gecko/js/xpconnect/src/XPCWrappedJS.cpp:158 158 MOZ_CRASH(); (gdb) backtrace #0 0x41176524 in nsXPCWrappedJS::AddRef (this=0x47ac4240) at /home/n00b/B2G/gecko/js/xpconnect/src/XPCWrappedJS.cpp:158 #1 0x40c7b99a in nsXPTCStubBase::AddRef (this=<value optimized out>) at /home/n00b/B2G/gecko/xpcom/reflect/xptcall/src/xptcall.cpp:30 #2 0x40c7b97c in nsXPTCStubBase::QueryInterface (this=0x4c3b8310, aIID=..., aInstancePtr=0x4390353c) at /home/n00b/B2G/gecko/xpcom/reflect/xptcall/src/xptcall.cpp:19 #3 0x40c75970 in nsComponentManagerImpl::GetServiceByContractID ( this=0x40424500, aContractID=0x41bf4233 "@mozilla.org/networkstatsServiceProxy;1", aIID=..., result=<value optimized out>) at /home/n00b/B2G/gecko/xpcom/components/nsComponentManager.cpp:1440 #4 0x40c49ac2 in CallGetService ( aContractID=0x41bf4233 "@mozilla.org/networkstatsServiceProxy;1", aIID=..., aResult=0x7b) at /home/n00b/B2G/gecko/xpcom/glue/nsComponentManagerUtils.cpp:64 #5 0x40c49ad8 in nsGetServiceByContractIDWithError::operator() ( this=0x43903568, aIID=..., aInstancePtr=0x47ac4240) at /home/n00b/B2G/gecko/xpcom/glue/nsComponentManagerUtils.cpp:262 #6 0x40c49af6 in nsCOMPtr_base::assign_from_gs_contractid_with_error ( this=0x43903570, gs=<value optimized out>, iid=<value optimized out>) at /home/n00b/B2G/gecko/xpcom/glue/nsCOMPtr.cpp:101 #7 0x40d478fe in nsCOMPtr (this=0x44a90800, enforce=<value optimized out>) ---Type <return> to continue, or q <return> to quit--- at ../../../dist/include/nsCOMPtr.h:628 #8 mozilla::net::WebSocketChannel::SaveNetworkStats (this=0x44a90800, enforce=<value optimized out>) at /home/n00b/B2G/gecko/netwerk/protocol/websocket/WebSocketChannel.cpp:3298 #9 0x40d4ac5c in mozilla::net::WebSocketChannel::CountRecvBytes ( this=0x44a90800, aStream=<value optimized out>) at /home/n00b/B2G/gecko/netwerk/protocol/websocket/WebSocketChannel.h:270 #10 mozilla::net::WebSocketChannel::OnInputStreamReady (this=0x44a90800, aStream=<value optimized out>) at /home/n00b/B2G/gecko/netwerk/protocol/websocket/WebSocketChannel.cpp:3065 #11 0x40c6fbe6 in nsInputStreamReadyEvent::Run (this=0x43be4e80) at /home/n00b/B2G/gecko/xpcom/io/nsStreamUtils.cpp:163 #12 0x40c79e04 in nsThread::ProcessNextEvent (this=0x4041ee20, mayWait=<value optimized out>, result=0x43903e3f) at /home/n00b/B2G/gecko/xpcom/threads/nsThread.cpp:612 #13 0x40c4c274 in NS_ProcessNextEvent (thread=0x43903570, mayWait=true) at /home/n00b/B2G/gecko/xpcom/glue/nsThreadUtils.cpp:263 #14 0x40c9e3b6 in nsSocketTransportService::Run (this=0x40431780) at /home/n00b/B2G/gecko/netwerk/base/src/nsSocketTransportService2.cpp:688 #15 0x40c79e04 in nsThread::ProcessNextEvent (this=0x4041ee20, mayWait=<value optimized out>, result=0x43903eaf) ---Type <return> to continue, or q <return> to quit--- at /home/n00b/B2G/gecko/xpcom/threads/nsThread.cpp:612 #16 0x40c4c274 in NS_ProcessNextEvent (thread=0x4041ee20, mayWait=true) at /home/n00b/B2G/gecko/xpcom/glue/nsThreadUtils.cpp:263 #17 0x40c78706 in nsThread::ThreadFunc (arg=<value optimized out>) at /home/n00b/B2G/gecko/xpcom/threads/nsThread.cpp:246 #18 0x40884e44 in _pt_root (arg=<value optimized out>) at /home/n00b/B2G/gecko/nsprpub/pr/src/pthreads/ptthread.c:205 #19 0x40060114 in __thread_entry (func=0x40884dad <_pt_root>, arg=0x40431800, tls=<value optimized out>) at bionic/libc/bionic/pthread.c:217 #20 0x4005fc68 in pthread_create (thread_out=<value optimized out>, attr=0xbeed7934, start_routine=0x40884dad <_pt_root>, arg=0x40431800) at bionic/libc/bionic/pthread.c:357 #21 0x00000000 in ?? () Expected results: websockets should not segfault b2g
Take it.
Assignee: nobody → jshih
Status: UNCONFIRMED → NEW
Ever confirmed: true
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
Assignee: jshih → nobody
You need to log in before you can comment on or make changes to this bug.