I'm also affected by this bug.  On my system, man-db crashes with a null
pointer dereference processing /usr/share/man/man1/cpp-3.3.1.gz (I still
have the obsolete cpp-3.3 package installed):

,----
| Current directory is 
/usr/local/src/deb-src/man-db/man-db-2.6.0.1/debian/build/src/.libs/
| GNU gdb (GDB) 7.2-debian
| Copyright (C) 2010 Free Software Foundation, Inc.
| License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
| This is free software: you are free to change and redistribute it.
| There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
| and "show warranty" for details.
| This GDB was configured as "i486-linux-gnu".
| For bug reporting instructions, please see:
| <http://www.gnu.org/software/gdb/bugs/>...
| Reading symbols from 
/usr/local/src/deb-src/man-db/man-db-2.6.0.1/debian/build/src/.libs/mandb...done.
| (gdb) set args -pq
| (gdb) run
| Starting program: 
/usr/local/src/deb-src/man-db/man-db-2.6.0.1/debian/build/src/.libs/mandb -pq
| 
| Program received signal SIGSEGV, Segmentation fault.
| __strlen_sse2 () at ../sysdeps/i386/i686/multiarch/strlen.S:99
| 99    ../sysdeps/i386/i686/multiarch/strlen.S: Datei oder Verzeichnis nicht 
gefunden.
|       in ../sysdeps/i386/i686/multiarch/strlen.S
| (gdb) bt full
| #0  __strlen_sse2 () at ../sysdeps/i386/i686/multiarch/strlen.S:99
| No locals.
| #1  0xf7fb7ae2 in xstrdup (string=0x0) at ../../../../gnulib/lib/xmalloc.c:115
| No locals.
| #2  0xf7fe5b66 in test_manfile (file=0xf8022c28 
"/usr/share/man/man1/cpp-3.3.1.gz", path=0xf8005cb0 "/usr/share/man") at 
../../../src/check_mandirs.c:270
|         manpage_base = 0xf802270c "cpp-3.3"
|         ult = 0xf8022b28 "/usr/share/man/man1/cpp-3.3.1.gz"
|         lg = {type = 0, whatis = 0x0, filters = 0x0}
|         manpage = 0xf80226f8 "/usr/share/man/man1"
|         info = {next = 0x0, addr = 0x0, name = 0x0, ext = 0xf8022714 "1", sec 
= 0xf802270a "1", id = 65 'A', pointer = 0x0, comp = 0xf7fb7f12 "gz", filter = 
0x0, whatis = 0x0, _st_mtime = 1167849766}
|         exists = <value optimized out>
|         buf = {st_dev = 2054, __pad1 = 12968, __st_ino = 6890, st_mode = 
33188, st_nlink = 1, st_uid = 0, st_gid = 0, st_rdev = 0, __pad2 = 54536, 
st_size = 1641, st_blksize = 4096, st_blocks = 8, st_atim = {tv_sec = 
1302574832, tv_nsec = 416259135}, st_mtim = {tv_sec = 1167849766, tv_nsec = 0}, 
st_ctim = {tv_sec = 1265816375, tv_nsec = 535079202}, st_ino = 6890}
|         len = <value optimized out>
|         ult_trace = {names = 0x0, len = 0, max = 0}
|         whatis = 0xf801fdd0
| #3  0xf7fe62a6 in add_dir_entries (path=0xf8005cb0 "/usr/share/man", 
catpath=0xf80047f0 "/var/cache/man", last=1302341635, create=0) at 
../../../src/check_mandirs.c:347
|         manpage = 0xf8022c28 "/usr/share/man/man1/cpp-3.3.1.gz"
|         newdir = 0xf80d8840
|         dir = 0xf80d2c68
| #4  testmandirs (path=0xf8005cb0 "/usr/share/man", catpath=0xf80047f0 
"/var/cache/man", last=1302341635, create=0) at ../../../src/check_mandirs.c:511
|         dir = 0xf80c8c38
|         mandir = <value optimized out>
|         stbuf = {st_dev = 2054, __pad1 = 38166, __st_ino = 4721, st_mode = 
16877, st_nlink = 2, st_uid = 0, st_gid = 0, st_rdev = 0, __pad2 = 65535, 
st_size = 135168, st_blksize = 4096, st_blocks = 272, st_atim = {tv_sec = 
1302596769, tv_nsec = 955417292}, st_mtim = {tv_sec = 1302596768, tv_nsec = 
478750589}, st_ctim = {tv_sec = 1302596768, tv_nsec = 478750589}, st_ino = 4721}
|         amount = 3
|         created = 0
| #5  0xf7fe6fa6 in update_db (manpath=0xf8005cb0 "/usr/share/man", 
catpath=0xf80047f0 "/var/cache/man") at ../../../src/check_mandirs.c:661
|         key = {dptr = 0xf80a9d78 "\377\377\377\377vga_\260\210\021", dsize = 
8}
|         content = {dptr = 0xf80f9378 "1302341635", dsize = 11}
|         new = <value optimized out>
| #6  0xf7fec977 in update_db_wrapper (catpath=0xf80047f0 "/var/cache/man", 
manpath=0xf8005cb0 "/usr/share/man") at ../../../src/mandb.c:358
|         amount = <value optimized out>
| #7  mandb (catpath=0xf80047f0 "/var/cache/man", manpath=0xf8005cb0 
"/usr/share/man") at ../../../src/mandb.c:489
|         pid = "32733\000\000 
\254\373\367\000\000\000\000\260\\\000\370\070\327\377\377"
|         ret = <value optimized out>
|         dbname = 0xf8004298 "/var/cache/man/index.db"
| #8  0xf7fecea1 in process_manpath (manpath=0xf8005cb0 "/usr/share/man", 
global_manpath=1, tried_catdirs=0xf8005a10) at ../../../src/mandb.c:551
|         ret = <value optimized out>
|         catpath = 0xf80047f0 "/var/cache/man"
|         tried = 0xf8005a28
|         st = {st_dev = 2054, __pad1 = 50732, __st_ino = 521505, st_mode = 
16877, st_nlink = 45, st_uid = 0, st_gid = 0, st_rdev = 0, __pad2 = 45896, 
st_size = 4096, st_blksize = 4096, st_blocks = 8, st_atim = {tv_sec = 
1302574831, tv_nsec = 226259104}, st_mtim = {tv_sec = 1299654519, tv_nsec = 
372378669}, st_ctim = {tv_sec = 1299654519, tv_nsec = 372378669}, st_ino = 
521505}
|         amount = 0
|         __PRETTY_FUNCTION__ = "process_manpath"
| #9  0xf7fed720 in main (argc=2, argv=0xffffd9a4) at ../../../src/mandb.c:821
|         global_manpath = 1
|         ret = <value optimized out>
|         dir = <value optimized out>
|         subdirent = <value optimized out>
|         sys_manp = <value optimized out>
|         amount = <value optimized out>
|         mp = <value optimized out>
|         tried_catdirs = 0xf8005a10
|         sa = {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, 
sa_mask = {__val = {0 <repeats 32 times>}}, sa_flags = 0, sa_restorer = 0}
| (gdb) 
`----

HTH,
    Sven



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to