Closed
Bug 581279
Opened 15 years ago
Closed 15 years ago
Crash [@ NS_LogCOMPtrAddRef_P] when going back to previous page
Categories
(Core :: DOM: Core & HTML, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 559200
People
(Reporter: jdm, Assigned: jdm)
References
Details
Attachments
(3 files)
This is a fennec crash I found while playing around and is completely reproducible for me.
STR:
* http://www.reddit.com/r/programming/search?q=ssh
* click on "Useful things you can make SSH do"
* press escape
* crash hard with attached stack
Seen in the console before the child process crashes:
###!!! ASSERTION: Got data on wrong stream.: 'mRequest == aRequest', file /home/t_mattjo/src/firefox/mobilebase/parser/html/nsHtml5StreamParser.cpp, line 719
###!!! ASSERTION: DoDataAvailable called when stream not open.: 'STREAM_BEING_READ == mStreamState', file /home/t_mattjo/src/firefox/mobilebase/parser/html/nsHtml5StreamParser.cpp, line 657
###!!! ASSERTION: Got data on wrong stream.: 'mRequest == aRequest', file /home/t_mattjo/src/firefox/mobilebase/parser/html/nsHtml5StreamParser.cpp, line 719
###!!! ASSERTION: Got data on wrong stream.: 'mRequest == aRequest', file /home/t_mattjo/src/firefox/mobilebase/parser/html/nsHtml5StreamParser.cpp, line 719
###!!! ASSERTION: Got Stop on wrong stream.: 'mRequest == aRequest', file /home/t_mattjo/src/firefox/mobilebase/parser/html/nsHtml5StreamParser.cpp, line 640
The channel in the stack is really weird - it's dead and shouldn't exist in IPDL's eyes to receive messages. The necko child is corrupted and brings down gdb if I try to output it. Something is really screwy here.
I'm not convinced this is an HTTP channel bug by any means, but it's a good place to start.
Assignee | ||
Comment 1•15 years ago
|
||
I caught it under valgrind. Looks like something funky is going on with the parser.
Assignee: nobody → josh
Assignee | ||
Comment 2•15 years ago
|
||
Also see this assertion after the stream ones:
###!!! ASSERTION: DoContent returned no listener?: 'abort || m_targetStreamListener', file /home/t_mattjo/src/firefox/mobilebase/uriloader/base/nsURILoader.cpp, line 776
Assignee | ||
Comment 3•15 years ago
|
||
Something's very wrong here. I got this:
==18128==
==18128== More than 10000000 total errors detected. I'm not reporting any more.
==18128== Final error counts will be inaccurate. Go fix your program!
==18128== Rerun with --error-limit=no to disable this cutoff. Note
==18128== that errors may occur in your program without prior warning from
==18128== Valgrind, because errors are no longer being displayed.
==18128==
and the summary of the child process:
==18128==
==18128== For counts of detected and suppressed errors, rerun with: -v
==18128== ERROR SUMMARY: 10000000 errors from 2 contexts (suppressed: 136 from 11)
But I only saw the ones posted so far.
Assignee | ||
Comment 4•15 years ago
|
||
All the valgrind errors point to the parser at this point, so I'm switching the component.
Assignee: josh → nobody
Component: Networking: HTTP → HTML: Parser
QA Contact: networking.http → parser
Assignee | ||
Comment 5•15 years ago
|
||
I've done some more analysis. This looks like the same issue as bug 559200, but now we've got nsXMLHttpRequest::Send processing events so the parser ends up having OnDataAvailable being called before OnStartRequest finishes.
Component: HTML: Parser → DOM
QA Contact: parser → general
Assignee | ||
Comment 6•15 years ago
|
||
Here's the stack that shows the problem. In frame 40, the HttpChannelChild receives an OnStartRequest and triggers the corresponding listener. This ends up firing an event which executes a JS script (http://mediacdn.disqus.com/1047/javascript/httpjson.js) which fires off a sync XMLHttpRequest, which ends up firing the OnDataAvailable event for the original HttpChannel before OnStartRequest has finished.
Assignee: nobody → josh
Comment 7•15 years ago
|
||
Going to be fixed by necko IPDL buffering.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → DUPLICATE
Assignee | ||
Updated•15 years ago
|
tracking-fennec: ? → ---
Updated•6 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•