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: