Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 04 May 2006 14:36:17 +0400
From:      Vladimir Grebenschikov <vova@fbsd.ru>
To:        Kevin Oberman <oberman@es.net>
Cc:        gnome@freebsd.org
Subject:   Re: Very slow screensaver with 2.14
Message-ID:  <1146738978.1476.39.camel@localhost>
In-Reply-To: <1146725374.1476.31.camel@localhost>
References:  <20060503220122.509DF45053@ptavv.es.net> <1146725374.1476.31.camel@localhost>

next in thread | previous in thread | raw e-mail | index | archive | help
=F7 =DE=D4, 04/05/2006 =D7 10:49 +0400, Vladimir Grebenschikov =D0=C9=DB=C5=
=D4:
> =F7 =D3=D2, 03/05/2006 =D7 15:01 -0700, Kevin Oberman =D0=C9=DB=C5=D4:
> > 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.
> >=20
> > Anyone have any idea what is going on? Waiting 22 seconds is simply
> > painful! =20
>=20
> I have same problem, It incredible slow when there is some other
> activity (buildworld in background for example).
>=20
> 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 =20
/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 =3D> /usr/X11R6/lib/libSM.so.6 (0x28095000)
        libICE.so.6 =3D> /usr/X11R6/lib/libICE.so.6 (0x2809d000)
        libXss.so.1 =3D> /usr/X11R6/lib/libXss.so.1 (0x280b3000)
        libXxf86vm.so.1 =3D> /usr/X11R6/lib/libXxf86vm.so.1 (0x280b6000)
        libXxf86misc.so.1 =3D> /usr/X11R6/lib/libXxf86misc.so.1 (0x280bb000=
)
        libgtk-x11-2.0.so.0 =3D> /usr/X11R6/lib/libgtk-x11-2.0.so.0 (0x280b=
e000)
        libgdk-x11-2.0.so.0 =3D> /usr/X11R6/lib/libgdk-x11-2.0.so.0 (0x2836=
9000)
        libXrandr.so.2 =3D> /usr/X11R6/lib/libXrandr.so.2 (0x283e2000)
        libXi.so.6 =3D> /usr/X11R6/lib/libXi.so.6 (0x283e6000)
        libXinerama.so.1 =3D> /usr/X11R6/lib/libXinerama.so.1 (0x283ee000)
        libatk-1.0.so.0 =3D> /usr/local/lib/libatk-1.0.so.0 (0x283f1000)
        libgdk_pixbuf-2.0.so.0 =3D> /usr/X11R6/lib/libgdk_pixbuf-2.0.so.0 (=
0x28409000)
        libpangocairo-1.0.so.0 =3D> /usr/X11R6/lib/libpangocairo-1.0.so.0 (=
0x2841d000)
        libXcursor.so.1 =3D> /usr/X11R6/lib/libXcursor.so.1 (0x28425000)
        libXfixes.so.3 =3D> /usr/X11R6/lib/libXfixes.so.3 (0x2842e000)
        libcairo.so.2 =3D> /usr/local/lib/libcairo.so.2 (0x28433000)
        libpng.so.5 =3D> /usr/local/lib/libpng.so.5 (0x2847b000)
        libpangoft2-1.0.so.0 =3D> /usr/X11R6/lib/libpangoft2-1.0.so.0 (0x28=
49e000)
        libfontconfig.so.1 =3D> /usr/X11R6/lib/libfontconfig.so.1 (0x284c30=
00)
        libexpat.so.6 =3D> /usr/local/lib/libexpat.so.6 (0x284ef000)
        libfreetype.so.9 =3D> /usr/local/lib/libfreetype.so.9 (0x2850d000)
        libpango-1.0.so.0 =3D> /usr/X11R6/lib/libpango-1.0.so.0 (0x28572000=
)
        libXrender.so.1 =3D> /usr/X11R6/lib/libXrender.so.1 (0x285a9000)
        libX11.so.6 =3D> /usr/X11R6/lib/libX11.so.6 (0x285b1000)
        libXext.so.6 =3D> /usr/X11R6/lib/libXext.so.6 (0x28672000)
        libgnomevfs-2.so.0 =3D> /usr/X11R6/lib/libgnomevfs-2.so.0 (0x2867f0=
00)
        libxml2.so.5 =3D> /usr/local/lib/libxml2.so.5 (0x286d9000)
        libz.so.3 =3D> /lib/libz.so.3 (0x287e1000)
        libssl.so.4 =3D> /usr/local/lib/libssl.so.4 (0x287f2000)
        libcrypto.so.4 =3D> /usr/local/lib/libcrypto.so.4 (0x2882a000)
        libavahi-glib.so.1 =3D> /usr/local/lib/libavahi-glib.so.1 (0x2893c0=
00)
        libavahi-client.so.3 =3D> /usr/local/lib/libavahi-client.so.3 (0x28=
93f000)
        libdbus-1.so.2 =3D> /usr/local/lib/libdbus-1.so.2 (0x2894d000)
        libavahi-common.so.3 =3D> /usr/local/lib/libavahi-common.so.3 (0x28=
97e000)
        libutil.so.5 =3D> /lib/libutil.so.5 (0x28988000)
        libbonobo-2.so.0 =3D> /usr/local/lib/libbonobo-2.so.0 (0x28994000)
        libgconf-2.so.4 =3D> /usr/X11R6/lib/libgconf-2.so.4 (0x289e4000)
        libbonobo-activation.so.4 =3D> /usr/local/lib/libbonobo-activation.=
so.4 (0x28a12000)
        libORBitCosNaming-2.so.0 =3D> /usr/local/lib/libORBitCosNaming-2.so=
.0 (0x28a25000)
        libORBit-2.so.0 =3D> /usr/local/lib/libORBit-2.so.0 (0x28a29000)
        libpopt.so.0 =3D> /usr/local/lib/libpopt.so.0 (0x28a7f000)
        libgobject-2.0.so.0 =3D> /usr/local/lib/libgobject-2.0.so.0 (0x28a8=
6000)
        libm.so.4 =3D> /lib/libm.so.4 (0x28abb000)
        libgmodule-2.0.so.0 =3D> /usr/local/lib/libgmodule-2.0.so.0 (0x28ad=
0000)
        libgthread-2.0.so.0 =3D> /usr/local/lib/libgthread-2.0.so.0 (0x28ad=
3000)
        libglib-2.0.so.0 =3D> /usr/local/lib/libglib-2.0.so.0 (0x28ad7000)
        libintl.so.6 =3D> /usr/local/lib/libintl.so.6 (0x28b56000)
        libiconv.so.3 =3D> /usr/local/lib/libiconv.so.3 (0x28b5f000)
        libcrypt.so.3 =3D> /lib/libcrypt.so.3 (0x28c4c000)
        libpthread.so.2 =3D> /lib/libpthread.so.2 (0x28c64000)
        libc.so.6 =3D> /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-s=
creensaver
  207 60171  1361 183 118  0 43180 15372 -      R     ??    0:11.71 /usr/X1=
1R6/libexec/gnome-screensaver-dialog
  207 60187 60177   4  96  0  1588   956 -      R+    v0    0:00.00 fgrep s=
aver
% 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 ar=
e
welcome to change it and/or distribute copies of it under certain condition=
s.
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 s=
uch file or directory.

Attaching to process 1361
/usr/src/gnu/usr.bin/gdb/libgdb/../../../../contrib/gdb/gdb/solib-svr4.c:14=
43: internal-error: legacy_fetch_link_map_offsets called without legacy lin=
k_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:14=
43: internal-error: legacy_fetch_link_map_offsets called without legacy lin=
k_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@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.
>=20
> I have Centrino 1.7 GHz with 512 Mb RAM ...
>=20
> PS:
> Sometimes I start panic while whiting screen-save window.
>=20
--=20
Vladimir B. Grebenschikov
vova@fbsd.ru



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1146738978.1476.39.camel>