You are not logged in.

#1 2011-04-25 08:15:27

lardon
Member
Registered: 2008-05-31
Posts: 268

Pacman dies

Hi all,

I'm having a problem lately with arch on my laptop: pacman dies when trying to synchronize package databases. I've first noticed it because pacman would simply exit after writing "Synchronizing package databases", and leave the lock in /var/lib/pacman/db.lck.

I've just tried to run it with gdb, and sure enough, it gets an arithmetic exception. Of course the backtrace isn't really useable:

Startig program: /usr/bin/pacman -Sy
[Thread debugging using libthread_db enabled]
:: Synchronizing package databases...
Program received signal SIGFPE, Arithmetic exception.
0x08056c43 in ?? ()
(gdb) bt
#0  0x08056c43 in ?? ()
#1  0x08053ec7 in ?? ()
#2  0xb7f9ba7f in ?? () from /usr/lib/libalpm.so.6
#3  0xb7f9c3f2 in ?? () from /usr/lib/libalpm.so.6
#4  0xb7f94f8c in alpm_db_update () from /usr/lib/libalpm.so.6
#5  0x080521a4 in ?? ()
#6  0x0804c00b in ?? ()
#7  0xb7e3c103 in __libc_start_main () from /lib/libc.so.6
#8  0x0804ca91 in ?? ()

Any ideas? Where should I go from here?

Last edited by lardon (2011-04-25 10:24:21)

Offline

#2 2011-04-25 09:05:04

x33a
Forum Fellow
Registered: 2009-08-15
Posts: 4,587

Re: Pacman dies

Do the other functions such as install, search, remove etc. work fine?

Offline

#3 2011-04-25 09:11:15

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,672
Website

Re: Pacman dies

Can you also post the --debug output?

Offline

#4 2011-04-25 10:03:47

lardon
Member
Registered: 2008-05-31
Posts: 268

Re: Pacman dies

Everything seems to be working fine again, I'll post again if the problem reappears. Thanks to everyone for your help!

Offline

#5 2011-04-25 10:28:30

lardon
Member
Registered: 2008-05-31
Posts: 268

Re: Pacman dies

Hmm, it turns out I have talked too fast. Pacman runs perfectly when run with the --debug switch, but still crashes when run normally. Other operations, such as searching, removing or installing a package work. Note that I'm using pacman over a 3G connection, which works fine, but is pretty slow. Maybe that's the cause of the problem?

For reference, here's the output of pacman with --debug:


