You are not logged in.
Pages: 1
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
Do the other functions such as install, search, remove etc. work fine?
Offline
Can you also post the --debug output?
Offline
Everything seems to be working fine again, I'll post again if the problem reappears. Thanks to everyone for your help!
Offline
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
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. ![]()
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
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.
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
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
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
Pages: 1