Closed Bug 40087 Opened 24 years ago Closed 24 years ago

Crash when filling out large form

Categories

(Core :: Layout: Form Controls, defect, P3)

x86
Windows NT
defect

Tracking

()

VERIFIED WORKSFORME

People

(Reporter: morse, Assigned: rods)

References

()

Details

(Keywords: crash)

Fill in the form at the URL specified.  Before you get to entering your 
telephone number, the system will crash.  Doesn't always occur at the same place 
on the form but it's always withing a small region on the form.  Also the stack 
trace is not always the same.  Below are two stack traces and you'll see that 
although the tops (lowest level routines) are the same, the bottoms of the stack 
differ.

Not sure who to assign it to, so I'll start with the owner of HTML Form Contols 
and let him reassign it as necessary.

This is a blocker because it affects wallet testing.

__sbh_free_block(tagHeader * 0x00c51efc, void * 0x0386edf0) line 350 + 6 bytes
_realloc_base(void * 0x0386edf0, unsigned int 68) line 101 + 13 bytes
realloc_help(void * 0x0386ee10, unsigned int 32, int 1, const char * 0x00000000, 
int 0, int 1) line 636 + 16 bytes
_realloc_dbg(void * 0x0386ee10, unsigned int 32, int 1, const char * 0x00000000, 
int 0) line 806 + 27 bytes
realloc(void * 0x0386ee10, unsigned int 32) line 755 + 19 bytes
JS_realloc(JSContext * 0x038592f0, void * 0x0386ee10, unsigned int 32) line 1018 
+ 14 bytes
js_AllocSlot(JSContext * 0x038592f0, JSObject * 0x0262b080, unsigned long * 
0x0012e344) line 1524 + 20 bytes
js_NewScopeProperty(JSContext * 0x038592f0, JSScope * 0x0386f090, long 13747408, 
int (JSContext *, JSObject *, long, long *)* 0x0028123a _JS_PropertyStub, int 
(JSContext *, JSObject *, long, long *)* 0x0028123a _JS_PropertyStub, unsigned 
int 1) line 477 + 20 bytes
js_DefineProperty(JSContext * 0x038592f0, JSObject * 0x0262b080, long 13747408, 
long 40022164, int (JSContext *, JSObject *, long, long *)* 0x0028123a 
_JS_PropertyStub, int (JSContext *, JSObject *, long, long *)* 0x0028123a 
_JS_PropertyStub, unsigned int 1, JSProperty * * 0x00000000) line 1684 + 29 
bytes
DefineProperty(JSContext * 0x038592f0, JSObject * 0x0262b080, const char * 
0x0030fc34 _js_name_str, long 40022164, int (JSContext *, JSObject *, long, long 
*)* 0x00000000, int (JSContext *, JSObject *, long, long *)* 0x00000000, 
unsigned int 1, JSProperty * * 0x00000000) line 1502 + 43 bytes
JS_DefineProperty(JSContext * 0x038592f0, JSObject * 0x0262b080, const char * 
0x0030fc34 _js_name_str, long 40022164, int (JSContext *, JSObject *, long, long 
*)* 0x00000000, int (JSContext *, JSObject *, long, long *)* 0x00000000, 
unsigned int 1) line 1607 + 35 bytes
js_InitExceptionClasses(JSContext * 0x038592f0, JSObject * 0x0262aa50) line 501 
+ 35 bytes
JS_InitStandardClasses(JSContext * 0x038592f0, JSObject * 0x0262aa50) line 990 + 
189 bytes
nsJSContext::InitContext(nsJSContext * const 0x03859480, nsIScriptGlobalObject * 
0x038594e0) line 871 + 30 bytes
NS_CreateScriptContext(nsIScriptGlobalObject * 0x038594e0, nsIScriptContext * * 
0x0385a370) line 1269
nsDocShell::EnsureScriptEnvironment(nsDocShell * const 0x0385a2c0) line 3109 + 
50 bytes
nsDocShell::GetScriptGlobalObject(nsDocShell * const 0x0385a2e8, 
nsIScriptGlobalObject * * 0x0012e62c) line 1956 + 19 bytes
DocumentViewerImpl::Init(DocumentViewerImpl * const 0x03859f30, nsIWidget * 
0x0385a0f4, nsIDeviceContext * 0x03858050, const nsRect & {...}) line 518 + 56 
bytes
nsDocShell::SetupNewViewer(nsDocShell * const 0x0385a2c0, nsIContentViewer * 
0x03859f30) line 2267 + 66 bytes
nsWebShell::SetupNewViewer(nsWebShell * const 0x0385a2c0, nsIContentViewer * 
0x03859f30) line 559 + 13 bytes
nsWebShell::SetDocument(nsWebShell * const 0x0385a2c0, nsIDOMDocument * 
0x038588b4, nsIDOMElement * 0x038583d0) line 1660 + 24 bytes
nsGfxTextControlFrame::CreateSubDoc(nsRect * 0x00000000) line 1433 + 59 bytes
nsGfxTextControlFrame::EnsureEditor(nsGfxTextControlFrame * const 0x0255cda8) 
line 778 + 16 bytes
nsGfxTextControlFrame::SetFocus(int 1, int 1) line 1846 + 19 bytes
nsHTMLInputElement::HandleDOMEvent(nsHTMLInputElement * const 0x02f0c66c, 
nsIPresContext * 0x02dbec00, nsEvent * 0x0012ee98, nsIDOMEvent * * 0x00000000, 
unsigned int 1, nsEventStatus * 0x0012eebc) line 743
nsEventStateManager::SendFocusBlur(nsEventStateManager * const 0x02eacae0, 
nsIPresContext * 0x02dbec00, nsIContent * 0x02f0c66c) line 2316
nsEventStateManager::SetContentState(nsEventStateManager * const 0x02eacae8, 
nsIContent * 0x02f0c66c, int 2) line 2125
nsHTMLInputElement::SetFocus(nsHTMLInputElement * const 0x02f0c66c, 
nsIPresContext * 0x02dbec00) line 641
nsEventStateManager::ChangeFocus(nsIContent * 0x02f0c66c, nsIFrame * 0x0255cda8, 
int 1) line 1729
nsEventStateManager::ShiftFocus(int 1) line 1802
nsEventStateManager::PostHandleEvent(nsEventStateManager * const 0x02eacae8, 
nsIPresContext * 0x02dbec00, nsEvent * 0x0012f240, nsIFrame * 0x0255c9f8, 
nsEventStatus * 0x0012f234, nsIView * 0x0384e040) line 968
nsEnderEventListener::DispatchKeyEvent(nsIDOMKeyEvent * 0x03858d40, int 131) 
line 4078 + 63 bytes
nsEnderEventListener::KeyPress(nsIDOMEvent * 0x03858d44) line 4156 + 25 bytes
nsEventListenerManager::HandleEvent(nsIPresContext * 0x03802dd0, nsEvent * 
0x0012f8b4, nsIDOMEvent * * 0x0012f5e8, nsIDOMEventTarget * 0x03801ac8, unsigned 
int 2, nsEventStatus * 0x0012f820) line 1076 + 23 bytes
nsDocument::HandleDOMEvent(nsDocument * const 0x03801aa0, nsIPresContext * 
0x03802dd0, nsEvent * 0x0012f8b4, nsIDOMEvent * * 0x0012f5e8, unsigned int 2, 
nsEventStatus * 0x0012f820) line 2668
nsGenericElement::HandleDOMEvent(nsIPresContext * 0x03802dd0, nsEvent * 
0x0012f8b4, nsIDOMEvent * * 0x0012f5e8, unsigned int 2, nsEventStatus * 
0x0012f820) line 1336 + 39 bytes
nsHTMLHtmlElement::HandleDOMEvent(nsHTMLHtmlElement * const 0x038015c8, 
nsIPresContext * 0x03802dd0, nsEvent * 0x0012f8b4, nsIDOMEvent * * 0x0012f5e8, 
unsigned int 2, nsEventStatus * 0x0012f820) line 187
nsGenericElement::HandleDOMEvent(nsIPresContext * 0x03802dd0, nsEvent * 
0x0012f8b4, nsIDOMEvent * * 0x0012f5e8, unsigned int 2, nsEventStatus * 
0x0012f820) line 1329 + 39 bytes
nsHTMLBodyElement::HandleDOMEvent(nsHTMLBodyElement * const 0x038013d8, 
nsIPresContext * 0x03802dd0, nsEvent * 0x0012f8b4, nsIDOMEvent * * 0x0012f5e8, 
unsigned int 2, nsEventStatus * 0x0012f820) line 868
nsGenericDOMDataNode::HandleDOMEvent(nsIPresContext * 0x03802dd0, nsEvent * 
0x0012f8b4, nsIDOMEvent * * 0x0012f5e8, unsigned int 1, nsEventStatus * 
0x0012f820) line 785 + 39 bytes
nsTextNode::HandleDOMEvent(nsTextNode * const 0x03854888, nsIPresContext * 
0x03802dd0, nsEvent * 0x0012f8b4, nsIDOMEvent * * 0x00000000, unsigned int 1, 
nsEventStatus * 0x0012f820) line 235
PresShell::HandleEventInternal(nsEvent * 0x0012f8b4, nsIView * 0x0384f830, 
nsEventStatus * 0x0012f820) line 3605 + 39 bytes
PresShell::HandleEvent(PresShell * const 0x03834a84, nsIView * 0x0384f830, 
nsGUIEvent * 0x0012f8b4, nsEventStatus * 0x0012f820, int & 1) line 3534 + 23 
bytes
nsView::HandleEvent(nsView * const 0x0384f830, nsGUIEvent * 0x0012f8b4, unsigned 
int 8, nsEventStatus * 0x0012f820, int & 1) line 774
nsView::HandleEvent(nsView * const 0x0384e040, nsGUIEvent * 0x0012f8b4, unsigned 
int 8, nsEventStatus * 0x0012f820, int & 1) line 747
nsView::HandleEvent(nsView * const 0x03833040, nsGUIEvent * 0x0012f8b4, unsigned 
int 28, nsEventStatus * 0x0012f820, int & 1) line 747
nsViewManager2::DispatchEvent(nsViewManager2 * const 0x03833220, nsGUIEvent * 
0x0012f8b4, nsEventStatus * 0x0012f820) line 1369
HandleEvent(nsGUIEvent * 0x0012f8b4) line 69
nsWindow::DispatchEvent(nsWindow * const 0x0384fef4, nsGUIEvent * 0x0012f8b4, 
nsEventStatus & nsEventStatus_eIgnore) line 560 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f8b4) line 581
nsWindow::DispatchKeyEvent(unsigned int 131, unsigned short 0, unsigned int 9) 
line 2127 + 15 bytes
nsWindow::OnChar(unsigned int 9, unsigned int 9, unsigned char 0) line 2243
nsWindow::ProcessMessage(unsigned int 258, unsigned int 9, long 983041, long * 
0x0012fc24) line 2677 + 33 bytes
nsWindow::WindowProc(HWND__ * 0x01600af0, unsigned int 258, unsigned int 9, long 
983041) line 829 + 27 bytes
USER32! 77e71268()