[joel@mouton ~]$ sudo pacman -Sy --debug
debug: config: attempting to read file /etc/pacman.conf
debug: config: new section 'options'
debug: config: HoldPkg: pacman
debug: config: HoldPkg: glibc
debug: config: SyncFirst: pacman
debug: config: Architecture: i686
debug: config: new section 'core'
debug: registering sync database 'core'
debug: config file /etc/pacman.conf, line 65: including /etc/pacman.d/mirrorlist
debug: config: attempting to read file /etc/pacman.d/mirrorlist
debug: adding new server URL to database 'core': http://mir1.archlinux.fr/archlinux/core/os/i686
debug: adding new server URL to database 'core': http://archlinux.limun.org/core/os/i686
debug: adding new server URL to database 'core': ftp://mirrors.kernel.org/archlinux/core/os/i686
debug: adding new server URL to database 'core': ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/core/os/i686
debug: adding new server URL to database 'core': ftp://ftp.rez-gif.supelec.fr/Linux/archlinux/core/os/i686
debug: adding new server URL to database 'core': http://archlinux.mirrors.ovh.net/archlinux/core/os/i686
debug: adding new server URL to database 'core': http://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/core/os/i686
debug: adding new server URL to database 'core': http://mir.archlinux.fr/core/os/i686
debug: adding new server URL to database 'core': http://mirrors.kernel.org/archlinux/core/os/i686
debug: setlibpaths() called
debug: option 'cachedir' = /var/cache/pacman/pkg/
debug: config: finished parsing /etc/pacman.d/mirrorlist
debug: config: new section 'extra'
debug: registering sync database 'extra'
debug: config file /etc/pacman.conf, line 68: including /etc/pacman.d/mirrorlist
debug: config: attempting to read file /etc/pacman.d/mirrorlist
debug: adding new server URL to database 'extra': http://mir1.archlinux.fr/archlinux/extra/os/i686
debug: adding new server URL to database 'extra': http://archlinux.limun.org/extra/os/i686
debug: adding new server URL to database 'extra': ftp://mirrors.kernel.org/archlinux/extra/os/i686
debug: adding new server URL to database 'extra': ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/extra/os/i686
debug: adding new server URL to database 'extra': ftp://ftp.rez-gif.supelec.fr/Linux/archlinux/extra/os/i686
debug: adding new server URL to database 'extra': http://archlinux.mirrors.ovh.net/archlinux/extra/os/i686
debug: adding new server URL to database 'extra': http://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/extra/os/i686
debug: adding new server URL to database 'extra': http://mir.archlinux.fr/extra/os/i686
debug: adding new server URL to database 'extra': http://mirrors.kernel.org/archlinux/extra/os/i686
debug: config: finished parsing /etc/pacman.d/mirrorlist
debug: config: new section 'community'
debug: registering sync database 'community'
debug: config file /etc/pacman.conf, line 74: including /etc/pacman.d/mirrorlist
debug: config: attempting to read file /etc/pacman.d/mirrorlist
debug: adding new server URL to database 'community': http://mir1.archlinux.fr/archlinux/community/os/i686
debug: adding new server URL to database 'community': http://archlinux.limun.org/community/os/i686
debug: adding new server URL to database 'community': ftp://mirrors.kernel.org/archlinux/community/os/i686
debug: adding new server URL to database 'community': ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/community/os/i686
debug: adding new server URL to database 'community': ftp://ftp.rez-gif.supelec.fr/Linux/archlinux/community/os/i686
debug: adding new server URL to database 'community': http://archlinux.mirrors.ovh.net/archlinux/community/os/i686
debug: adding new server URL to database 'community': http://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/community/os/i686
debug: adding new server URL to database 'community': http://mir.archlinux.fr/community/os/i686
debug: adding new server URL to database 'community': http://mirrors.kernel.org/archlinux/community/os/i686
debug: config: finished parsing /etc/pacman.d/mirrorlist
debug: config: finished parsing /etc/pacman.conf
:: Synchronizing package databases...
debug: database path for tree local set to /var/lib/pacman/local/
debug: local database version 2
debug: destfile found, using mtime only
debug: using 'core.db' for download progress
debug: HTTP_PROXY: (null)
debug: http_proxy: (null)
debug: FTP_PROXY:  (null)
debug: ftp_proxy:  (null)
debug: ust.mtime: 1303602779 local_time: 1303602779 compare: 0
debug: ust.size: 0 local_size: 38757 compare: 38757
debug: connected to mir1.archlinux.fr successfully
downloading core.db...
debug: destfile found, using mtime only
debug: using 'extra.db' for download progress
debug: HTTP_PROXY: (null)
debug: http_proxy: (null)
debug: FTP_PROXY:  (null)
debug: ftp_proxy:  (null)
debug: ust.mtime: 1303721236 local_time: 1303721236 compare: 0
debug: ust.size: 0 local_size: 482387 compare: 482387
debug: connected to mir1.archlinux.fr successfully
downloading extra.db...
debug: destfile found, using mtime only
debug: using 'community.db' for download progress
debug: HTTP_PROXY: (null)
debug: http_proxy: (null)
debug: FTP_PROXY:  (null)
debug: ftp_proxy:  (null)
debug: ust.mtime: 1303721170 local_time: 1303721170 compare: 0
debug: ust.size: 0 local_size: 450808 compare: 450808
debug: connected to mir1.archlinux.fr successfully
downloading community.db...
debug: unregistering database 'local'
debug: unregistering database 'core'
debug: unregistering database 'extra'
debug: unregistering database 'community'
[joel@mouton ~]$ 

Offline

#6 2011-04-25 13:12:58

toofishes
Developer
From: Chicago, IL
Registered: 2006-06-06
Posts: 602
Website

Re: Pacman dies

Likely some sort of division by zero issue in our download code. Please don't walk away from this if you can reproduce it, or it won't get fixed. smile

If you feel comfortable doing so, could you rebuild pacman from abs with the !strip flag added to the PKGBUILD options array? That should give you a much more useful backtrace from gdb (and `gdb bt full` should be useful as well).

Offline

#7 2011-04-26 08:29:50

lardon
Member
Registered: 2008-05-31
Posts: 268

Re: Pacman dies

toofishes wrote:

Likely some sort of division by zero issue in our download code. Please don't walk away from this if you can reproduce it, or it won't get fixed. smile

If you feel comfortable doing so, could you rebuild pacman from abs with the !strip flag added to the PKGBUILD options array? That should give you a much more useful backtrace from gdb (and `gdb bt full` should be useful as well).

I've just tried it again, and the issue is still there.

I can sure try rebuilding pacman, but what shoud I do to make sure I can revert back to the original version if my build doesn't work?

Offline

#8 2011-04-26 10:30:10

Awebb
Member
Registered: 2010-05-06
Posts: 6,688

Re: Pacman dies

lardon wrote:

but what shoud I do to make sure I can revert back to the original version if my build doesn't work?

Have an Arch install CD/USB dongle ready to simply chroot into your system.

Offline

#9 2011-04-29 16:47:45

lardon
Member
Registered: 2008-05-31
Posts: 268

Re: Pacman dies

So I've rebuilt it with the strip option disabled, but of course it doesn't have the problem anymore :-/

I'll keep you informed if the problem reappears.

Offline

Board footer

Powered by FluxBB