Very slow screensaver with 2.14

Vladimir Grebenschikov vova at fbsd.ru
Thu May 4 17:15:53 UTC 2006


В чт, 04/05/2006 в 12:55 -0400, Joe Marcus Clarke пишет:
> On Thu, 4 May 2006, Vladimir Grebenschikov wrote:
> 
> > ? ??, 04/05/2006 ? 10:49 +0400, Vladimir Grebenschikov ?????:
> >> ? ??, 03/05/2006 ? 15:01 -0700, Kevin Oberman ?????:
> >>> The new gnome-screensaver in 2.14 is unbelievably slow. On my 1GHz
> >>> system it takes over 20 seconds to bring up the password window. I can't
> >>> imagine what it is doing all of this time. The screen un-blanks and the
> >>> cursor appears almost instantly, but it just sits there at that
> >>> point. On my 2GHz system, it 'only' takes about 6 seconds and my
> >>> Athlon-64x2 4400+ even takes about 4 seconds.
> >>>
> >>> Anyone have any idea what is going on? Waiting 22 seconds is simply
> >>> painful!
> >>
> >> I have same problem, It incredible slow when there is some other
> >> activity (buildworld in background for example).
> >>
> >> Looks like it requires too much pages to show input window, and all
> >> theses pages thrown out while other activity and then loaded too slow.
> >
> > I have idea why it happens, looks like gnome-screensaver execs
> > /usr/X11R6/libexec/gnome-screensaver-dialog on activation event
> >
> > And binary starts to map whole big set of libraries:
> >
> > % ldd /usr/X11R6/libexec/gnome-screensaver-dialog
> > /usr/X11R6/libexec/gnome-screensaver-dialog:
> >        libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x28095000)
> >        libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x2809d000)
> >        libXss.so.1 => /usr/X11R6/lib/libXss.so.1 (0x280b3000)
> >        libXxf86vm.so.1 => /usr/X11R6/lib/libXxf86vm.so.1 (0x280b6000)
> >        libXxf86misc.so.1 => /usr/X11R6/lib/libXxf86misc.so.1 (0x280bb000)
> >        libgtk-x11-2.0.so.0 => /usr/X11R6/lib/libgtk-x11-2.0.so.0 (0x280be000)
> >        libgdk-x11-2.0.so.0 => /usr/X11R6/lib/libgdk-x11-2.0.so.0 (0x28369000)
> >        libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x283e2000)
> >        libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x283e6000)
> >        libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1 (0x283ee000)
> >        libatk-1.0.so.0 => /usr/local/lib/libatk-1.0.so.0 (0x283f1000)
> >        libgdk_pixbuf-2.0.so.0 => /usr/X11R6/lib/libgdk_pixbuf-2.0.so.0 (0x28409000)
> >        libpangocairo-1.0.so.0 => /usr/X11R6/lib/libpangocairo-1.0.so.0 (0x2841d000)
> >        libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0x28425000)
> >        libXfixes.so.3 => /usr/X11R6/lib/libXfixes.so.3 (0x2842e000)
> >        libcairo.so.2 => /usr/local/lib/libcairo.so.2 (0x28433000)
> >        libpng.so.5 => /usr/local/lib/libpng.so.5 (0x2847b000)
> >        libpangoft2-1.0.so.0 => /usr/X11R6/lib/libpangoft2-1.0.so.0 (0x2849e000)
> >        libfontconfig.so.1 => /usr/X11R6/lib/libfontconfig.so.1 (0x284c3000)
> >        libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x284ef000)
> >        libfreetype.so.9 => /usr/local/lib/libfreetype.so.9 (0x2850d000)
> >        libpango-1.0.so.0 => /usr/X11R6/lib/libpango-1.0.so.0 (0x28572000)
> >        libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x285a9000)
> >        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x285b1000)
> >        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x28672000)
> >        libgnomevfs-2.so.0 => /usr/X11R6/lib/libgnomevfs-2.so.0 (0x2867f000)
> >        libxml2.so.5 => /usr/local/lib/libxml2.so.5 (0x286d9000)
> >        libz.so.3 => /lib/libz.so.3 (0x287e1000)
> >        libssl.so.4 => /usr/local/lib/libssl.so.4 (0x287f2000)
> >        libcrypto.so.4 => /usr/local/lib/libcrypto.so.4 (0x2882a000)
> >        libavahi-glib.so.1 => /usr/local/lib/libavahi-glib.so.1 (0x2893c000)
> >        libavahi-client.so.3 => /usr/local/lib/libavahi-client.so.3 (0x2893f000)
> >        libdbus-1.so.2 => /usr/local/lib/libdbus-1.so.2 (0x2894d000)
> >        libavahi-common.so.3 => /usr/local/lib/libavahi-common.so.3 (0x2897e000)
> >        libutil.so.5 => /lib/libutil.so.5 (0x28988000)
> >        libbonobo-2.so.0 => /usr/local/lib/libbonobo-2.so.0 (0x28994000)
> >        libgconf-2.so.4 => /usr/X11R6/lib/libgconf-2.so.4 (0x289e4000)
> >        libbonobo-activation.so.4 => /usr/local/lib/libbonobo-activation.so.4 (0x28a12000)
> >        libORBitCosNaming-2.so.0 => /usr/local/lib/libORBitCosNaming-2.so.0 (0x28a25000)
> >        libORBit-2.so.0 => /usr/local/lib/libORBit-2.so.0 (0x28a29000)
> >        libpopt.so.0 => /usr/local/lib/libpopt.so.0 (0x28a7f000)
> >        libgobject-2.0.so.0 => /usr/local/lib/libgobject-2.0.so.0 (0x28a86000)
> >        libm.so.4 => /lib/libm.so.4 (0x28abb000)
> >        libgmodule-2.0.so.0 => /usr/local/lib/libgmodule-2.0.so.0 (0x28ad0000)
> >        libgthread-2.0.so.0 => /usr/local/lib/libgthread-2.0.so.0 (0x28ad3000)
> >        libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0 (0x28ad7000)
> >        libintl.so.6 => /usr/local/lib/libintl.so.6 (0x28b56000)
> >        libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28b5f000)
> >        libcrypt.so.3 => /lib/libcrypt.so.3 (0x28c4c000)
> >        libpthread.so.2 => /lib/libpthread.so.2 (0x28c64000)
> >        libc.so.6 => /lib/libc.so.6 (0x28c89000)
> > %
> >
> > Very probably, that part of them already thrown out from memory, and should be reread from disk.
> >
> >> I guess gdb will not help here, but I will try anyway.
> >
> > No luck with gdb:
> >
> > % ps alx | fgrep saver
> >  207  1361     1   0  96  0 17772  9296 select Ss    ??    0:08.26 gnome-screensaver
> >  207 60171  1361 183 118  0 43180 15372 -      R     ??    0:11.71 /usr/X11R6/libexec/gnome-screensaver-dialog
> >  207 60187 60177   4  96  0  1588   956 -      R+    v0    0:00.00 fgrep saver
> > % gdb gnome-screen-saver 1361
> > GNU gdb 6.1.1 [FreeBSD]
> > Copyright 2004 Free Software Foundation, Inc.
> > GDB is free software, covered by the GNU General Public License, and you are
> > welcome to change it and/or distribute copies of it under certain conditions.
> > Type "show copying" to see the conditions.
> > There is absolutely no warranty for GDB.  Type "show warranty" for details.
> > This GDB was configured as "i386-marcel-freebsd"...gnome-screen-saver: No such file or directory.
> >
> > Attaching to process 1361
> > /usr/src/gnu/usr.bin/gdb/libgdb/../../../../contrib/gdb/gdb/solib-svr4.c:1443: internal-error: legacy_fetch_link_map_offsets called without legacy link_map support enabled.
> > A problem internal to GDB has been detected,
> > further debugging may prove unreliable.
> > Quit this debugging session? (y or n) y
> >
> > /usr/src/gnu/usr.bin/gdb/libgdb/../../../../contrib/gdb/gdb/solib-svr4.c:1443: internal-error: legacy_fetch_link_map_offsets called without legacy link_map support enabled.
> > A problem internal to GDB has been detected,
> > further debugging may prove unreliable.
> > Create a core file of GDB? (y or n) n
> > % uname -a
> > FreeBSD vbook.fbsd.ru 7.0-CURRENT FreeBSD 7.0-CURRENT #0: Mon Apr 17 13:52:39 MSD 2006     root at vbook.fbsd.ru:/usr/obj/usr/src/sys/VBOOK  i386
> > %
> >
> >> Contrary, I xscreensaver popup password window relatively quick even
> >> when there is heavy activity on machine.
> 
> Thanks for the explanation.  This kind of thing will not be unique to 
> FreeBSD.  I recommend you open a bug in GNOME Bugzilla if one does not 
> already exist.

I've not found corresponding bug in gnome bugzilla.
New bug: http://bugzilla.gnome.org/show_bug.cgi?id=340660


> Joe
> --
> PGP Key : http://www.marcuscom.com/pgp.asc
-- 
Vladimir B. Grebenschikov
vova at fbsd.ru


More information about the freebsd-gnome mailing list