Closed Bug 366410 Opened 18 years ago Closed 18 years ago

ff/tb crashes when gtk settings are changed [@nsLookAndFeel::InitColors()]

Categories

(Core :: Widget: Gtk, defect)

1.8 Branch
x86
Linux
defect
Not set
major

Tracking

()

RESOLVED FIXED

People

(Reporter: wolfiR, Assigned: wolfiR)

References

Details

(Keywords: crash, fixed1.8.1.2)

Crash Data

Attachments

(2 files, 1 obsolete file)

If gnome-settings-daemon is not running and will be triggered to load (e.g. from gnome-fonts-properties) Firefox (and Thunderbird) crashes. The same if gnome-settings-daemon is killed.
This is
http://talkback-public.mozilla.org/search/start.jsp?search=2&type=iid&id=28173161
Component: GFX: Gtk → Widget: Gtk
Keywords: crash
QA Contact: gtk → gtk
This seems to happen if gnome-settings-daemon takes over control over gtk settings from gtk configfiles since it happens reproducable if gnome-settings-daemon is started or killed. So it could be that a bug in GTK triggers the crash (while I'm not an expert in GTK space)
http://mxr-test.landfill.bugzilla.org/mxr-test/gnome/source/gtk+/gtk/gtkrc.c#1817
1829   g_return_val_if_fail (GTK_IS_SETTINGS (settings), NULL);

http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/widget/src/gtk2/nsLookAndFeel.cpp&mark=500,503&rev=1.23.8.1#494

Incident ID: 28173161 
Stack Signature nsLookAndFeel::InitColors() 5d9ddc6c 
Product ID Firefox2 
Build ID 2006120814 
Trigger Time 2007-01-09 00:08:10.0 
Platform LinuxIntel 
Operating System Linux 2.6.18.2-34-default 
Module firefox-bin + (001f1b94) 
URL visited  
User Comments started gnome-font-properties (and therefore gnome-session-daemon) 
Since Last Crash 0 sec 
Total Uptime 0 sec 
Trigger Reason SIGSEGV: Segmentation Fault: (signal 11) 
Source File, Line No. /builds/tinderbox/Fx-Mozilla1.8-release/Linux_2.4.21-27.0.4.EL_Depend/mozilla/widget/src/gtk2/nsLookAndFeel.cpp, line 503 
Stack Trace  

nsLookAndFeel::InitColors()  [mozilla/widget/src/gtk2/nsLookAndFeel.cpp, line 503]
nsLookAndFeel::LookAndFeelChanged()  [mozilla/widget/src/gtk2/nsLookAndFeel.cpp, line 575]
nsPresContext::ThemeChanged()  [mozilla/layout/base/nsPresContext.cpp, line 1207]
PresShell::HandleEvent()  [mozilla/layout/base/nsPresShell.cpp, line 6064]
nsViewManager::HandleEvent()  [mozilla/view/src/nsViewManager.cpp, line 848]
nsViewManager::DispatchEvent()  [mozilla/view/src/nsViewManager.cpp, line 2246]
HandleEvent()  [mozilla/view/src/nsView.cpp, line 251]
nsCommonWidget::DispatchEvent()  [mozilla/widget/src/gtk2/nsCommonWidget.cpp, line 219]
nsWindow::ThemeChanged()  [mozilla/widget/src/gtk2/nsWindow.cpp, line 2010]
nsWindow::ThemeChanged()  [mozilla/widget/src/gtk2/nsWindow.cpp, line 2023]
libgobject-2.0.so.0 + 0x167d9 (0xf79a37d9)
libgobject-2.0.so.0 + 0x9c0b (0xf7996c0b)
libgobject-2.0.so.0 + 0x1b021 (0xf79a8021)
libgobject-2.0.so.0 + 0x1c247 (0xf79a9247)
libgobject-2.0.so.0 + 0x1c415 (0xf79a9415)
libgobject-2.0.so.0 + 0xe051 (0xf799b051)
libgobject-2.0.so.0 + 0xa9df (0xf79979df)
libgobject-2.0.so.0 + 0xe761 (0xf799b761)
libgtk-x11-2.0.so.0 + 0x19113b (0xf7c5b13b)
libgtk-x11-2.0.so.0 + 0x1798e4 (0xf7c438e4)
libgtk-x11-2.0.so.0 + 0x179c23 (0xf7c43c23)
libgobject-2.0.so.0 + 0x167d9 (0xf79a37d9)
libgobject-2.0.so.0 + 0x9c0b (0xf7996c0b)
libgobject-2.0.so.0 + 0x1ad3d (0xf79a7d3d)
libgobject-2.0.so.0 + 0x1c247 (0xf79a9247)
libgobject-2.0.so.0 + 0x1c415 (0xf79a9415)
libgobject-2.0.so.0 + 0xe051 (0xf799b051)
libgobject-2.0.so.0 + 0xa9df (0xf79979df)
libgobject-2.0.so.0 + 0xfc02 (0xf799cc02)
libgtk-x11-2.0.so.0 + 0x1932f6 (0xf7c5d2f6)
libgtk-x11-2.0.so.0 + 0x12c7b8 (0xf7bf67b8)
libgdk-x11-2.0.so.0 + 0x4202a (0xf7a8a02a)
libglib-2.0.so.0 + 0x2dde2 (0xf7921de2)
libglib-2.0.so.0 + 0x30e1f (0xf7924e1f)
libglib-2.0.so.0 + 0x311c9 (0xf79251c9)
libgtk-x11-2.0.so.0 + 0x12ccd4 (0xf7bf6cd4)
nsAppShell::Run()  [mozilla/widget/src/gtk2/nsAppShell.cpp, line 141]
nsAppStartup::Run()  [mozilla/toolkit/components/startup/src/nsAppStartup.cpp, line 152]
XRE_main()  [mozilla/toolkit/xre/nsAppRunner.cpp, line 2446]
main()  [mozilla/browser/app/nsBrowserApp.cpp, line 62]
libc.so.6 + 0x15f9c (0xf73b8f9c)

crash is simple. style is null.
Attached patch trunk patch (obsolete) — Splinter Review
This only adds an if (style) around the code.
Attached patch patch #2 (trunk)Splinter Review
I guess I was a bit fast with the first one :-(
Attachment #251041 - Attachment is obsolete: true
Attachment #251043 - Flags: superreview?(roc)
Attachment #251043 - Flags: review?(roc)
If style is null the results are pretty bad, right? These colors don't get initialized?
As it only happens for me if control is switched from gnome-settings-daemon to config-file based config (where I don't know at all what GTK is doing exactly) I've just checked what happens now if I kill gnome-settings-daemon when I had a different theme configured in it.
Firefox still changed it's menu colors so I guess we have more than one event and the changes still get applied.
I also checked tooltip colors and it still seems to work as expected.
Attachment #251043 - Flags: superreview?(roc)
Attachment #251043 - Flags: superreview+
Attachment #251043 - Flags: review?(roc)
Attachment #251043 - Flags: review+
Attached patch patch (1.8)Splinter Review
That's the same for 1.8 branch.
Assignee: nobody → mozilla
Status: NEW → ASSIGNED
commited to trunk and waiting some time until requesting approval for 1.8branch.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Comment on attachment 251159 [details] [diff] [review]
patch (1.8)

Fixes a crasher on Linux which can easily happen if you don't run Gnome.
Attachment #251159 - Flags: approval1.8.1.2?
Comment on attachment 251159 [details] [diff] [review]
patch (1.8)

approved for 1.8 branch, a=dveditz for drivers
Attachment #251159 - Flags: approval1.8.1.2? → approval1.8.1.2+
Keywords: fixed1.8.1.2
Crash Signature: [@nsLookAndFeel::InitColors()]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: