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.