Bug 242155 - Segmentation fault Reading symbols from /usr/lib/debug/usr/lib/thunderbird-
Summary: Segmentation fault Reading symbols from /usr/lib/debug/usr/lib/thunderbird-2....
Alias: None
Product: Fedora
Classification: Fedora
Component: gdb
Version: 7
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Jan Kratochvil
QA Contact:
Depends On:
Blocks: 242432
TreeView+ depends on / blocked
Reported: 2007-06-01 21:15 UTC by Orion Poplawski
Modified: 2007-11-30 22:12 UTC (History)
2 users (show)

Clone Of:
Last Closed: 2007-06-11 22:08:00 UTC

Attachments (Terms of Use)
Reproducer from thunderbird-debuginfo- . (21.70 KB, application/octet-stream)
2007-06-02 05:15 UTC, Jan Kratochvil
no flags Details

Description Orion Poplawski 2007-06-01 21:15:22 UTC
Description of problem:

I installed the thunderbird-debuginfo package to attempt to get information on a
thunderbird segmentation fault, but when I try to connect to the thunderbird

[root@cynosure ~]# gdb -p 6131
GNU gdb Red Hat Linux (6.6-8.fc7rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu".
Attaching to process 6131
Reading symbols from /usr/lib/thunderbird-
symbols from
Using host libthread_db library "/lib/libthread_db.so.1".
Reading symbols from /usr/lib/thunderbird- symbols
from /usr/lib/debug/usr/lib/thunderbird-
Loaded symbols for /usr/lib/thunderbird-
Reading symbols from /usr/lib/thunderbird- symbols
from /usr/lib/debug/usr/lib/thunderbird-

Comment 1 Orion Poplawski 2007-06-01 21:34:45 UTC
With gdb-debuginfo installed:

Program terminated with signal 11, Segmentation fault.
#0  dwarf_decode_lines (lh=0xa42a900, comp_dir=0x0, abfd=0xa3e3a28, cu=0xbf9bdd18,
    pst=0xa4fb40c) at gdb/dwarf2read.c:6693
6693    gdb/dwarf2read.c: No such file or directory.
        in gdb/dwarf2read.c
(gdb) bt
#0  dwarf_decode_lines (lh=0xa42a900, comp_dir=0x0, abfd=0xa3e3a28, cu=0xbf9bdd18,
    pst=0xa4fb40c) at gdb/dwarf2read.c:6693
#1  0x0815e598 in dwarf2_build_psymtabs (objfile=0xa4eeb30, mainline=0)
    at gdb/dwarf2read.c:1397
#2  0x081540a3 in elf_symfile_read (objfile=0xa4eeb30, mainline=0) at
#3  0x0810bbc2 in syms_from_objfile (objfile=0xa4eeb30, addrs=0xa06b270,
    num_offsets=0, mainline=0, verbo=1) at gdb/symfile.c:830
#4  0x0810bf48 in symbol_file_add_with_addrs_or_offsets (abfd=0xa3e3a28, from_tty=1,
    addrs=0xa06b270, offsets=0x0, num_offsets=0, mainline=0, flags=8)
    at gdb/symfile.c:946
#5  0x0810bf9a in symbol_file_add_with_addrs_or_offsets (abfd=<value optimized out>,
    from_tty=1, addrs=0xa356500, offsets=0x0, num_offsets=0, mainline=0,
    flags=<value optimized out>) at gdb/symfile.c:976
#6  0x08092430 in symbol_add_stub (arg=0x9eddad0) at gdb/solib.c:432
#7  0x08124853 in catch_errors (func=0x8092340 <symbol_add_stub>,
    errstring=0x824d2f4 "Error while reading shared library symbols:\n", mask=6)
    at gdb/exceptions.c:515
#8  0x080920aa in solib_read_symbols (so=0x9eddad0, from_tty=1) at gdb/solib.c:459
#9  0x08092a12 in solib_add (pattern=0x0, from_tty=1, target=0x832c2a0, readsyms=1)
    at gdb/solib.c:694
#10 0x081173c8 in post_create_inferior (target=0x832c2a0, from_tty=1) at
#11 0x081174c4 in attach_command (args=0xbf9c0af4 "6131", from_tty=1)
    at gdb/infcmd.c:1938
#12 0x081247c9 in catch_command_errors (command=0x81173f0 <attach_command>,
    arg=0xbf9c0af4 "6131", from_tty=1, mask=6) at gdb/exceptions.c:530
#13 0x0807f1d2 in captured_main (data=0xbf9bf2c4) at gdb/main.c:701
#14 0x08124853 in catch_errors (func=0x807ec10 <captured_main>,
    errstring=0x8251a49 "", mask=6) at gdb/exceptions.c:515
#15 0x0807ebc1 in gdb_main (args=0xbf9bf2c4) at gdb/main.c:836
#16 0x0807eb85 in main (argc=Cannot access memory at address 0xe
) at gdb/gdb.c:35

Not sure why it doesn't find /usr/src/debug/gdb-6.6/gdb/dwarf2read.c.  Running
gdb in /usr/src/debug/gdb-6.6 gives us:

#0  dwarf_decode_lines (lh=0xa42a900, comp_dir=0x0, abfd=0xa3e3a28, cu=0xbf9bdd18,
    pst=0xa4fb40c) at gdb/dwarf2read.c:6693
6693                  lh->file_names[file - 1].included_p = 1;
(gdb) list
6688                  /* Special operand.  */
6689                  adj_opcode = op_code - lh->opcode_base;
6690                  address += (adj_opcode / lh->line_range)
6691                    * lh->minimum_instruction_length;
6692                  line += lh->line_base + (adj_opcode % lh->line_range);
6693                  lh->file_names[file - 1].included_p = 1;
6694                  if (!decode_for_pst_p)
6695                    {
6696                      if (last_subfile != current_subfile)
6697                        {
(gdb) print lh
$1 = (struct line_header *) 0xa42a900
(gdb) print file
$2 = 1
((gdb) print lh->file_names
$3 = (struct file_entry *) 0x0

Comment 2 Jan Kratochvil 2007-06-02 05:14:29 UTC
Confirming reproducibility besides the reported i386 also on x86_64.
Thanks, it just needs a CVS backport worth the F7 update release:

Comment 3 Jan Kratochvil 2007-06-02 05:15:27 UTC
Created attachment 155962 [details]
Reproducer from thunderbird-debuginfo- .

Comment 4 Jan Kratochvil 2007-06-05 09:00:26 UTC
*** Bug 242432 has been marked as a duplicate of this bug. ***

Comment 5 Fedora Update System 2007-06-11 22:07:57 UTC
gdb-6.6-15.fc7 has been pushed to the Fedora 7 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.