Closed Bug 72026 Opened 24 years ago Closed 24 years ago

Going to a non existant ftp file causes crash/infinite assersions

Categories

(Core :: Networking: FTP, defect)

x86
Linux
defect
Not set
critical

Tracking

()

VERIFIED DUPLICATE of bug 66330

People

(Reporter: bbaetz, Assigned: dougt)

References

()

Details

(Keywords: crash, Whiteboard: critical for 0.8.1)

Going to a non-existant ftp file causes either: an infinite number of ###!!! ASSERTION: Infinite loop: can't advance a reading iterator beyond the end of a string: 'one_hop>0', file ../../dist/include/nsAReadableString.h, line 217###!!! Break: at file ../../dist/include/nsAReadableString.h, line 217 or a single assertion followed by a crash. ###!!! ASSERTION: Infinite loop: can't advance a reading iterator beyond the end of a string: 'one_hop>0', file ../../dist/include/nsAReadableString.h, line 217###!!! Break: at file ../../dist/include/nsAReadableString.h, line 217 Program received signal SIGSEGV, Segmentation fault. 0x40110e28 in Distance (aStart=@0x871930c, aEnd=@0x87192f8) at ../../dist/include/nsAReadableString.h:472 472 mPosition = mFragment.mStart; (gdb) bt #0 0x40110e28 in Distance (aStart=@0x871930c, aEnd=@0x87192f8) at ../../dist/include/nsAReadableString.h:472 #1 0x40c3a6dd in nsScanner::RewindToMark (this=0x87192f0) at nsScanner.cpp:230 #2 0x40c37628 in nsParser::Tokenize (this=0x86ff0a0, aIsFinalChunk=0) at nsParser.cpp:2469 #3 0x40c369c0 in nsParser::ResumeParse (this=0x86ff0a0, allowIteration=1, aIsFinalChunk=0) at nsParser.cpp:1908 #4 0x40c3740c in nsParser::OnDataAvailable (this=0x86ff0a0, request=0x8718f48, aContext=0x0, pIStream=0x8672498, sourceOffset=0, aLength=0) at nsParser.cpp:2358 #5 0x40c94a37 in ?? () from /home/bbaetz/src/mozilla/dist/bin/components/liburiloader.so #6 0x40affc87 in nsUnknownDecoder::FireListenerNotifications (this=0x8686830, request=0x8718f48, aCtxt=0x0) at ../../../dist/include/nsCOMPtr.h:648 #7 0x40aff247 in nsUnknownDecoder::OnStopRequest (this=0x8686830, request=0x8718f48, aCtxt=0x0, aStatus=2147500037, aStatusArg=0x4014d69c) at nsUnknownDecoder.cpp:225 #8 0x40c94aa0 in ?? () from /home/bbaetz/src/mozilla/dist/bin/components/liburiloader.so #9 0x41d16ce8 in nsFTPChannel::OnStopRequest (this=0x8718f48, request=0x8475348, aContext=0x0, aStatus=2147500037, aStatusArg=0x4014d69c) at ../../../../dist/include/nsCOMPtr.h:647 #10 0x41d1763f in DataRequestForwarder::OnStopRequest (this=0x8475348, ---Type <return> to continue, or q <return> to quit---q request=0Quit ) at ../../../../dist/include/nsCOMPtr.h:648 #11 0x40ad2241 in nsOnStopRequestEvent::HandleEvent (this=0x86c71c8) at ../../../dist/include/nsCOMPtr.h:648 #12 0x40ad1c75 in nsStreamObserverEvent::HandlePLEvent (aEvent=0x86c71c8) at nsStreamObserverProxy.cpp:78 #13 0x400e365f in PL_HandleEvent (self=0x86c71c8) at plevent.c:586 #14 0x400e34bf in PL_ProcessPendingEvents (self=0x80a21e0) at plevent.c:516 #15 0x400e544a in nsEventQueueImpl::ProcessPendingEvents (this=0x80a21b8) at nsEventQueue.cpp:361 #16 0x40647c12 in ?? () from /home/bbaetz/src/mozilla/dist/bin/components/libwidget_gtk.so #17 0x40647874 in ?? () from /home/bbaetz/src/mozilla/dist/bin/components/libwidget_gtk.so #18 0x4080a1a0 in ?? () from /usr/lib/libglib-1.2.so.0 #19 0x4080b987 in ?? () from /usr/lib/libglib-1.2.so.0 #20 0x4080c001 in ?? () from /usr/lib/libglib-1.2.so.0 #21 0x4080c1cc in ?? () from /usr/lib/libglib-1.2.so.0 #22 0x40725f87 in ?? () from /usr/lib/libgtk-1.2.so.0 #23 0x40648771 in ?? () from /home/bbaetz/src/mozilla/dist/bin/components/libwidget_gtk.so #24 0x404848ad in ?? () from /home/bbaetz/src/mozilla/dist/bin/components/libnsappshell.so #25 0x080512be in main1 (argc=1, argv=0xbffff734, nativeApp=0x0) ---Type <return> to continue, or q <return> to quit--- at ../../dist/include/nsCOMPtr.h:648 #26 0x08051f45 in main (argc=1, argv=0xbffff734) at nsAppRunner.cpp:1298 #27 0x402d4f31 in __libc_start_main (main=0x8051db4 <main>, argc=1, ubp_av=0xbffff734, init=0x804aef4 <_init>, fini=0x805ab7c <_fini>, rtld_fini=0x4000e274 <_dl_fini>, stack_end=0xbffff72c) at ../sysdeps/generic/libc-start.c:129 Getting this stack trace took several tries - under the debugger I usually just got the infinite assertions. Occasionally you just get the blank blue screen like you normally do for a missing ftp file - just shift reload a couple of times. dougt - FTP gets this because TestProtocols gives: Finished loading: ftp://localhost/asda Status Code: 80004005 Read: 0 bytes. Time to connect: 0.494 seconds Time to read: 0.002 seconds. Throughput: 0 bps. Finished loading: ftp://localhost/asda Status Code: 804b0002 Read: 0 bytes. Time to connect: 0.494 seconds Time to read: 984614738.150 seconds. Throughput: 0 bps. Yes, thats _TWO_ finished loading bits, which I think means that something has serious problems somewhere. (I have an ftp server on localhost - ftp to an invalid domain doesn't crash) I don't get a crash from TestProtocols though. I've locally backed out my nsDirectoryViewer changes, to no affect. I can't get any breakpoints to trigger in the dirviewer - I don't think it gets that far.
Nominating for 0.8.1 - we can't crash on a typo/bad link/etc - I asked how to do this: <timeless> bbaetz add critical for 0.8.1 to the status whiteboard. if drivers disagree at most they'll yell and remove it so don't yell too loudly :)
Keywords: crash, mozilla0.8.1
Whiteboard: critical for 0.8.1
walk84 doesn't see this on a windows build from 3-4 days ago
Marking as a dup. The dup is schedule to be fixed for 0.9. *** This bug has been marked as a duplicate of 66330 ***
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
verified dup.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.