Closed Bug 5125 Opened 26 years ago Closed 25 years ago

[BLOCKER] Pages containing OPTGROUP elements hang the viewer

Categories

(Core :: DOM: HTML Parser, defect, P3)

defect

Tracking

()

VERIFIED FIXED

People

(Reporter: kmcclusk, Assigned: kmcclusk)

References

()

Details

(Whiteboard: tried on MacPPC and Win98 with 5/3/99 build - still broken...)

Rick, it Looks like a parser bug. If a page contains a OPTGROUP element the viewer becomes unresponsive. Tried both WIN32 and Linux. Breaking into the debugger shows the following trace in Linux: #0 0x40544274 in CNavDTD::CanContain (this=0x81b3d80, aParent=75, aChild=75) at CNavDTD.cpp:1617 #1 0x4054436e in CNavDTD::CanPropagate (this=0x81b3d80, aParentTag=eHTMLTag_optgroup, aChildTag=eHTMLTag_optgroup) at CNavDTD.cpp:1642 #2 0x40542cfc in CNavDTD::HandleDefaultStartToken (this=0x81b3d80, aToken=0x81917e8, aChildTag=eHTMLTag_optgroup, aNode=@0xbfffec9c) at CNavDTD.cpp:953 #3 0x405435e3 in CNavDTD::HandleStartToken (this=0x81b3d80, aToken=0x81917e8) at CNavDTD.cpp:1181 #4 0x405418dd in NavDispatchTokenHandler (aToken=0x81917e8, aDTD=0x81b3d80) at CNavDTD.cpp:243 #5 0x40552164 in CTokenHandler::operator() (this=0x82066e0, aToken=0x81917e8, aDTD=0x81b3d80) at nsTokenHandler.cpp:80 #6 0x405425a1 in CNavDTD::HandleToken (this=0x81b3d80, aToken=0x81917e8, aParser=0x82062c0) at CNavDTD.cpp:633 #7 0x405421ba in CNavDTD::BuildModel (this=0x81b3d80, aParser=0x82062c0, aTokenizer=0x81ff3e8, anObserver=0x0, aSink=0x8206348) at CNavDTD.cpp:501 #8 0x4054f823 in nsParser::BuildModel (this=0x82062c0) at nsParser.cpp:847 #9 0x4054f710 in nsParser::ResumeParse (this=0x82062c0, aDefaultDTD=0x0) at nsParser.cpp:799 #10 0x4054fc62 in nsParser::OnDataAvailable (this=0x82062c0, aURL=0x8184ac0, pIStream=0x8186168, aLength=868) at nsParser.cpp:1011 #11 0x4002640f in nsDocumentBindInfo::OnDataAvailable (this=0x819be80, aURL=0x8184ac0, aStream=0x8186168, aLength=868) at nsDocLoader.cpp:1960 #12 0x406b5077 in stub_put_block (stream=0x8186140, buffer=0x8185d38 "<HTML>\n <HEAD>\n <TITLE>Optgroup example</TITLE>\n </HEAD>\n <BODY>\n Test.\n <FORM action=\"http://somesite.com/prog/someprog\" method=\"post\">\n <P>\n <SELECT name=\"ComOS\">\n In Select.\n <OPTGROUP"..., length=868) at nsStubContext.cpp:807 #13 0x4068e340 in net_MemCacheWrite (stream=0x81b2de8, buffer=0x8185d38 "<HTML>\n <HEAD>\n <TITLE>Optgroup example</TITLE>\n </HEAD>\n <BODY>\n Test.\n <FORM action=\"http://somesite.com/prog/someprog\" method=\"post\">\n <P>\n <SELECT name=\"ComOS\">\n In Select.\n <OPTGROUP"..., len=868) at mkmemcac.c:660 #14 0x4066623e in net_finish_setup_http_stream (ce=0x8184da8) at mkhttp.c:2955 #15 0x406659bc in net_setup_http_stream (ce=0x8184da8) at mkhttp.c:2645 #16 0x40667189 in net_ProcessHTTP (ce=0x8184da8) at mkhttp.c:3551 #17 0x406d88fe in NET_ProcessNet (ready_fd=0x8184e90, fd_type=2) at mkgeturl.c:3359 #18 0x406e0a01 in NET_PollSockets () at mkselect.c:320 #19 0x406ae3d2 in nsNetlibService::NetPollSocketsCallback (aTimer=0x81f69d0, aClosure=0x816a370) at nsNetService.cpp:1277 #20 0x40521025 in TimerImpl::FireTimeout (this=0x81f69d0) at nsTimer.cpp:73 #21 0x40521512 in nsTimerExpired (aCallData=0x81f69d0) at nsTimer.cpp:189 #22 0x40ab6243 in g_timeout_dispatch (source_data=0x81f8fe0, #23 0x40ab5576 in g_main_dispatch (current_time=0xbffff828) at gmain.c:644 #24 0x40ab5ab1 in g_main_iterate (block=1, dispatch=1) at gmain.c:851 #25 0x40ab5c29 in g_main_run (loop=0x817deb8) at gmain.c:909 #26 0x409d9065 in gtk_main () at gtkmain.c:507 #27 0x400547cc in nsAppShell::Run (this=0x8078648) at nsAppShell.cpp:208 #28 0x8052f12 in nsNativeViewerApp::Run (this=0x8070138) at nsGTKMain.cpp:42 #29 0x8053120 in main (argc=1, argv=0xbffff904) at nsGTKMain.cpp:97 #30 0x40c15c77 in __libc_start_main (main=0x80530a4 <main>, argc=1, argv=0xbffff904, init=0x80521fc <_init>, fini=0x8066eb8 <_fini>, rtld_fini=0x40009f30 <_dl_fini>, stack_end=0xbffff8fc) at ../sysdeps/generic/libc-start.c:78
This is working now in my tree; You'll get the fix with my next checkin.
Whiteboard: tried on MacPPC and Win98 with 5/3/99 build - still broken...
Status: NEW → ASSIGNED
Target Milestone: M6
Severity: major → normal
Optgroup do close correctly, but this particular url still causes the viewer to hang. I tried it on both the 5-10-99 viewer build on Linux and WIN32. Rick's next check in should fix the problem.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Fixed in 5-17-99 4:00pm build. It no longer hangs the viewer when loading on WIN32. Marking it as fixed.
Status: RESOLVED → VERIFIED
verified 1999-06-15-16-M7
You need to log in before you can comment on or make changes to this bug.