Closed Bug 272584 Opened 20 years ago Closed 20 years ago

mozilla crashing when exiting with roaming enabled

Categories

(Core Graveyard :: Profile: Roaming, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 244549

People

(Reporter: eagle.lu, Unassigned)

Details

I used the codes for mozilla(2004.11.30) and built it with roaming enabled. When
I  quit from mozilla. it crashed. The following are steps to reproduce it:
1. launch mozilla with -P option
2. create a new profile and use it to start mozilla 
3. select Edit-->Preferences menu item
4. select Roaming User (on the left panel) in the popup window
5. check "Enable remote profile storage"
6. Do some settings 
7. Click OK button 
8. close mozilla window (quit)

mozilla will crash and the following is the call stack after crashing
#0  0x4049b403 in gtk_widget_style_get () from /usr/lib/libgtk-x11-2.0.so.0
#1  0x40ceef46 in moz_gtk_get_scrollbar_metrics (metrics=0xbfffd240)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/gfx/src/gtk/gtk2drawing.c:1475
#2  0x40d31955 in nsNativeThemeGTK::GetMinimumWidgetSize (this=0x82b0d00,
    aContext=0x8a416e8, aFrame=0x85d27c4, aWidgetType=84 'T',
    aResult=0xbfffd360, aIsOverridable=0xbfffd384)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/gfx/src/gtk/nsNativeThemeGTK.cpp:542
#3  0x41828bdb in nsIFrame::AddCSSMinSize (aState=@0xbfffde20, aBox=0x85d27c4,
    aSize=@0xbfffd400)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/nsBox.cpp:987
#4  0x4182c2d3 in nsBoxFrame::GetMinSize (this=0x85d27c4,
    aBoxLayoutState=@0xbfffde20, aSize=@0xbfffd400)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/nsBoxFrame.cpp:1010
#5  0x4182c0d2 in nsBoxFrame::GetPrefSize (this=0x85d27c4,
    aBoxLayoutState=@0xbfffde20, aSize=@0xbfffd440)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/nsBoxFrame.cpp:948
#6  0x41831bde in nsSprocketLayout::GetPrefSize (this=0x82993e8,
    aBox=0x85d2628, aState=@0xbfffde20, aSize=@0xbfffd4f0)
#7  0x4182c05d in nsBoxFrame::GetPrefSize (this=0x85d2628,
    aBoxLayoutState=@0xbfffde20, aSize=@0xbfffd4f0)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/nsBoxFrame.cpp:940
#8  0x41709180 in nsXULScrollFrame::GetDesiredScrollbarSizes (this=0x85d232c,
    aState=0xbfffde20)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/html/base/src/nsGfxScrollFrame.cpp:665
#9  0x4186b2fc in nsListBoxBodyFrame::GetPrefSize (this=0x85d2260,
    aBoxLayoutState=@0xbfffde20, aSize=@0xbfffd640)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/nsListBoxBodyFrame.cpp:403
#10 0x418258f4 in nsScrollBoxFrame::GetPrefSize (this=0x85d23fc,
    aBoxLayoutState=@0xbfffde20, aSize=@0xbfffd640)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/nsScrollBoxFrame.cpp:460
#11 0x41709980 in nsXULScrollFrame::GetPrefSize (this=0x85d232c,
    aState=@0xbfffde20, aSize=@0xbfffd640)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/html/base/src/nsGfxScrollFrame.cpp:920
#12 0x41831bde in nsSprocketLayout::GetPrefSize (this=0x8436028,
#13 0x41bd7fe3 in nsGridRowGroupLayout::GetPrefSize (this=0x8436028,
    aBox=0x847fe00, aState=@0xbfffde20, aSize=@0xbfffd730)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/grid/nsGridRowGroupLayout.cpp:103
#14 0x4182c05d in nsBoxFrame::GetPrefSize (this=0x847fe00,
    aBoxLayoutState=@0xbfffde20, aSize=@0xbfffd730)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/nsBoxFrame.cpp:940
#15 0x41832ee3 in nsStackLayout::GetPrefSize (this=0x837af30, aBox=0x847f908,
    aState=@0xbfffde20, aSize=@0xbfffd830)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/nsStackLayout.cpp:93
#16 0x41bd4f3c in nsGridLayout2::GetPrefSize (this=0x837af30, aBox=0x847f908,
    aState=@0xbfffde20, aSize=@0xbfffd830)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/grid/nsGridLayout2.cpp:150
#17 0x4182c05d in nsBoxFrame::GetPrefSize (this=0x847f908,
    aBoxLayoutState=@0xbfffde20, aSize=@0xbfffd830)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/nsBoxFrame.cpp:940
#18 0x41831bde in nsSprocketLayout::GetPrefSize (this=0x82993e8,
    aBox=0x8880e48, aState=@0xbfffde20, aSize=@0xbfffd8e0)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/nsSprocketLayout.cpp:1332
#19 0x4182c05d in nsBoxFrame::GetPrefSize (this=0x8880e48,
    aBoxLayoutState=@0xbfffde20, aSize=@0xbfffd8e0)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/nsBoxFrame.cpp:940
#20 0x41831bde in nsSprocketLayout::GetPrefSize (this=0x82993e8,
    aBox=0x8880c5c, aState=@0xbfffde20, aSize=@0xbfffd990)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/nsSprocketLayout.cpp:1332
#21 0x4182c05d in nsBoxFrame::GetPrefSize (this=0x8880c5c,
    aBoxLayoutState=@0xbfffde20, aSize=@0xbfffd990)
    at
/work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/nsBoxFrame.cpp:940
#22 0x41831bde in nsSprocketLayout::GetPrefSize (this=0x82993e8,
    aBox=0x8340450, aState=@0xbfffde20, aSize=@0xbfffdaa0)
    at /work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src
/nsSprocketLayout.cpp:1332
#23 0x4182c05d in nsBoxFrame::GetPrefSize (this=0x8340450,
    aBoxLayoutState=@0xbfffde20, aSize=@0xbfffdaa0)
    at /work/moz-ws/community/builds/build1130/src/mozilla/layout/xul/base/src/n

I think the root cause is in funciton:
gint
moz_gtk_shutdown()
{
    if (gTooltipWidget)
        gtk_widget_destroy(gTooltipWidget);
    /* This will destroy all of our widgets */
    if (gProtoWindow)
        gtk_widget_destroy(gProtoWindow);

    return MOZ_GTK_SUCCESS;
}

Roaming needs to use these windows after this function is executed. I comment
out all statements except the last return statment, mozilla works well. But I'm
afraid that this is brute force way because it may cause some leaks.

*** This bug has been marked as a duplicate of 244549 ***
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → DUPLICATE
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.