screen lock and gtk theme switch

Jeremy Messenger mezz7 at cox.net
Mon Mar 26 17:11:06 UTC 2007


On Mon, 26 Mar 2007 09:38:27 -0500, Andriy Gapon <avg at icyb.net.ua> wrote:

> 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
> ...

See here: http://www.freebsd.org/gnome/docs/bugging.html

====================================
* If a program produces a core dump, provide a back trace. [...goes on...]
====================================

Cheers,
Mezz

> 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 at 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


-- 
mezz7 at cox.net  -  mezz at FreeBSD.org
FreeBSD GNOME Team  -  FreeBSD Multimedia Hat (ports, not src)
http://www.FreeBSD.org/gnome/  -  gnome at FreeBSD.org
http://wiki.freebsd.org/multimedia  -  multimedia at FreeBSD.org


More information about the freebsd-gnome mailing list