Closed Bug 458206 Opened 11 years ago Closed 11 years ago

Abort @ ~nsXMLHttpRequest

Categories

(Core :: DOM: Core & HTML, defect)

x86
Linux
defect
Not set

Tracking

()

VERIFIED FIXED

People

(Reporter: smaug, Unassigned)

References

Details

Attachments

(1 file)

When I run mochitest on debug/x86_64 linux, I get an Abort. This happens when
mochitest is running content/base tests and CC runs.
#0  0x00000032d7097581 in nanosleep () from /lib64/libc.so.6
#1  0x00000032d70973a4 in sleep () from /lib64/libc.so.6
#2  0x00002aaaaaaf4c69 in ah_crap_handler (signum=6)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/toolkit/xre/nsSigHandlers.cpp:149
#3  0x00002aaaaaaf5828 in nsProfileLock::FatalSignalHandler (signo=6) at nsProfileLock.cpp:216
#4  <signal handler called>
#5  0x00000032d70305c5 in raise () from /lib64/libc.so.6
#6  0x00000032d7032070 in abort () from /lib64/libc.so.6
#7  0x00002aaaab8fbdb7 in PR_Abort () at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/nsprpub/pr/src/io/prlog.c:531
#8  0x00002aaaab280017 in NS_DebugBreak_P (aSeverity=3, aStr=<value optimized out>, 
    aExpr=0x2aaab0d77ad5 "!(mState & XML_HTTP_REQUEST_SYNCLOOPING)", 
    aFile=0x2aaab0d77130 "/home/smaug/mozilla/mozilla_cvs/hg/mozilla/content/base/src/nsXMLHttpRequest.cpp", aLine=1055)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/xpcom/base/nsDebugImpl.cpp:372
#9  0x00002aaab099ee25 in ~nsXMLHttpRequest (this=0x2c04750)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/content/base/src/nsXMLHttpRequest.cpp:1055
#10 0x00002aaab099630a in nsXHREventTarget::Release (this=0x2c04750)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/content/base/src/nsXMLHttpRequest.cpp:576
#11 0x00002aaab099634b in nsXMLHttpRequest::Release (this=0x6cc3)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/content/base/src/nsXMLHttpRequest.cpp:1215
#12 0x00002aaab020e2ec in XPCJSRuntime::GCCallback (cx=0xee0cf0, status=JSGC_END)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/js/src/xpconnect/src/xpcjsruntime.cpp:818
#13 0x00002aaab0ae5eb9 in DOMGCCallback (cx=0x6cc3, status=JSGC_END)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/dom/src/base/nsJSEnvironment.cpp:3582
#14 0x00002aaab01ee783 in XPCCycleCollectGCCallback (cx=0xee0cf0, status=JSGC_END)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/js/src/xpconnect/src/nsXPConnect.cpp:459
#15 0x00002aaaaad59b4d in js_GC (cx=0xee0cf0, gckind=GC_NORMAL)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/js/src/jsgc.cpp:3734
#16 0x00002aaab01efa6f in nsXPConnect::Collect (this=0x76ce00)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/js/src/xpconnect/src/nsXPConnect.cpp:530
#17 0x00002aaaab285669 in nsCycleCollector::Collect (this=0x2aaab01ac010, aTryCollections=1)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/xpcom/base/nsCycleCollector.cpp:2256
#18 0x00002aaab0ae5fe3 in nsJSContext::CC ()
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/dom/src/base/nsJSEnvironment.cpp:3411
#19 0x00002aaab07602be in DocumentViewerImpl::LoadComplete (this=0x2ad4d10, aStatus=0)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/layout/base/nsDocumentViewer.cpp:1023
#20 0x00002aaab286bffa in nsDocShell::EndPageLoad (this=0x214a220, aProgress=<value optimized out>, aChannel=0x1bdc860, 
    aStatus=0) at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/docshell/base/nsDocShell.cpp:5164
#21 0x00002aaab2882223 in nsWebShell::EndPageLoad (this=0x214a220, aProgress=0x214a248, channel=0x1bdc860, aStatus=0)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/docshell/base/nsWebShell.cpp:1013
#22 0x00002aaab286e2f4 in nsDocShell::OnStateChange (this=0x214a220, aProgress=0x214a248, aRequest=0x1bdc860, 
    aStateFlags=<value optimized out>, aStatus=0)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/docshell/base/nsDocShell.cpp:5069
#23 0x00002aaab2890bee in nsDocLoader::FireOnStateChange (this=0x214a220, aProgress=0x214a248, aRequest=0x1bdc860, 
    aStateFlags=131088, aStatus=0) at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/uriloader/base/nsDocLoader.cpp:1235
#24 0x00002aaab2890ece in nsDocLoader::doStopDocumentLoad (this=0x214a220, request=0x1bdc860, aStatus=0)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/uriloader/base/nsDocLoader.cpp:858
#25 0x00002aaab2891ae2 in nsDocLoader::DocLoaderIsEmpty (this=0x214a220)
    at /home/smaug/mozilla/mozilla_cvs/hg/mozilla/uriloader/base/nsDocLoader.cpp:763

I think the problem is that nsXMLHttpRequest::Send sets XML_HTTP_REQUEST_SYNCLOOPING flag before testing that all those XS checks
are ok.
Attached patch untested patchSplinter Review
forgot to say that in the log there were things like:
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file /home/smaug/mozilla/mozilla_cvs/hg/mozilla/content/base/src/nsCrossSiteListenerProxy.cpp, line 224
WARNING: NS_ENSURE_TRUE(httpChannel) failed: file /home/smaug/mozilla/mozilla_cvs/hg/mozilla/content/base/src/nsXMLHttpRequest.cpp, line 2592
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file /home/smaug/mozilla/mozilla_cvs/hg/mozilla/content/base/src/nsCrossSiteListenerProxy.cpp, line 224
Comment on attachment 341442 [details] [diff] [review]
untested patch

At least I can run the tests with this.
Attachment #341442 - Flags: superreview?(jonas)
Attachment #341442 - Flags: review?(jonas)
Blocks: xxx
Comment on attachment 341442 [details] [diff] [review]
untested patch

Who wrote this code?

Yes, this seems like a good change no matter what.
Attachment #341442 - Flags: superreview?(jonas)
Attachment #341442 - Flags: superreview+
Attachment #341442 - Flags: review?(jonas)
Attachment #341442 - Flags: review+
Btw, it is expected to get lots of warnings from the tests that test when access is denied.
Duplicate of this bug: 458951
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: blocking1.9.1?
Resolution: --- → FIXED
verified on a Ubuntu 8.04 build pulled Oct 8 9:30AM PDT.
Status: RESOLVED → VERIFIED
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.