Date: Mon, 26 Mar 2007 17:38:27 +0300 From: Andriy Gapon <avg@icyb.net.ua> To: freebsd-gnome@freebsd.org Subject: screen lock and gtk theme switch Message-ID: <4607DAE3.2090501@icyb.net.ua>
next in thread | raw e-mail | index | archive | help
Environment: FreeBSD 6.2-RELEASE-p2 amd64 gtk-2.10.11_2 gtk-engines2-2.10.0 gnome-desktop-2.18.0 gnome-themes-2.18.0_1 gnome-control-center-2.18.0 gnome-screensaver-2.18.0_1 gdm-2.18.0 thunderbird-1.5.0.10 I am not using full GNOME desktop, but rather many GNOME and GTK applications (i.e. no gnome-session stuff). I log in X session via GDM, but it is configured to do xinit session. I do start gnome-settings-daemon from my .xinitrc. Prior to 2.18 I also started gnome-screensaver from .xinitrc, but now it seems that it is started automatically by gnome-settings-daemon. I don't have anything interesting in .gtkrc*. I used to have one include there, but I removed it because of the problem described in my other email ("gnome-theme-manager vs gtkrc-2.0"). Also, it seems that that include was not necessary anyway, because gnome-settings-daemon automatically applied selected GNOME/GTK theme. The problem is that screen lock/unlock causes thunderbird (email program) to crash: #0 0x00000000433190dc in thr_kill () from /lib/libc.so.6 #1 0x00000000431ba01c in raise () from /usr/lib/libthr.so.2 #2 0x0000000000411c53 in nsProfileLock::FatalSignalHandler () #3 <signal handler called> #4 0x00000000461a9e6f in nsLookAndFeel::InitColors () from /usr/local/lib/thunderbird/components/libwidget_gtk2.so #5 0x00000000461aa37a in nsLookAndFeel::nsLookAndFeel () from /usr/local/lib/thunderbird/components/libwidget_gtk2.so #6 0x0000000047987bde in NS_NewPresContext () from /usr/local/lib/thunderbird/components/libgklayout.so #7 0x0000000047994da5 in PresShell::RetargetEventToParent () from /usr/local/lib/thunderbird/components/libgklayout.so #8 0x0000000047c2d2a5 in nsViewManager::HandleEvent () from /usr/local/lib/thunderbird/components/libgklayout.so #9 0x0000000047c2e886 in nsViewManager::Refresh () from /usr/local/lib/thunderbird/components/libgklayout.so #10 0x0000000047c2248a in nsIView::GetViewFor () from /usr/local/lib/thunderbird/components/libgklayout.so #11 0x00000000461a9229 in nsCommonWidget::DispatchResizeEvent () from /usr/local/lib/thunderbird/components/libwidget_gtk2.so #12 0x00000000461a07b0 in nsWindow::ThemeChanged () from /usr/local/lib/thunderbird/components/libwidget_gtk2.so #13 0x00000000461a082d in nsWindow::ThemeChanged () from /usr/local/lib/thunderbird/components/libwidget_gtk2.so #14 0x00000000428dec69 in g_closure_invoke () from /usr/local/lib/libgobject-2.0.so.0 ... It looks like the crash is caused by GTK theme change. I think this is a known and long standing problem with thunderbird, so I don't hope that it will be fixed any time soon. So, instead I hope to find a cause of this GTK theme switch and eliminate it. Looking at time stamp of a thunderbird core file it seems that crash happens on unlock or maybe when unlock dialog appears. There is another problem. gnome-settings-daemon also crashes when thunderbird does. I verified that gnome-settings-daemon is OK with lock/unlock when thunderbird does not run. Make thunderbird crash and gnome-settings-daemon goes down too. Maybe it is not robust enough to handle abruptly disappearing clients ? >From gnome-settings-daemon-bugreport.txt: System: FreeBSD 6.2-RELEASE-p2 FreeBSD 6.2-RELEASE-p2 #1: Thu Mar 15 12:45:46 EET 2007 avg@rein:/usr/obj/usr/src/sys/REIN amd64 X Vendor: The X.Org Foundation X Vendor Release: 70200000 Selinux: No Accessibility: Disabled GTK+ Theme: Mist Icon Theme: Mist Memory status: size: 106100 vsize: 106100 resident: 19376 share: 49869302 rss: 19376 rss_rlim: 4844 CPU usage: start_time: 0 rtime: 0 utime: 0 stime: 0 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 133 Backtrace was generated from '/usr/local/libexec/gnome-settings-daemon' [New Thread 0x52f000 (LWP 100182)] [Switching to Thread 0x5b3800 (LWP 100102)] 0x000000004615df2a in read () from /lib/libc.so.6 #0 0x000000004615df2a in read () from /lib/libc.so.6 #1 0x0000000045f7d084 in read () from /usr/lib/libthr.so.2 #2 0x0000000045b11483 in g_timeout_add () from /usr/local/lib/libglib-2.0.so.0 #3 0x0000000045b28a32 in g_static_private_free () from /usr/local/lib/libglib-2.0.so.0 #4 0x0000000045f7f55b in pthread_create () from /usr/lib/libthr.so.2 #5 0x0000000000000000 in ?? () To sum this up: I didn't have this problem when I had GNOME 2.16 and also had the following line in my .gtkrc-2.0: include "/usr/local/share/themes/Mist/gtk-2.0/gtkrc" Not sure which one was more important, but I guess that having that include ensured that GTK theme was always the same. Ideally it would be nice to have all issues described here resolved: 1. unnecessary GTK theme switch 2. thunderbird crash on GTK theme switch 3. gnome-settings-daemon crash on thunderbird crash -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4607DAE3.2090501>