Closed Bug 2477 Opened 26 years ago Closed 26 years ago

problems with form having tables inside tables which contain form elements

Categories

(Core :: Layout: Tables, defect, P3)

x86
Windows NT
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: jty, Assigned: rods)

References

()

Details

Forms which have tables nested in tables containing form elements (afaik <select>), will crash. see http://www.citec.fi/~jty/weirdbug-select-jst-stack.txt for a stack trace.
Assignee: troy → karnaze
Component: Layout → HTMLTables
It may be a parser problem or it may be related to recent changes for scrolling row group frames Stack trace: NTDLL! 77f76148() nsDebug::Assertion(const char * 0x0067a050, const char * 0x0067a034, const char * 0x00679ffc, int 433) line 130 + 13 bytes nsContainerFrame::DeleteChildsNextInFlow(nsIPresContext & {...}, nsIFrame * 0x00fadbe0) line 433 + 34 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x00fadbe0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 380 nsTableFrame::IR_TargetIsChild(nsTableFrame * const 0x00fac220, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, InnerTableReflowState & {...}, unsigned int & 0, nsIFrame * 0x00fadbe0) line 3082 + 34 bytes nsTableFrame::IncrementalReflow(nsTableFrame * const 0x00fac220, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 2676 + 35 bytes nsTableFrame::Reflow(nsTableFrame * const 0x00fac224, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 2346 + 35 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x00fac220, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 363 + 28 bytes nsTableOuterFrame::IR_InnerTableReflow(nsTableOuterFrame * const 0x00fac320, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState & {...}, unsigned int & 0) line 469 + 34 bytes nsTableOuterFrame::IR_TargetIsInnerTableFrame(nsTableOuterFrame * const 0x00fac320, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState & {...}, unsigned int & 0) line 252 + 31 bytes nsTableOuterFrame::IR_TargetIsChild(nsTableOuterFrame * const 0x00fac320, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState & {...}, unsigned int & 0, nsIFrame * 0x00fac220) line 225 + 31 bytes nsTableOuterFrame::IncrementalReflow(nsTableOuterFrame * const 0x00fac320, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState & {...}, unsigned int & 0) line 210 + 35 bytes nsTableOuterFrame::Reflow(nsTableOuterFrame * const 0x00fac324, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 883 + 35 bytes nsBlockReflowContext::ReflowBlock(nsIFrame * 0x00fac320, const nsRect & {x=0 y=0 width=1320 height=705}, int 1, nsMargin & {top=0 right=0 bottom=0 left=0}, unsigned int & 0) line 155 + 39 bytes nsBaseIBFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineBox * 0x00fa76f0, int & 1) line 2126 + 45 bytes nsBaseIBFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x00fa76f0, int & 1) line 1592 + 20 bytes nsBaseIBFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 1328 + 26 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 4868 nsBaseIBFrame::Reflow(nsBaseIBFrame * const 0x00fa7b44, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 803 + 25 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x00fa7b44, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 4501 + 25 bytes nsAreaFrame::Reflow(nsAreaFrame * const 0x00fa7b44, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 436 + 25 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x00fa7b40, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 363 + 28 bytes nsFieldSetFrame::Reflow(nsFieldSetFrame * const 0x00fab1f4, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 333 nsBlockReflowContext::ReflowBlock(nsIFrame * 0x00fab1f0, const nsRect & {x=0 y=0 width=1260 height=1073741824}, int 1, nsMargin & {top=0 right=0 bottom=0 left=0}, unsigned int & 0) line 155 + 39 bytes nsBaseIBFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineBox * 0x00fa7530, int & 1) line 2126 + 45 bytes nsBaseIBFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x00fa7530, int & 1) line 1592 + 20 bytes nsBaseIBFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 1328 + 26 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 4868 nsBaseIBFrame::Reflow(nsBaseIBFrame * const 0x00fabc04, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 803 + 25 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x00fabc04, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 4501 + 25 bytes nsAreaFrame::Reflow(nsAreaFrame * const 0x00fabc04, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 436 + 25 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x00fabc00, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 363 + 28 bytes nsTableCellFrame::Reflow(nsTableCellFrame * const 0x00fabd04, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 428 nsContainerFrame::ReflowChild(nsIFrame * 0x00fabd00, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 363 + 28 bytes nsTableRowFrame::IR_TargetIsChild(nsTableRowFrame * const 0x00faa120, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, RowReflowState & {...}, unsigned int & 0, nsIFrame * 0x00fabd00) line 1274 + 34 bytes nsTableRowFrame::IncrementalReflow(nsTableRowFrame * const 0x00faa120, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, RowReflowState & {...}, unsigned int & 0) line 961 + 35 bytes nsTableRowFrame::Reflow(nsTableRowFrame * const 0x00faa124, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 1416 + 35 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x00faa120, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 363 + 28 bytes nsTableRowGroupFrame::IR_TargetIsChild(nsTableRowGroupFrame * const 0x00faa4a0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, RowGroupReflowState & {...}, unsigned int & 0, nsIFrame * 0x00faa120) line 1321 + 34 bytes nsTableRowGroupFrame::IncrementalReflow(nsTableRowGroupFrame * const 0x00faa4a0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, RowGroupReflowState & {...}, unsigned int & 0) line 1057 + 35 bytes nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x00faa4a4, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 950 + 35 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x00faa4a0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 363 + 28 bytes nsTableFrame::IR_TargetIsChild(nsTableFrame * const 0x00faaaa0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, InnerTableReflowState & {...}, unsigned int & 0, nsIFrame * 0x00faa4a0) line 3082 + 34 bytes nsTableFrame::IncrementalReflow(nsTableFrame * const 0x00faaaa0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 2676 + 35 bytes nsTableFrame::Reflow(nsTableFrame * const 0x00faaaa4, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 2346 + 35 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x00faaaa0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 363 + 28 bytes nsTableOuterFrame::IR_InnerTableReflow(nsTableOuterFrame * const 0x00faaba0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState & {...}, unsigned int & 0) line 469 + 34 bytes nsTableOuterFrame::IR_TargetIsInnerTableFrame(nsTableOuterFrame * const 0x00faaba0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState & {...}, unsigned int & 0) line 252 + 31 bytes nsTableOuterFrame::IR_TargetIsChild(nsTableOuterFrame * const 0x00faaba0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState & {...}, unsigned int & 0, nsIFrame * 0x00faaaa0) line 225 + 31 bytes nsTableOuterFrame::IncrementalReflow(nsTableOuterFrame * const 0x00faaba0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState & {...}, unsigned int & 0) line 210 + 35 bytes nsTableOuterFrame::Reflow(nsTableOuterFrame * const 0x00faaba4, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 883 + 35 bytes nsBlockReflowContext::ReflowBlock(nsIFrame * 0x00faaba0, const nsRect & {x=0 y=0 width=10110 height=1073741824}, int 1, nsMargin & {top=0 right=0 bottom=0 left=0}, unsigned int & 0) line 155 + 39 bytes nsBaseIBFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineBox * 0x00fb07e0, int & 1) line 2126 + 45 bytes nsBaseIBFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x00fb07e0, int & 1) line 1592 + 20 bytes nsBaseIBFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 1328 + 26 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 4868 nsBaseIBFrame::Reflow(nsBaseIBFrame * const 0x00fa7d74, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 1240492) line 803 + 25 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x00fa7d74, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 1240492) line 4501 + 25 bytes nsBlockReflowContext::ReflowBlock(nsIFrame * 0x00fa7d70, const nsRect & {x=0 y=0 width=10350 height=1073741824}, int 1, nsMargin & {top=0 right=0 bottom=0 left=0}, unsigned int & 1240492) line 155 + 39 bytes nsBaseIBFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineBox * 0x00fa7cb0, int & 1) line 2126 + 45 bytes nsBaseIBFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x00fa7cb0, int & 1) line 1592 + 20 bytes nsBaseIBFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 1328 + 26 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 4868 nsBaseIBFrame::Reflow(nsBaseIBFrame * const 0x00fa62a4, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 803 + 25 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x00fa62a4, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 4501 + 25 bytes nsAreaFrame::Reflow(nsAreaFrame * const 0x00fa62a4, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 436 + 25 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x00fa62a0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 363 + 28 bytes nsScrollFrame::Reflow(nsScrollFrame * const 0x00fa6d94, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 344 nsContainerFrame::ReflowChild(nsIFrame * 0x00fa6d90, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 363 + 28 bytes RootFrame::Reflow(RootFrame * const 0x00f9f1b4, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 200 nsHTMLReflowCommand::Dispatch(nsHTMLReflowCommand * const 0x00fb4e90, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsSize & {width=10590 height=8940}, nsIRenderingContext & {...}) line 165 PresShell::ProcessReflowCommands(PresShell * const 0x00f9b070) line 868 PresShell::ExitReflowLock(PresShell * const 0x00f9b070) line 526 PresShell::ContentAppended(PresShell * const 0x00f9b078, nsIDocument * 0x00f597e0, nsIContent * 0x00f9f27c, int 0) line 1021 nsDocument::ContentAppended(nsDocument * const 0x00f597e0, nsIContent * 0x00f9f27c, int 0) line 921 nsHTMLDocument::ContentAppended(nsHTMLDocument * const 0x00f597e0, nsIContent * 0x00f9f27c, int 0) line 537 HTMLContentSink::WillInterrupt(HTMLContentSink * const 0x00f5f590) line 1469 CNavDTD::WillInterruptParse(CNavDTD * const 0x00f9cd80) line 2529 + 18 bytes nsParser::ResumeParse(nsIDTD * 0x00000000) line 682 nsParser::OnDataAvailable(nsParser * const 0x00f5f6a4, nsIURL * 0x00f21030, nsIInputStream * 0x00f20700, unsigned int 385) line 868 + 17 bytes nsDocumentBindInfo::OnDataAvailable(nsDocumentBindInfo * const 0x00f20340, nsIURL * 0x00f21030, nsIInputStream * 0x00f20700, unsigned int 385) line 1705 + 24 bytes OnDataAvailableProxyEvent::HandleEvent(OnDataAvailableProxyEvent * const 0x00f22110) line 625 StreamListenerProxyEvent::HandlePLEvent(PLEvent * 0x00f22114) line 464 + 12 bytes PL_HandleEvent(PLEvent * 0x00f22114) line 395 + 10 bytes PL_ProcessPendingEvents(PLEventQueue * 0x00ecffa0) line 357 + 9 bytes _md_EventReceiverProc(HWND__ * 0x001406a8, unsigned int 49303, unsigned int 0, long 15531936) line 675 + 9 bytes USER32! 77e71250() 00ecffa0()
Status: NEW → ASSIGNED
It doesn't crash, but the <select> in the <label> is not showing up, so I'll leave it open.
Setting all current Open Critical and Major to M3
per leger, assigning QA contacts to all open bugs without QA contacts according to list at http://bugzilla.mozilla.org/describecomponents.cgi?product=Browser
Assignee: karnaze → kmcclusk
Severity: critical → normal
Status: ASSIGNED → NEW
Priority: P2 → P3
Target Milestone: M3 → M4
The select is now showing up (Win32 3/12 debug build). I'm leaving this bug open and reassigning it to Kevin because selecting the label does not cause anything to happen with focus. I'm also downgrading the severity and priority and moving it to M4 because the major problems have been solved.
Status: NEW → ASSIGNED
cc: to cpratt as this bug involves tables and forms.
Target Milestone: M4 → M5
Target Milestone: M5 → M6
Summary: form having tables inside tables which contain form elements cause crash → problems with form having tables inside tables which contain form elements
Target Milestone: M6 → M7
Target Milestone: M7 → M9
jty does not work for Citec anymore so his email might become invalid. I added myself to Cc so that there is someone tracking this bug at Citec as well. I copied his sample HTML file to another location and updated the URL.
Target Milestone: M9 → M10
Moving to M11
QA Contact: chrisd → petersen
Assignee: kmcclusk → rods
Status: ASSIGNED → NEW
Rod - reassigning to you. Please verify the test url against the gfx-rendered combo box.
Status: NEW → ASSIGNED
My part of this is fixed, the drop down of the combobox display correctly. Now the table cell grows with each dropdown click and has been assigned bug #11479
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Forgot to mark it fixed
Status: RESOLVED → VERIFIED
With the August 11 build, the label element is now showing correctly. Marking as verified fixed.
You need to log in before you can comment on or make changes to this bug.