+++++++++++++++++++++++++++++

_sbh_free_block(tagHeader * 0x00c51efc, void * 0x03867e60) line 350 + 6 bytes
_realloc_base(void * 0x03867e60, unsigned int 596) line 101 + 13 bytes
realloc_help(void * 0x03867e80, unsigned int 560, int 1, const char * 
0x00000000, int 0, int 1) line 636 + 16 bytes
_realloc_dbg(void * 0x03867e80, unsigned int 560, int 1, const char * 
0x00000000, int 0) line 806 + 27 bytes
realloc(void * 0x03867e80, unsigned int 560) line 755 + 19 bytes
JS_realloc(JSContext * 0x03862230, void * 0x03867e80, unsigned int 560) line 
1018 + 14 bytes
js_AllocSlot(JSContext * 0x03862230, JSObject * 0x0262cb70, unsigned long * 
0x0012eb9c) line 1524 + 20 bytes
js_NewScopeProperty(JSContext * 0x03862230, JSScope * 0x03862170, long 13792592, 
int (JSContext *, JSObject *, long, long *)* 0x0049dc10 
GetWindowProperty(JSContext *, JSObject *, long, long *), int (JSContext *, 
JSObject *, long, long *)* 0x0049ebf0 SetWindowProperty(JSContext *, JSObject *, 
long, long *), unsigned int 0) line 477 + 20 bytes
js_DefineProperty(JSContext * 0x03862230, JSObject * 0x0262cb70, long 13792592, 
long 40029960, int (JSContext *, JSObject *, long, long *)* 0x0049dc10 
GetWindowProperty(JSContext *, JSObject *, long, long *), int (JSContext *, 
JSObject *, long, long *)* 0x0049ebf0 SetWindowProperty(JSContext *, JSObject *, 
long, long *), unsigned int 0, JSProperty * * 0x00000000) line 1684 + 29 byt
js_DefineFunction(JSContext * 0x03862230, JSObject * 0x0262cb70, JSAtom * 
0x00d27550, int (JSContext *, JSObject *, unsigned int, long *, long *)* 
0x002c7bbe num_isFinite(JSContext *, JSObject *, unsigned int, long *, long *), 
unsigned int 1, unsigned int 0) line 1684 + 40 bytes
JS_DefineFunction(JSContext * 0x03862230, JSObject * 0x0262cb70, const char * 
0x0031a440, int (JSContext *, JSObject *, unsigned int, long *, long *)* 
0x002c7bbe num_isFinite(JSContext *, JSObject *, unsigned int, long *, long *), 
unsigned int 1, unsigned int 0) line 2245 + 29 bytes
JS_DefineFunctions(JSContext * 0x03862230, JSObject * 0x0262cb70, JSFunctionSpec 
* 0x0031a2fc) line 2227 + 44 bytes
js_InitNumberClass(JSContext * 0x03862230, JSObject * 0x0262cb70) line 457 + 18 
bytes
JS_InitStandardClasses(JSContext * 0x03862230, JSObject * 0x0262cb70) line 990 + 
109 bytes
nsJSContext::InitContext(nsJSContext * const 0x038623c0, nsIScriptGlobalObject * 
0x03862420) line 871 + 30 bytes
NS_CreateScriptContext(nsIScriptGlobalObject * 0x03862420, nsIScriptContext * * 
0x03861f60) line 1269
nsDocShell::EnsureScriptEnvironment(nsDocShell * const 0x03861eb0) line 3109 + 
50 bytes
nsDocShell::GetScriptGlobalObject(nsDocShell * const 0x03861ed8, 
nsIScriptGlobalObject * * 0x0012ee6c) line 1956 + 19 bytes
DocumentViewerImpl::Init(DocumentViewerImpl * const 0x03862f30, nsIWidget * 
0x03861ce4, nsIDeviceContext * 0x03862e70, const nsRect & {...}) line 518 + 56 
bytes
nsDocShell::SetupNewViewer(nsDocShell * const 0x03861eb0, nsIContentViewer * 
0x03862f30) line 2267 + 66 bytes
nsWebShell::SetupNewViewer(nsWebShell * const 0x03861eb0, nsIContentViewer * 
0x03862f30) line 559 + 13 bytes
nsWebShell::SetDocument(nsWebShell * const 0x03861eb0, nsIDOMDocument * 
0x03861804, nsIDOMElement * 0x03861320) line 1660 + 24 bytes
nsGfxTextControlFrame::CreateSubDoc(nsRect * 0x00000000) line 1433 + 59 bytes
nsGfxTextControlFrame::HandleEvent(nsGfxTextControlFrame * const 0x025b4cf8, 
nsIPresContext * 0x03161200, nsGUIEvent * 0x0012f8c0, nsEventStatus * 
0x0012f7b0) line 886 + 16 bytes
PresShell::HandleEventInternal(nsEvent * 0x0012f8c0, nsIView * 0x02e0eb60, 
nsEventStatus * 0x0012f7b0) line 3614 + 38 bytes
PresShell::HandleEvent(PresShell * const 0x02debcb4, nsIView * 0x02e0eb60, 
nsGUIEvent * 0x0012f8c0, nsEventStatus * 0x0012f7b0, int & 1) line 3534 + 23 
bytes
nsView::HandleEvent(nsView * const 0x02e0eb60, nsGUIEvent * 0x0012f8c0, unsigned 
int 8, nsEventStatus * 0x0012f7b0, int & 1) line 774
nsView::HandleEvent(nsView * const 0x02e0d3a0, nsGUIEvent * 0x0012f8c0, unsigned 
int 8, nsEventStatus * 0x0012f7b0, int & 1) line 747
nsView::HandleEvent(nsView * const 0x02dea320, nsGUIEvent * 0x0012f8c0, unsigned 
int 28, nsEventStatus * 0x0012f7b0, int & 1) line 747
nsViewManager2::DispatchEvent(nsViewManager2 * const 0x02dea500, nsGUIEvent * 
0x0012f8c0, nsEventStatus * 0x0012f7b0) line 1369
HandleEvent(nsGUIEvent * 0x0012f8c0) line 69
nsWindow::DispatchEvent(nsWindow * const 0x02e0d274, nsGUIEvent * 0x0012f8c0, 
nsEventStatus & nsEventStatus_eIgnore) line 560 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f8c0) line 581
nsWindow::DispatchMouseEvent(unsigned int 302, nsPoint * 0x00000000) line 3673 + 
21 bytes
ChildWindow::DispatchMouseEvent(unsigned int 302, nsPoint * 0x00000000) line 
3880
nsWindow::ProcessMessage(unsigned int 513, unsigned int 1, long 4260092, long * 
0x0012fc24) line 2780 + 24 bytes
nsWindow::WindowProc(HWND__ * 0x00570b76, unsigned int 513, unsigned int 1, long 
4260092) line 829 + 27 bytes
USER32! 77e71268()
MOZILLA! struct nsID  `nsCOMTypeInfo<class nsISupports>::GetIID(void)'::`2'::iid 
+ 36 bytes
Keywords: nsbeta2
I think the URL is wrong.  Shouldn't it be http:
//people.netscape.com/morse/wallet/samples/INTERVIEW.HTML ?  The given URL is
404 Not Found.

At any rate I couldn't reproduce this problem on i686-pc-linux-gnu Build
2000052109.  I filled out every applicable field on the form all the way to the
bottom and submitted it.  It didn't crash.  There is an obvious O(n^2)
performance problem when submitting large forms, but that's a different bug.
perhaps this crash bug is platform-specific.
Yes, URL was wrong.  I just corrected it.  (Actually the one I used is on 
mozilla and is at http://www.mozilla.org/wallet/samples/INTERVIEW.HTM and it's 
what you get when you do tasks->privacy->form-manager->interview but that 
shouldn't make a difference.)

When I ran it before I got four successive crashes in a row -- two of which I 
posted in the bug report.  After reading Baker's comment I tried it again.  Same 
build as before.  And this time I got through the entire form without a crash.  
What can I say?  So I'll close it out as works-for-me but there obviously is 
some demon lurking here.

BTW, I'm running on a win32 box.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → WORKSFORME
Adding crash keyword
Keywords: crash
Marking VERIFIED FIXED on:
- MacOS9 2000-07-18-10-M17 Commercial
- Linux6 2000-07-19-10-M17 Commercial
- Win98  2000-07-19-11-M17 Commercial
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.