Closed Bug 1368809 Opened 7 years ago Closed 7 years ago

Assertion in nsHttpChannel::OnStopRequest when RCWN is enabled

Categories

(Core :: Networking: Cache, defect)

defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: michal, Assigned: michal)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Program received signal SIGSEGV, Segmentation fault. 0xedfea23f in mozilla::net::nsHttpChannel::OnStopRequest (this=0xbaae3000, request=0x9d913c00, ctxt=0x0, status=nsresult::NS_OK) at /opt/moz/hg-inbound-2/netwerk/protocol/http/nsHttpChannel.cpp:7122 7122 MOZ_ASSERT(request != mTransactionPump, (gdb) p request $1 = (nsIRequest *) 0x9d913c00 (gdb) p mTransactionPump $2 = {mRawPtr = 0x0} (gdb) bt 10 #0 0xffffffff in mozilla::net::nsHttpChannel::OnStopRequest(nsIRequest*, nsISupports*, nsresult) (this=0xbaae3000, request=0x9d913c00, ctxt=0x0, status=nsresult::NS_OK) at /opt/moz/hg-inbound-2/netwerk/protocol/http/nsHttpChannel.cpp:7122 #1 0xffffffff in nsInputStreamPump::OnStateStop() (this=0x9d913c00) at /opt/moz/hg-inbound-2/netwerk/base/nsInputStreamPump.cpp:734 #2 0xffffffff in nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) (this=0x9d913c00, stream=0x9d93d6f0) at /opt/moz/hg-inbound-2/netwerk/base/nsInputStreamPump.cpp:448 #3 0xffffffff in nsInputStreamReadyEvent::Run() (this=0xb0977790) at /opt/moz/hg-inbound-2/xpcom/io/nsStreamUtils.cpp:96 #4 0xffffffff in nsThread::ProcessNextEvent(bool, bool*) (this=0xf351e140, aMayWait=false, aResult=0xffd5f8df) at /opt/moz/hg-inbound-2/xpcom/threads/nsThread.cpp:1322 #5 0xffffffff in NS_ProcessNextEvent(nsIThread*, bool) (aThread=0xf351e140, aMayWait=false) at /opt/moz/hg-inbound-2/xpcom/threads/nsThreadUtils.cpp:472 #6 0xffffffff in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) (this=0xf71f32e0, aDelegate=0xf7137440) at /opt/moz/hg-inbound-2/ipc/glue/MessagePump.cpp:96 #7 0xffffffff in MessageLoop::RunInternal() (this=0xf7137440) at /opt/moz/hg-inbound-2/ipc/chromium/src/base/message_loop.cc:238 #8 0xffffffff in MessageLoop::Run() (this=0xf7137440) at /opt/moz/hg-inbound-2/ipc/chromium/src/base/message_loop.cc:231 #9 0xffffffff in MessageLoop::Run() (this=0xf7137440) at /opt/moz/hg-inbound-2/ipc/chromium/src/base/message_loop.cc:211 #10 0xffffffff in nsBaseAppShell::Run() (this=0xea9e3470) at /opt/moz/hg-inbound-2/widget/nsBaseAppShell.cpp:156
This looks strange: (gdb) l 7122 7117 status = mStatus; 7118 7119 if (mCachedContentIsPartial) { 7120 if (NS_SUCCEEDED(status)) { 7121 // mTransactionPump should be suspended 7122 MOZ_ASSERT(request != mTransactionPump, 7123 "byte-range transaction finished prematurely"); 7124 7125 if (request == mCachePump) { 7126 bool streamDone; (gdb) p mCachedContentIsPartial $8 = 0
Attached file log
The cache entry was still being written when nsHttpChannel::OnCacheEntryCheck was called and mCachedContentIsPartial was not set there, it should be really false, so I have no idea why the if-block was entered. I'll try to catch it in rr. Valentin, do you see anything suspicious in the log?
Flags: needinfo?(valentin.gosu)
The backtrace is incorrect. I got the same wrong backtrace in bug 1370400. The process asserts earlier, but gdb stops a bit later on an assertion in a block that couldn't be entered.
Status: NEW → RESOLVED
Closed: 7 years ago
Flags: needinfo?(valentin.gosu)
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: