Manual retrace of core dump:
#0 0x00002b2be6eaa593 in ?? () from /usr/lib/libgdbm.so.3
#1 0x00002b2be6eaaa64 in _gdbm_alloc () from /usr/lib/libgdbm.so.3
#2 0x00002b2be6ea932c in gdbm_store () from /usr/lib/libgdbm.so.3
#3 0x000000000040cebb in dbstore (in=0x7fffc3c32140, basename=0x689940 "") at
db_store.c:186
ret = <value optimized out>
oldkey = {dptr = 0x689920 "", dsize = 5}
oldcont = {dptr = 0x689a10 "\tA\t-\t-\tgz\tATI Rage 128 video driver",
dsize = 52}
#4 0x0000000000408dc0 in store_descriptions (head=<value optimized out>,
info=0x7fffc3c32140, base_name=0x626784 "r128") at descriptions_store.c:90
desc = (const struct page_description *) 0x689790
save_id = 65 'A'
#5 0x00000000004082c6 in test_manfile (file=0x6894a0 "128 video driver",
path=0x621660 "/usr/share/man") at check_mandirs.c:307
physical = {st_dev = 140736477732976, st_ino = 47467557643432, st_nlink
= 21, st_mode = 0, st_uid = 2, st_gid = 24, pad0 = 11051, st_rdev =
47467563235712, st_size = 0, st_blksize = 1,
st_blocks = 6427792, st_atim = {tv_sec = 30, tv_nsec = 48}, st_mtim = {tv_sec
= 47467560216953, tv_nsec = 48}, st_ctim = {tv_sec = 47467560209955, tv_nsec =
140736477733200}, __unused = {47467563235712, 21,
0}}
abs_filename = <value optimized out>
base_name = 0x626784 "r128"
ult = 0x6894d0 "an4/r128.4.gz"
lg = {type = 0, whatis = 0x689620 "128 video driver", filters =
0x6897f0 ""}
manpage = 0x626770 "/usr/share/man/man4"
info = {next = 0x0, addr = 0x0, name = 0x0, ext = 0x626789 "4", sec =
0x626782 "4", id = 65 'A', pointer = 0x41959b "-", comp = 0x413004 "gz", filter
= 0x6897f0 "", whatis = 0x689bc0 "eo driver",
_st_mtime = 1191860216}
exists = <value optimized out>
buf = {st_dev = 2065, st_ino = 1234013, st_nlink = 1, st_mode = 33188,
st_uid = 0, st_gid = 0, pad0 = 0, st_rdev = 0, st_size = 2216, st_blksize =
4096, st_blocks = 8, st_atim = {tv_sec = 1204706395,
tv_nsec = 0}, st_mtim = {tv_sec = 1191860216, tv_nsec = 0}, st_ctim =
{tv_sec = 1200006860, tv_nsec = 0}, __unused = {0, 0, 0}}
len = <value optimized out>
#6 0x00000000004085fe in testmandirs (path=0x621660 "/usr/share/man",
last=1195066122) at check_mandirs.c:354
dir = (DIR *) 0x6226d0
mandir = <value optimized out>
stbuf = {st_dev = 2065, st_ino = 1234000, st_nlink = 2, st_mode =
16877, st_uid = 0, st_gid = 0, pad0 = 0, st_rdev = 0, st_size = 4096,
st_blksize = 4096, st_blocks = 8, st_atim = {
tv_sec = 1204708582, tv_nsec = 0}, st_mtim = {tv_sec = 1203445212, tv_nsec
= 0}, st_ctim = {tv_sec = 1203445212, tv_nsec = 0}, __unused = {0, 0, 0}}
amount = 0
#7 0x0000000000408a28 in update_db (manpath=0x621660 "/usr/share/man") at
check_mandirs.c:563
key = {dptr = 0x68a340 "", dsize = 8}
content = {dptr = 0x68a380 "", dsize = 11}
new = <value optimized out>
#8 0x000000000040306b in mandb (catpath=<value optimized out>,
manpath=0x621660 "/usr/share/man") at mandb.c:325
amount = <value optimized out>
pid = "6615\000\000\000\000▒\024b", '\0' <repeats 11 times>
amount = -7840
dbname = 0x621410 "/var/cache/man/index.db"
#9 0x00000000004034e9 in main (argc=<value optimized out>, argv=0x621600) at
mandb.c:597
global_manpath = 1
catpath = 0x6214c0 "/var/cache/man"
amount_changed = <value optimized out>
c = <value optimized out>
sys_manp = 0x621600
"/usr/man:/usr/share/man:/usr/local/man:/usr/local/share/man:/usr/X11R6/man:/opt/man"
amount = 0
strays = 0
purged = 0
quiet_temp = <value optimized out>
option_index = 5
man_owner = (struct passwd *) 0x2b2be73ec800
__PRETTY_FUNCTION__ = "main"
#10 0x00002b2be70b2b44 in __libc_start_main () from /lib/libc.so.6
#11 0x0000000000402b39 in _start ()
#0 0x00002b2be6eaa593 in ?? () from /usr/lib/libgdbm.so.3
#1 0x00002b2be6eaaa64 in _gdbm_alloc () from /usr/lib/libgdbm.so.3
#2 0x00002b2be6ea932c in gdbm_store () from /usr/lib/libgdbm.so.3
#3 0x000000000040cebb in dbstore (in=0x7fffc3c32140, basename=0x689940 "") at
db_store.c:186
181:
182: if (oldcont.dptr == NULL) { /* situation (1) */
183: if (!STREQ (basename, oldkey.dptr))
184: in->name = xstrdup (basename);
185: oldcont = make_content (in);
186: if (MYDBM_INSERT (dbf, oldkey, oldcont))
187: gripe_insert_unused (oldkey.dptr);
188: free (oldcont.dptr);
189: free (in->name);
190: in->name = NULL;
191: } else if (*oldcont.dptr == '\t') { /* situation (2) */
#4 0x0000000000408dc0 in store_descriptions (head=<value optimized out>,
info=0x7fffc3c32140, base_name=0x626784 "r128") at descriptions_store.c:90
85: }
86:
87: if (debug)
88: fprintf (stderr, "name = '%s', id = %c\n",
89: desc->name, info->id);
90: if (dbstore (info, desc->name) > 0) {
91: gripe_bad_store (base_name, info->ext);
92: break;
93: }
94: }
95: }
#5 0x00000000004082c6 in test_manfile (file=0x6894a0 "128 video driver",
path=0x621660 "/usr/share/man") at check_mandirs.c:307
302: if (lg.whatis) {
303: struct page_description *descs =
304: parse_descriptions (base_name, lg.whatis);
305: if (descs) {
306: if (!opt_test)
307: store_descriptions (descs, &info, base_name);
308: free_descriptions (descs);
309: }
310: } else if (quiet < 2) {
311: (void) stat (ult, &buf);
312: if (buf.st_size == 0)
#6 0x00000000004085fe in testmandirs (path=0x621660 "/usr/share/man",
last=1195066122) at check_mandirs.c:354
349:
350: while ( (newdir = readdir (dir)) )
351: if (!(*newdir->d_name == '.' &&
352: strlen (newdir->d_name) < (size_t) 3)) {
353: manpage = strappend (manpage, newdir->d_name, NULL);
354: test_manfile (manpage, path);
355: *(manpage + len) = '\0';
356: }
357:
358: free (manpage);
359: closedir (dir);
#7 0x0000000000408a28 in update_db (manpath=0x621660 "/usr/share/man") at
check_mandirs.c:563
558:
559: if (debug)
560: fprintf (stderr, "update_db(): %ld\n",
561: content.dptr ? atol (content.dptr) : 0L);
562: if (content.dptr) {
563: new = testmandirs (manpath,
564: (time_t) atol (content.dptr));
565: MYDBM_FREE (content.dptr);
566: } else
567: new = testmandirs (manpath, (time_t) 0);
568:
#8 0x000000000040306b in mandb (catpath=<value optimized out>,
manpath=0x621660 "/usr/share/man") at mandb.c:325
320: short amount;
321:
322: if (single_filename)
323: return update_one_file (manpath, single_filename);
324:
325: amount = update_db (manpath);
326: if (amount != EOF)
327: return amount;
328:
329: return create_db (manpath);
330: }
#9 0x00000000004034e9 in main (argc=<value optimized out>, argv=0x621600) at
mandb.c:597
592: if (single_filename) {
593: if (STRNEQ (*mp, single_filename, strlen (*mp)))
594: amount_changed += mandb (catpath, *mp);
595: /* otherwise try the next manpath */
596: } else
597: amount_changed += mandb (catpath, *mp);
598:
599: amount += amount_changed;
600:
601: if (!opt_test && amount_changed) {
602: finish_up ();
#10 0x00002b2be70b2b44 in __libc_start_main () from /lib/libc.so.6
#11 0x0000000000402b39 in _start ()
** Changed in: man-db (Ubuntu)
Importance: Undecided => High
Status: New => Confirmed
--
man-db exits return code 139 and seg faults
https://bugs.launchpad.net/bugs/200831
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs