On Sat, Jan 12, 2008 at 21:27:31 -0500, Zach wrote:
> Florian wrote:

[...]

> >Make sure that you have the correct version of libglib2.0-0 installed.
> >On an up-to-date Lenny system "dpkg -l libglib2.0-0" should show version
> >2.14.3-1. Most likely you will find that you have the current version
> >installed, because aptitude should have tried to upgrade the package
> >otherwise. However, if you do see an older version then we have to have
> >a closer look at your apt configuration.
> 
> I think I've discovered another problem. In the past 1-2 months I've
> noticed whenever I install a new package or query the dpkg package
> database it takes an inordinately long time and sends my CPU up to
> 90%-100% utilization while it's working. I timed it and there's no way
> it should be taking this long on my 700MHz PIII processor with very
> little system load:
> 
> netrek:~# time dpkg -l|grep libglib2
> ii  libglib2-ruby                                           0.16.0-10
>                     Glib 2 bindings for the Ruby language
> ii  libglib2-ruby1.8                                        0.16.0-10
>                     Glib 2 bindings for the Ruby language
> ii  libglib2.0-0                                            2.14.3-1
>                     The GLib library of C routines
> ii  libglib2.0-data                                         2.14.3-1
>                     Common files for GLib library
> ii  libglib2.0-dev                                          2.14.3-1
>                     Development files for the GLib library

That looks OK to me.
 
> real  1m18.728s
> user  0m2.344s
> sys   0m0.236s
> 
> What could be causing this bottleneck? Did my package database grow
> too big? I see libglib2.0-0 as being at the correct version 2.14.3-1.

The command itself seems to use only about 2.6 seconds of CPU time
(user+sys) and spends the rest of the 1m19s waiting for something, most
probably data transfer from the hard drive. You see the CPU at 90-100%
during the whole time, so maybe DMA is not working. You can use "hdparm
/dev/hda" to check this. (This command is part of package "hdparm" and
has to be run as root; replace "/dev/hda" as is appropriate for your
system.)

However, I don't know too much about such system internals, so the above
interpretation might be wrong.

> >My guess is that you have an outdated version of libglib-2.0.so.0 in
> >/usr/local/lib/ and that this non-Debian version is given precedence
> >over the Debian one by the linker. (This kind of problem has popped up
> >here a few times recently.) Run this command:
> >
> >ldd /usr/bin/update-desktop-database
> 
> netrek:~# ldd /usr/bin/update-desktop-database
>       linux-gate.so.1 =>  (0xffffe000)
>       libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7f0c000)
>       libc.so.6 => /lib/libc.so.6 (0xb7dbf000)
>       libpcre.so.3 => /usr/lib/libpcre.so.3 (0xb7d99000)
>       /lib/ld-linux.so.2 (0xb7fcc000)
> 
> Nope I see nothing being loaded from /usr/local/

Yeah, these seem to be fine.

[...]

> Any other ideas? :)

I saw that you filed a bug report (#460532). There seem to be two
related older reports (#406709, #396439). In one case the submitter
states in a follow-up that a corrupted .desktop file was to blame, but
the general problem still seems unresolved to me. (Even if you also have
a corrupt data file, the tool should deal more gracefully with such a
situation.)

I have two more suggestions for you to improve the chances of this
bug getting fixed:

1) Just to be sure, check if there are any other stray libraries in
   /usr/local/lib. Run "ldconfig -pNX | grep /local/" as a normal user.
   If this comes up empty then your system is OK in that respect.

2) Install the packages libglib2.0-0-dbg, libc6-dbg, and libpcre3-dbg.
   Then use gdb again to get a better debugging report (with symbols)
   and send this output as a follow-up to your bug.

The following trick should allow you to get your package manager going
again: As root, do

mv /usr/bin/update-desktop-database /usr/bin/update-desktop-database-HIDDEN 
ln -s /bin/true /usr/bin/update-desktop-database

This moves update-desktop-database out of the way and replaces it with a
symlink to /bin/true, a command that is always successful. The
problematic installation scripts should complete now and the package
manager should work again. (Once the bug is fixed you should remove the
symlink and put the original file back in its place, of course. Then run
update-desktop-database once as root.) 

-- 
Regards,            | http://users.icfo.es/Florian.Kulzer
          Florian   |


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to