Closed Bug 71498 Opened 24 years ago Closed 23 years ago

M092 Trunk crash [@ Distance - nsScanner::RewindToMark] Unknown Content Type transfers

Categories

(Core :: Networking, defect)

defect
Not set
critical

Tracking

()

VERIFIED FIXED
mozilla0.9.1

People

(Reporter: jay, Assigned: mscott)

References

()

Details

(Keywords: crash, topcrash)

Crash Data

Attachments

(3 files)

Talkback is reporting a crash for Mozilla 0.8 (M08) on Linux with the same stack trace as the one posted on 2/27 in bug 70172 (a mail/news bug). Wasn't sure it was the same crash, so logging new bug. Here is the latest stack trace from talkback and some talkback entries with user comment/urls: Distance() nsScanner::RewindToMark() nsParser::Tokenize() nsParser::ResumeParse() nsParser::OnDataAvailable() nsDocumentOpenInfo::OnDataAvailable() nsUnknownDecoder::FireListenerNotifications() nsUnknownDecoder::OnStopRequest() nsDocumentOpenInfo::OnStopRequest() nsHTTPFinalListener::OnStopRequest() nsHTTPChannel::ResponseCompleted() nsHTTPServerListener::OnStopRequest() nsOnStopRequestEvent::HandleEvent() nsStreamObserverEvent::HandlePLEvent() PL_HandleEvent() PL_ProcessPendingEvents() nsEventQueueImpl::ProcessPendingEvents() event_processor_callback() our_gdk_io_invoke() libglib-1.2.so.0 + 0xebf0 (0x40654bf0) libglib-1.2.so.0 + 0x102b9 (0x406562b9) libglib-1.2.so.0 + 0x108c3 (0x406568c3) libglib-1.2.so.0 + 0x10a5c (0x40656a5c) libgtk-1.2.so.0 + 0x8e457 (0x40578457) nsAppShell::Run() nsAppShellService::Run() main1() main() libc.so.6 + 0x1cf5c (0x4024af5c) Distance() 4678fc77 line Build: 2001021504 CrashDate: 2001-02-23 UptimeMinutes: 268 Total: 268 OS: Linux 2.2.16-22 URL: Comment: Clicking on a link to download a source RPM from rpmfind Detailed : http://cyclone/reports/incidenttemplate.cfm?bbid=26804770 StackTrace: http://cyclone/reports/stackcommentemail.cfm?dynamicBBID=26804770 Distance() 4afcb53e line Build: 2001021504 CrashDate: 2001-02-27 UptimeMinutes: 333 Total: 419 OS: Linux 2.2.16-SMP URL: Comment: open ftp server (sunsite) Detailed : http://cyclone/reports/incidenttemplate.cfm?bbid=26992618 StackTrace: http://cyclone/reports/stackcommentemail.cfm?dynamicBBID=26992618 Distance() 12d82955 line Build: 2001021504 CrashDate: 2001-02-27 UptimeMinutes: 152 Total: 152 OS: Linux 2.2.14-5.0 URL: Comment: downloading kernel rpm from redhat (ftp transaction) Detailed : http://cyclone/reports/incidenttemplate.cfm?bbid=27003025 StackTrace: http://cyclone/reports/stackcommentemail.cfm?dynamicBBID=27003025 Distance() 91848784 line Build: 2001021504 CrashDate: 2001-02-27 UptimeMinutes: 4216 Total: 6216 OS: Linux 2.4.1 URL: ftp://ftp.uk.linux.org/pub/linux/linux2.2/ (or somewhere similar!) Comment: Attempting to ftp-transfer the 2.2.18 linux kernel (linux-2.2.18.tar.bz2) Detailed : http://cyclone/reports/incidenttemplate.cfm?bbid=27003141 StackTrace: http://cyclone/reports/stackcommentemail.cfm?dynamicBBID=27003141 Distance() 2bafcb0d line Build: 2001021504 CrashDate: 2001-02-27 UptimeMinutes: 24 Total: 24 OS: Linux 2.2.14-5.0 URL: ftp://ftp.redhat.com/cant_quite_remember_the_rest Comment: I pasted an URL into the URL box. Mozilla had failed on a few previous attempt to download via ftp Detailed : http://cyclone/reports/incidenttemplate.cfm?bbid=27006068 StackTrace: http://cyclone/reports/stackcommentemail.cfm?dynamicBBID=27006068 Distance() 3fbc10d3 line Build: 2001021504 CrashDate: 2001-03-03 UptimeMinutes: 19054 Total: 19054 OS: Linux 2.2.16-22 URL: was testing a servlet that does not yet provide a response object on localhost Comment: was testing a servlet that does not yet provide a response object on localhost:8080with tomcat 3.21 Detailed : http://cyclone/reports/incidenttemplate.cfm?bbid=27230221 StackTrace: http://cyclone/reports/stackcommentemail.cfm?dynamicBBID=27230221 Distance() 252e0a55 line Build: 2001021504 CrashDate: 2001-03-04 UptimeMinutes: 2139 Total: 2139 OS: Linux 2.2.16 URL: http://web.syr.edu/~dbgrandi/delz/linux.htm Comment: clicked on this link w/in above document before page was fully loaded:ftp://ftp.rge.com/pub/linux/sunsite/docs/HOWTO/UPS-HOWTO Detailed : http://cyclone/reports/incidenttemplate.cfm?bbid=27264262 StackTrace: http://cyclone/reports/stackcommentemail.cfm?dynamicBBID=27264262 Distance() 5551e9b7 line Build: 2001021504 CrashDate: 2001-03-04 UptimeMinutes: 196 Total: 308 OS: Linux 2.4.2 URL: www.enlightenment.org Comment: tried to access the ftp link Detailed : http://cyclone/reports/incidenttemplate.cfm?bbid=27289152 StackTrace: http://cyclone/reports/stackcommentemail.cfm?dynamicBBID=27289152 Distance() 568630ef line Build: 2001021504 CrashDate: 2001-03-05 UptimeMinutes: 4569 Total: 4569 OS: Linux 2.2.16-22 URL: ftp://ftp.redhat.com/pub/redhat/redhat-7.0/i387/RedHat/RPMS/vim-enhanced-5.7-6.i 386.rpm Comment: Just clicked on link to download enhanced vim rpm Detailed : http://cyclone/reports/incidenttemplate.cfm?bbid=27322797 StackTrace: http://cyclone/reports/stackcommentemail.cfm?dynamicBBID=27322797
Adding crash, topcrash keywords, M08 and [@ Distance - nsScanner::RewindToMark] for tracking.
Keywords: crash, topcrash
Summary: M08 crash downloading via ftp [@ Distance - nsScanner::RewindToMark] → M08 crash [@ Distance - nsScanner::RewindToMark] ftp transfer from ftp.redhat.com
Adjusting summary. Basically, what the traced are telling me is that the nsUnknownDecoder is feeding data to the parser which it does not like. This is not a FTP specific problem as 27230221 has a stack that looks like: Incident ID 27230221 Distance() nsScanner::RewindToMark() nsParser::Tokenize() nsParser::ResumeParse() nsParser::OnDataAvailable() nsDocumentOpenInfo::OnDataAvailable() nsUnknownDecoder::FireListenerNotifications() nsUnknownDecoder::OnStopRequest() nsDocumentOpenInfo::OnStopRequest() nsHTTPFinalListener::OnStopRequest() InterceptStreamListener::OnStopRequest() nsHTTPChannel::ResponseCompleted() nsHTTPServerListener::OnStopRequest() nsOnStopRequestEvent::HandleEvent() nsStreamObserverEvent::HandlePLEvent() PL_HandleEvent() PL_ProcessPendingEvents() nsEventQueueImpl::ProcessPendingEvents() event_processor_callback() our_gdk_io_invoke() libglib-1.2.so.0 + 0x101a0 (0x4068b1a0) libglib-1.2.so.0 + 0x11987 (0x4068c987) libglib-1.2.so.0 + 0x12001 (0x4068d001) libglib-1.2.so.0 + 0x121cc (0x4068d1cc) libgtk-1.2.so.0 + 0x93f87 (0x405a6f87) nsAppShell::Run() nsAppShellService::Run() main1() main() libc.so.6 + 0x1bf31 (0x40253f31)
Summary: M08 crash [@ Distance - nsScanner::RewindToMark] ftp transfer from ftp.redhat.com → M08 crash [@ Distance - nsScanner::RewindToMark] Unknown Content Type transfers
Target Milestone: --- → mozilla0.9
Scott, unix-only unknown content type crasher... do you have any bugs that sound link this?
I reported a similar crash as bug 68910, which has a little info from gdb.
the unknown content decoder is firing an OnDataAvailable when there isn't any data. This causes the parser to read from an empty stream. It barfs in this case. The stream converter shouldn't be firing an oda when there isn't data, but the parser should be happy with this condition. I will attach a diff to fix the stream converter. Jud, can you r= this?
if nsUnknownDecoder::OnDataAvailable() gets called, then that call should be propegated. nsUnknownDecoder is just an intermediary. Should we burying the protocol level OnDataAvailable() if there's no data?
actually not. the firing on OnDataAvailable can come during an OnStopRequest() if the content type is unknown.
gotcha. r=valeski
sr=darin
Fix checked in.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
I've just attached a better patch that avoids an assertion in the failure case where OnStopRequest(...) is called with an NS_ERROR status code... When this happens, (len == mBufferLen == 0) which caused an ASSERT saying "Unable to write all the data into the pipe." In addition to fixing the assert problem, it also addresses bug #37001. Here, the stack was blowing out because the UnknownDecoder was being recursively created ! The problem was that the call to nsIChannel::SetContentType() was failing, but the return code was not being checked... This caused the URILoader's OnStartRequest() to get called with the content-type of the channel still being application/x-unknown-content... So, another UnknownDecoder would be created to sniff out the content :-( Of course, the fix is to check the return code and fail if the content-type cannot be set. I believe that this has become more of a problem recently because the SetContentType() implementation in nsHTTPChannel has been rewritten.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
I'll take this one :-)
Assignee: dougt → rpotts
Status: REOPENED → NEW
Blocks: 37001
Target Milestone: mozilla0.9 → mozilla0.9.1
patch checked in.
Status: NEW → RESOLVED
Closed: 24 years ago24 years ago
Resolution: --- → FIXED
VERIFIED on branch 2001060713 linux build. Leaving as resolved until the other platforms are checked.
Reopening. Talkback reports are showing this one again in M092 and Trunk data. No instances yet in N610 but until it goes public we have relatively little data coming in on it. M092 Comments: (33565690) Comments: I was trying to view the source of a mail message that I had opened in its own window. (33516764) Comments: trying to view a message that i send myself UTF-8 encodedwith mozilla containing AOUuoa?? and EURO symbols (33403829) Comments: in Mozilla mail 0.92 I tried to open an attatchment & it crashed (33270430) Comments: Opening an attachment (33220949) Comments: again tried to open an attachment - but a different one attached to the same mail Trunk: First Appearance Date : 2001-07-23 Last Appearance Date : 2001-07-30 First Build ID : 2001072221 Latest Build ID : 2001072408 (33312775) Comments: Viewing the 2nd attachment in an email message - this had a zero size I've emailed one crasher (33220949) who offered to send his mail in hopes of getting repro steps. If he sends anything back I will attach it. Updating summary to M092 and Trunk.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Summary: M08 crash [@ Distance - nsScanner::RewindToMark] Unknown Content Type transfers → M092 Trunk crash [@ Distance - nsScanner::RewindToMark] Unknown Content Type transfers
Is there a new stack trace available with the 092 talkback incidences?
Here is a recent stack from the M092 build: Incident ID 33270430 Stack Signature Distance() 926efaa1 Bug ID Trigger Time 2001-07-24 04:57:08 User Comments Opening an attachment Build ID 2001062823 Product ID Netscape6.10 Platform ID LinuxIntel Stack Trace Distance() nsScanner::RewindToMark() nsParser::Tokenize() nsParser::ResumeParse() nsParser::OnDataAvailable() nsDocumentOpenInfo::OnDataAvailable() nsMimeBaseEmitter::Complete() nsStreamConverter::OnStopRequest() nsImapCacheStreamListener::OnStopRequest() Process() OnDataAvailable() XPTC_InvokeByIndex() EventHandler() PL_HandleEvent() PL_ProcessPendingEvents() nsEventQueueImpl::ProcessPendingEvents() event_processor_callback() our_gdk_io_invoke() libglib-1.2.so.0 + 0x1001e (0x4036901e) libglib-1.2.so.0 + 0x117f3 (0x4036a7f3) libglib-1.2.so.0 + 0x11dd9 (0x4036add9) libglib-1.2.so.0 + 0x11f8c (0x4036af8c) libgtk-1.2.so.0 + 0x94803 (0x4027f803) nsAppShell::Run() nsAppShellService::Run() main1() main() libc.so.6 + 0x1c177 (0x404ad177) and from the MozillaTrunk: Incident ID 33312775 Stack Signature Distance() 1009b3e7 Bug ID Trigger Time 2001-07-25 02:44:26 User Comments Viewing the 2nd attachment in an email message - this had a zero size Build ID 2001072408 Product ID MozillaTrunk Platform ID LinuxIntel Stack Trace Distance() nsScanner::RewindToMark() nsParser::Tokenize() nsParser::ResumeParse() nsParser::OnDataAvailable() nsDocumentOpenInfo::OnDataAvailable() nsMimeBaseEmitter::Complete() nsStreamConverter::OnStopRequest() nsMsgProtocol::OnStopRequest() nsMailboxProtocol::OnStopRequest() nsOnStopRequestEvent::HandleEvent() nsARequestObserverEvent::HandlePLEvent() PL_HandleEvent() PL_ProcessPendingEvents() nsEventQueueImpl::ProcessPendingEvents() event_processor_callback() our_gdk_io_invoke() libglib-1.2.so.0 + 0xe52a (0x4034952a) libglib-1.2.so.0 + 0xfbe6 (0x4034abe6) libglib-1.2.so.0 + 0x101a1 (0x4034b1a1) libglib-1.2.so.0 + 0x10341 (0x4034b341) libgtk-1.2.so.0 + 0x8c209 (0x40271209) nsAppShell::Run() nsAppShellService::Run() main1() main() libc.so.6 + 0x189cb (0x404439cb)
It looks like this is a slightly different bug. This time the UnknownDecoder is not on the stack... It looks like this time it is nsStreamConverter (in mail/news) which is calling OnDataAvailable(...) with an empty input stream :-( take a look at: http://lxr.mozilla.org/mozilla/source/mailnews/mime/emitters/src/nsMimeBaseEmitter.cpp#855 it looks Available(...) could be returning 0, but we still call ODA(...).
-> mscott. hey scott, i don't know who should own this one :-) it looks like nsBaseMimeEmitter::Complete(...) is calling OnDataAvailable(...) with an empty stream... -- rick
Assignee: rpotts → mscott
Status: REOPENED → NEW
*** Bug 89606 has been marked as a duplicate of this bug. ***
Changing component this is happening on many diffenent network connections and OS/platforms as per bug 89606
Component: Networking: FTP → Networking
OS: Linux → All
Hardware: PC → All
This stack sig is not showing up in any of the trunk, M092, or M094 topcrash reports.
marking fixt.
Status: NEW → RESOLVED
Closed: 24 years ago23 years ago
Resolution: --- → FIXED
Verifying fixed. There are a few incidents with the Distance stack signature, but the stack is missing the nsUnknownDecoder lines...
Status: RESOLVED → VERIFIED
*** Bug 81426 has been marked as a duplicate of this bug. ***
Crash Signature: [@ Distance - nsScanner::RewindToMark]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: