Random crashes in g_print/fputs



Core Graveyard
Embedding: GTK Widget
17 years ago
6 years ago


(Reporter: Andreas J. Koenig, Assigned: Stuart Parmenter)




Firefox Tracking Flags

(Not tracked)




17 years ago
Mozilla built from CVS'd source and a few nightlies alike.
Reproducible: always

My bugreport 57638 was the first try and it started out misleading. Now I know
it has nothing to do with profile migration. I have crashes with and without
profile migration, with self-compiled builds and with downloaded nightlies.
There is a possible similarity with bug 46643 and the next thing I'll try is to
upgrade to gtk 1.2.8 as recommended in 46643. I currently have only two Linux
boxes and the one runs reliable and the other one crashes. Both systems are
hardly different RedHat 6.2 systems, not completely in sync.

There is one stack trace I produced for bug report 57638 and here is another one
produced today:

Program received signal SIGSEGV, Segmentation fault.
0x403c3a92 in _IO_fputs (
    str=0x41eed508 "nsWidget::~nsWidget() of toplevel: 118 widgets still exist.\
n", fp=0x4045f940) at iofputs.c:39
39      iofputs.c: No such file or directory.
Current language:  auto; currently c
(gdb) bt
#0  0x403c3a92 in _IO_fputs (
    str=0x41eed508 "nsWidget::~nsWidget() of toplevel: 118 widgets still exist.\
n", fp=0x4045f940) at iofputs.c:39
#1  0x40996834 in g_print (
    format=0x40830100 "nsWidget::~nsWidget() of toplevel: %d widgets still exist
.\n") at gmessages.c:660
#2  0x407f0dae in nsWidget::~nsWidget (this=0x42d89bd0, __in_chrg=3)
    at nsWidget.cpp:341
#3  0x407f86ea in nsWindow::~nsWindow (this=0x42d89bd0, __in_chrg=3)
    at nsWindow.cpp:206
#4  0x40804df2 in nsBaseWidget::Release (this=0x42d89bd0)
    at nsBaseWidget.cpp:45
#5  0x407f0f5e in nsWidget::Release (this=0x42d89bd0) at nsWidget.cpp:352
#6  0x407f847e in nsWindow::Release (this=0x42d89bd0) at nsWindow.cpp:134
#7  0x4078315c in nsCOMPtr<nsIWidget>::~nsCOMPtr (this=0xbfffdacc, __in_chrg=2)
    at ../../../dist/include/nsCOMPtr.h:489
#8  0x4075c6d0 in nsXULWindow::ShowModal (this=0x42d89ac8)
    at nsXULWindow.cpp:250
#9  0x40767a5e in nsWebShellWindow::ShowModal (this=0x42d89ac8)
    at nsWebShellWindow.cpp:1110
#10 0x40758539 in nsChromeTreeOwner::ShowModal (this=0x42d8c410)
    at nsChromeTreeOwner.cpp:181
#11 0x40567d8e in GlobalWindowImpl::OpenInternal (this=0x41e055f8, 
    cx=0x41e05818, argv=0x42d89ea0, argc=4, aDialog=1, aReturn=0xbfffe06c)
    at nsGlobalWindow.cpp:3122
#12 0x40561dc1 in GlobalWindowImpl::OpenDialog (this=0x41e055f8, 
    cx=0x41e05818, argv=0x42d89ea0, argc=4, aReturn=0xbfffe06c)
    at nsGlobalWindow.cpp:2069
#13 0x40774604 in nsCommonDialogs::DoDialog (this=0x4249f320, 
    inParent=0x41e055fc, ioParamBlock=0x42d882d0, 
    inChromeURL=0x4079ab80 "chrome://global/content/commonDialog.xul")
    at nsCommonDialogs.cpp:453
#14 0x4077360d in nsCommonDialogs::ConfirmCheck (this=0x4249f320, 
    inParent=0x41e055fc, inWindowTitle=0xbfffe458, inMsg=0x42d88e88, 
    inCheckMsg=0xbfffe328, outCheckValue=0xbfffe274, _retval=0xbfffe530)
    at nsCommonDialogs.cpp:160
#15 0x4076a12f in nsDOMWindowPrompter::ConfirmCheck (this=0x4249f350, 
    dialogTitle=0xbfffe458, text=0x42d88e88, checkMsg=0xbfffe328, 
    checkValue=0xbfffe274, _retval=0xbfffe530) at nsWebShellWindow.cpp:1932
#16 0x41d80c0c in nsSingleSignOnPrompt::ConfirmCheck (this=0x4249f508, 
    dialogTitle=0xbfffe458, text=0x42d88e88, checkMsg=0xbfffe328, 
    checkValue=0xbfffe274, _retval=0xbfffe530) at nsWalletService.cpp:481
#17 0x4115a00a in nsSecureBrowserUIImpl::CheckPost (this=0x420a35b8, 
    actionURL=0x42b8b6d8, okayToPost=0xbfffe530)
    at nsSecureBrowserUIImpl.cpp:815
#18 0x41157611 in nsSecureBrowserUIImpl::Notify (this=0x420a35b8, 
    formNode=0x422ee124, window=0x424f8f84, actionURL=0x42b8b6d8, 
    cancelSubmit=0xbfffe7b8) at nsSecureBrowserUIImpl.cpp:275
#19 0x4163eafd in nsFormFrame::OnSubmit (this=0x429d1a5c, 
    aPresContext=0x422ddc48, aFrame=0x42bcb19c) at nsFormFrame.cpp:870
#20 0x416529ef in nsHTMLButtonControlFrame::MouseClicked (this=0x42bcb19c, 
    aPresContext=0x422ddc48) at nsHTMLButtonControlFrame.cpp:344
#21 0x415921db in nsHTMLInputElement::HandleDOMEvent (this=0x42b91e60, 
    aPresContext=0x422ddc48, aEvent=0xbfffee2c, aDOMEvent=0x0, aFlags=1, 
    aEventStatus=0xbffff360) at nsHTMLInputElement.cpp:1030
#22 0x4151a027 in PresShell::HandleEventInternal (this=0x424eb730, 
    aEvent=0xbfffee2c, aView=0x0, aFlags=1, aStatus=0xbffff360)
    at nsPresShell.cpp:4876
#23 0x41519f00 in PresShell::HandleEventWithTarget (this=0x424eb730, 
    aEvent=0xbfffee2c, aFrame=0x42bcb19c, aContent=0x42b91e6c, aFlags=1, 
    aStatus=0xbffff360) at nsPresShell.cpp:4857
#24 0x414b19f1 in nsEventStateManager::CheckForAndDispatchClick (
    this=0x426f6808, aPresContext=0x422ddc48, aEvent=0xbffff464, 
    aStatus=0xbffff360) at nsEventStateManager.cpp:1839
#25 0x414aed29 in nsEventStateManager::PostHandleEvent (this=0x426f6808, 
    aPresContext=0x422ddc48, aEvent=0xbffff464, aTargetFrame=0x42bcb19c, 
    aStatus=0xbffff360, aView=0x422e2c80) at nsEventStateManager.cpp:901
#26 0x4151a18c in PresShell::HandleEventInternal (this=0x424eb730, 
    aEvent=0xbffff464, aView=0x422e2c80, aFlags=1, aStatus=0xbffff360)
    at nsPresShell.cpp:4896
#27 0x41519c3a in PresShell::HandleEvent (this=0x424eb730, aView=0x422e2c80, 
    aEvent=0xbffff464, aEventStatus=0xbffff360, aForceHandle=0, 
    aHandled=@0xbffff304) at nsPresShell.cpp:4811
#28 0x41dca60b in nsView::HandleEvent (this=0x422e2c80, event=0xbffff464, 
    aEventFlags=8, aStatus=0xbffff360, aForceHandle=0, aHandled=@0xbffff304)
    at nsView.cpp:366
#29 0x41dca592 in nsView::HandleEvent (this=0x424089b8, event=0xbffff464, 
    aEventFlags=8, aStatus=0xbffff360, aForceHandle=0, aHandled=@0xbffff304)
    at nsView.cpp:350
#30 0x41dca592 in nsView::HandleEvent (this=0x4247fab0, event=0xbffff464, 
    aEventFlags=28, aStatus=0xbffff360, aForceHandle=1, aHandled=@0xbffff304)
    at nsView.cpp:350
#31 0x41ddda15 in nsViewManager2::DispatchEvent (this=0x426b9698, 
    aEvent=0xbffff464, aStatus=0xbffff360) at nsViewManager2.cpp:1437
#32 0x41dc9c74 in HandleEvent (aEvent=0xbffff464) at nsView.cpp:67
#33 0x407f3318 in nsWidget::DispatchEvent (this=0x42406a28, aEvent=0xbffff464, 
    aStatus=@0xbffff3fc) at nsWidget.cpp:1483
#34 0x407f2f5c in nsWidget::DispatchWindowEvent (this=0x42406a28, 
    event=0xbffff464) at nsWidget.cpp:1374
#35 0x407f33d0 in nsWidget::DispatchMouseEvent (this=0x42406a28, 
    aEvent=@0xbffff464) at nsWidget.cpp:1510
#36 0x407f4685 in nsWidget::OnButtonReleaseSignal (this=0x42406a28, 
    aGdkButtonEvent=0x40f9b158) at nsWidget.cpp:2045
#37 0x407fab50 in nsWindow::HandleGDKEvent (this=0x42406a28, event=0x40f9b158)
    at nsWindow.cpp:1410
#38 0x407eacad in dispatch_superwin_event (event=0x40f9b158, window=0x42406a28)
    at nsGtkEventHandler.cpp:981
#39 0x407ea904 in handle_gdk_event (event=0x40f9b158, data=0x0)
    at nsGtkEventHandler.cpp:828
#40 0x40969b1e in gdk_event_dispatch (source_data=0x0, 
    current_time=0xbffff6a4, user_data=0x0) at gdkevents.c:2105
#41 0x40993b4f in g_main_dispatch (current_time=0xbffff6a4) at gmain.c:656
#42 0x40994137 in g_main_iterate (block=1, dispatch=1) at gmain.c:874
#43 0x409942b9 in g_main_run (loop=0x40f9b008) at gmain.c:932
#44 0x408c95c7 in gtk_main () at gtkmain.c:476
#45 0x407dfbea in nsAppShell::Run (this=0x80b9ad8) at nsAppShell.cpp:335
#46 0x40763604 in nsAppShellService::Run (this=0x80b7338)
    at nsAppShellService.cpp:407
#47 0x8055fe5 in main1 (argc=3, argv=0xbffff964, nativeApp=0x0)
    at nsAppRunner.cpp:1015
#48 0x805695a in main (argc=3, argv=0xbffff964) at nsAppRunner.cpp:1255

Please advice.

Comment 1

17 years ago
Added the crash keyword. I have upgraded to glib-1.2.8 and am using Mozilla
to fill in the bugzilla form and this Mozilla already lives longer than 5
minutes. That makes me optimistic. I'll surf around a little and will report
again if the success endures.
Keywords: crash

Comment 2

17 years ago
Full success. Upgrading gtk/glib to 1.2.8 apparently did the trick. I'm trying
to close the bug now.
Last Resolved: 17 years ago
Resolution: --- → FIXED

Comment 3

17 years ago
Adding leaf to CC. The bottom line of this bug seems to be that glib/gtk 1.2.8
might be needed in some circumstances. I will never find out what these
circumstances are, but it would be helpful if it were noted in
http://www.mozilla.org/build/unix-details.html. Could you add it there?--Thanks!
Component: Embedding: GTK Widget → Embedding: GTK Widget
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.