Closed Bug 3346 Opened 26 years ago Closed 25 years ago

optimized build creates wrong content model, debug build ok

Categories

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

x86
Windows NT
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: buster, Assigned: rickg)

References

()

Details

There is a critical error in either the parser or the content sink in optimized builds (on WinNT at least.) Debug build works fine on WinNT. NOTE 1: To enable "dump content" in an optimized build, you need to remove the #ifdef NS_DEBUG from viewer.rc to get the debug menu, and then you need to #define NS_DEBUG at the top of nsBrowserWindow.cpp to get debug menu handling code. NOTE 2: If you change the test case, the error disappears. For example, if you remove the outermost table, the page content will be correct. This seems very odd. Test case: <html><body> <table border=1 bgcolor=red><TR><TD> <table border=1 bgcolor=lightblue><TR><TD> <table border=1 bgcolor=lightgreen><TR><TD> <table border=1 bgcolor=pink><TR><TD> <table border=1 bgcolor=orange><TR><TD> <table border=1 bgcolor=red><TR><TD> <table border=1 bgcolor=lightblue> <TR> <TD>A</TD> <TD COLSPAN=2 ROWSPAN=2> <table border=3 bgcolor=lightgreen> <TR> <TD>1</TD> <TD>2</TD> </TR> <TR> <TD>3</TD> </TR> </table> </TD> </TR> </table> </TD></TR></table> </TD></TR></table> </TD></TR></table> </TD></TR></table> </TD></TR></table> </TD></TR></table> </body> </html> Output of dump content in optimized build: Going to create the event queue Reading file... Reading file...Done webshell=00675960 html refcount=3< head refcount=2< > body refcount=3< Text refcount=3<\n\n> table border=1 bgcolor=red refcount=6< tbody refcount=3< tr refcount=3< td refcount=4< Text refcount=3<\n > table border=1 bgcolor=lightblue refcount=6< tbody refcount=3< tr refcount=3< td refcount=4< Text refcount=3<\n > table border=1 bgcolor=lightgreen refcount=6< tbody refcount=3< tr refcount=3< td refcount=4< Text refcount=3<\n > table border=1 bgcolor=pink refcount=6< tbody refcount=3< tr refcount=3< td refcount=4< Text refcount=3<\n > table border=1 bgcolor=orange refcount=6< tbody refcount=3< tr refcount=3< td refcount=4< Text refcount=3<\n > table border=1 bgcolor=red refcount=6< tbody refcount=3< tr refcount=3< td refcount=4< Text refcount=3<\n \n > table border=1 bgcolor=lightblue refcount=9< tbody refcount=3< tr refcount=3< td refcount=4< Text refcount=3<A> > td colspan=2 rowspan=2 refcount=4< Text refcount=3<\n > table border=3 bgcolor=lightgreen refcount=6< tbody refcount=3< tr refcount=3< td refcount=4< Text refcount=3<1> > > > > > td refcount=4< Text refcount=3<2> > > tr refcount=3< td refcount=4< Text refcount=3<3> > > > > Text refcount=3<\n > > > > > Text refcount=3<\n\n > > > > > Text refcount=3<\n > > > > > Text refcount=3<\n > > > > > Text refcount=3<\n > > > > > Text refcount=3<\n > > > > > Text refcount=3<\n\n\n\n\n\n> > >
Status: NEW → ASSIGNED
turned on CRC for both debug and optimized builds. (latest code 3/1/99 3:00pm) ran sample 6 (not just the test case.) both builds fail, but I suspect that's because the CRC in the sample file is stale. More importantly, the CRC's don't match. optimized: CRC Computed: 777673570 Expected CRC: 1567940029 debug: CRC Computed: 2964726701 Expected CRC: 1567940029 So it's almost certainly a parser bug, not a content sink bug. I suggest you consider upgrading this to "critical" because it could be indicative of something severe. My guess is an uninitialized variable.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
I've ignored this long enough that the problem went away. I'm planning to use this strategy for all my bugs now. : ) Seriously though -- the optimized output given and the output from viewer are identical. Please retest.
Whiteboard: 6/21 Awaiting response from buster to my email question
Whiteboard: 6/21 Awaiting response from buster to my email question → 6/21 Forwarded info request to Rick G.
Whiteboard: 6/21 Forwarded info request to Rick G. → 7/9 Need to get a debug build to test. Will do monday.
Whiteboard: 7/9 Need to get a debug build to test. Will do monday.
I've not seen this problem in a long time, and the error would be very obvious to any user who viewed sample 6. Jan, you should go ahead and mark this verified.
Status: RESOLVED → VERIFIED
Thanks Steve!
You need to log in before you can comment on or make changes to this bug.