Please elevate the importance of this bug report! An average user would have no clue what to do in this situation, and so apt/synaptic/etc. should properly detect and catch the problem to avoid a segfault and suggest to the user what to do, if not offer the option to automatically delete and rebuild the cache files.
In my case, I experienced this problem seemingly out of the blue. After some investigation, I downloaded and installed the libc6-dbg manually with dpkg, in order to get a proper backtrace. It appears, however, that the mere act of installing the -dbg package solved the problem! I don't understand it. I even made a backup of the offending *pkgcache.bin files, and even after removing libc6-dbg and replacing the original cache files, I still can't reproduce the problem. Perhaps the segfault wasn't even related to the pkgcache.bin files, but this seemed the most likely scenario.
Unfortunately, all I could get of it while it was happening was an strace and this mostly useless backtrace:
# gdb --args /usr/bin/apt-get -- install audacity
GNU gdb 6.8-debian
This GDB was configured as "x86_64-linux-gnu"...
(no debugging symbols found)
(gdb) r
Starting program: /usr/bin/apt-get -- install audacity
(no debugging symbols found)
Reading package lists... Done
Building dependency tree
Reading state information... Done
Program received signal SIGSEGV, Segmentation fault.
0x00007fe2f313aae0 in strcmp () from /lib/libc.so.6
(gdb) bt
#0 0x00007fe2f313aae0 in strcmp () from /lib/libc.so.6
#1 0x00007fe2f30f43f4 in ?? () from /lib/libc.so.6
#2-15 same as above with random addresses
#16 0x00007fe2f30f4771 in qsort () from /lib/libc.so.6
#17 0x00000000004067e6 in ?? ()
#18 0x0000000000418e60 in ?? ()
#19 0x00007fe2f3ded6ca in CommandLine::DispatchArg ()
from /usr/lib/libapt-pkg-libc6.7-6.so.4.6
#20 0x000000000040855b in ?? ()
#21 0x00007fe2f30de1c4 in __libc_start_main () from /lib/libc.so.6
#22 0x0000000000406539 in ?? ()
#23 0x00007ffffc2a8a58 in ?? ()
#24 0x0000000000000000 in ?? ()
I will work on trying to reproduce this problem, but no luck so far.
Please elevate the importance of this bug report! An average user would have no clue what to do in this situation, and so apt/synaptic/etc. should properly detect and catch the problem to avoid a segfault and suggest to the user what to do, if not offer the option to automatically delete and rebuild the cache files.
In my case, I experienced this problem seemingly out of the blue. After some investigation, I downloaded and installed the libc6-dbg manually with dpkg, in order to get a proper backtrace. It appears, however, that the mere act of installing the -dbg package solved the problem! I don't understand it. I even made a backup of the offending *pkgcache.bin files, and even after removing libc6-dbg and replacing the original cache files, I still can't reproduce the problem. Perhaps the segfault wasn't even related to the pkgcache.bin files, but this seemed the most likely scenario.
Unfortunately, all I could get of it while it was happening was an strace and this mostly useless backtrace:
# gdb --args /usr/bin/apt-get -- install audacity linux-gnu" ... :DispatchArg () libapt- pkg-libc6. 7-6.so. 4.6
GNU gdb 6.8-debian
This GDB was configured as "x86_64-
(no debugging symbols found)
(gdb) r
Starting program: /usr/bin/apt-get -- install audacity
(no debugging symbols found)
Reading package lists... Done
Building dependency tree
Reading state information... Done
Program received signal SIGSEGV, Segmentation fault.
0x00007fe2f313aae0 in strcmp () from /lib/libc.so.6
(gdb) bt
#0 0x00007fe2f313aae0 in strcmp () from /lib/libc.so.6
#1 0x00007fe2f30f43f4 in ?? () from /lib/libc.so.6
#2-15 same as above with random addresses
#16 0x00007fe2f30f4771 in qsort () from /lib/libc.so.6
#17 0x00000000004067e6 in ?? ()
#18 0x0000000000418e60 in ?? ()
#19 0x00007fe2f3ded6ca in CommandLine:
from /usr/lib/
#20 0x000000000040855b in ?? ()
#21 0x00007fe2f30de1c4 in __libc_start_main () from /lib/libc.so.6
#22 0x0000000000406539 in ?? ()
#23 0x00007ffffc2a8a58 in ?? ()
#24 0x0000000000000000 in ?? ()
I will work on trying to reproduce this problem, but no luck so far.