On Thu, Jan 04, 2007 at 10:18:12PM -0500, Daniel Jacobowitz wrote:

> Yes, it is - though I can't figure out why GDB is upset.  The debug
> information looks a bit silly, but perfectly harmless.
> 
> I'm not sure how to reproduce this without the entire set of libraries,
> which I'd rather not try :-(  I suppose I could build you some
> debugging versions of GDB...

Yeah, I can run some debug versions for you if you wish. Just send me
a patch for GDB or something. Though it might take some time as I'll
have to take this computer to be repaired in the near future, but I'll
try it after I get it back then.

I thought you might find a backtrace from GDB useful. The line numbers
are still from GDB version 6.5.dfsg-2. Also attached below are the
contents of some structures I thought might be interesting.

------------------------------------------------------------
Breakpoint 1, dwarf2_read_address (buf=0x2b54cc87aff7 ")\205", 
buf_end=0x2b54cc87aff7 ")\205", bytes_read=0x7fffdf0cd79c)
    at /home/sliedes/rec/gdb-6.5.dfsg/gdb/dwarf2expr.c:205
205         error (_("dwarf2_read_address: Corrupted DWARF expression."));
(gdb) bt full
#0  dwarf2_read_address (buf=0x2b54cc87aff7 ")\205", buf_end=0x2b54cc87aff7 
")\205", bytes_read=0x7fffdf0cd79c)
    at /home/sliedes/rec/gdb-6.5.dfsg/gdb/dwarf2expr.c:205
        result = 34084
#1  0x000000000054cb4f in find_location_expression (baton=0x457a968, 
locexpr_length=0x7fffdf0cd810, pc=47117658683169)
    at /home/sliedes/rec/gdb-6.5.dfsg/gdb/dwarf2loc.c:76
        low = 34084
        high = 47117658706294
        loc_ptr = (gdb_byte *) 0x2b54cc87aff7 ")\205"
        buf_end = (gdb_byte *) 0x2b54cc87aff7 ")\205"
        length = 8
        addr_size = 8
        base_mask = 18446744073709551615
        base_offset = 47117658386432
        base_address = 47117658672400
#2  0x000000000054daed in loclist_read_variable (symbol=0x457a908, 
frame=0x4543d68) at /home/sliedes/rec/gdb-6.5.dfsg/gdb/dwarf2loc.c:618
        dlbaton = (struct dwarf2_loclist_baton *) 0x457a968
        val = (struct value *) 0x7fffdf0ce380
        data = (gdb_byte *) 0x44802f "ÉÃUH\211åH\203ì 
H\211}èH\211uàH\213}àè^÷ÿÿH\211EøH\213EøH\213"
        size = 140736935549024
#3  0x00000000004ab2ad in read_var_value (var=0x457a908, frame=0x4543d68) at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/findvar.c:570
        v = (struct value *) 0x0
        type = (struct type *) 0x456a7f0
        addr = 0
        len = 0
#4  0x00000000004ca49e in print_variable_value (var=0x457a908, frame=0x4543d68, 
stream=0x8e0f30)
    at /home/sliedes/rec/gdb-6.5.dfsg/gdb/printcmd.c:1726
        val = (struct value *) 0x69d35c
#5  0x00000000004f0237 in print_block_frame_locals (b=0x458ae80, 
frame=0x4543d68, num_tabs=1, stream=0x8e0f30)
    at /home/sliedes/rec/gdb-6.5.dfsg/gdb/stack.c:1290
        iter = {dict = 0x458aeb8, index = 10, current = 0x45833c8}
        sym = (struct symbol *) 0x457a908
        values_printed = 1
        j = 1
#6  0x00000000004f0433 in print_frame_local_vars (frame=0x4543d68, num_tabs=1, 
stream=0x8e0f30)
    at /home/sliedes/rec/gdb-6.5.dfsg/gdb/stack.c:1361
        block = (struct block *) 0x458ae80
        values_printed = 1
#7  0x00000000004efe3d in backtrace_command_1 (count_exp=0x0, show_locals=1, 
from_tty=1) at /home/sliedes/rec/gdb-6.5.dfsg/gdb/stack.c:1165
        fi = (struct frame_info *) 0x4543d68
        count = -91
        i = 89
        trailing = (struct frame_info *) 0x8beec0
        trailing_level = 0
#8  0x00000000004efeb1 in backtrace_command_stub (data=0x7fffdf0cdad0) at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/stack.c:1186
        args = (struct backtrace_command_args *) 0x7fffdf0cdad0
#9  0x00000000004f3609 in catch_errors (func=0x4efe83 <backtrace_command_stub>, 
func_args=0x7fffdf0cdad0, errstring=0x69d070 "", mask=2)
    at /home/sliedes/rec/gdb-6.5.dfsg/gdb/exceptions.c:515
        val = 0
        exception = {reason = 0, error = GDB_NO_ERROR, message = 0x0}
#10 0x00000000004f00e3 in backtrace_command (arg=0x0, from_tty=1) at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/stack.c:1244
        old_chain = (struct cleanup *) 0x40f0590
        fulltrace_arg = 0
        arglen = 0
        argc = 0
        btargs = {count_exp = 0x0, show_locals = 1, from_tty = 1}
#11 0x0000000000479ae0 in do_cfunc (c=0x8b1530, args=0x87c0b3 "full", 
from_tty=1) at /home/sliedes/rec/gdb-6.5.dfsg/gdb/cli/cli-decode.c:57
No locals.
#12 0x000000000047c714 in cmd_func (cmd=0x8b1530, args=0x87c0b3 "full", 
from_tty=1) at /home/sliedes/rec/gdb-6.5.dfsg/gdb/cli/cli-decode.c:1631
No locals.
#13 0x0000000000440c10 in execute_command (p=0x87c0b6 "l", from_tty=1) at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/top.c:452
        arg = 0x87c0b3 "full"
        c = (struct cmd_list_element *) 0x8b1530
        flang = language_unknown
        line = 0x87c0b0 ""
        warned = 0
#14 0x00000000004f8691 in command_handler (command=0x87c0b0 "") at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/event-top.c:512
        old_chain = (struct cleanup *) 0x0
        stdin_is_tty = 1
        arg1 = (struct continuation_arg *) 0x3530303836313158
        arg2 = (struct continuation_arg *) 0x2b5400363231
        time_at_cmd_start = 2712169
        space_at_cmd_start = 0
#15 0x00000000004f901a in command_line_handler (rl=0x3054280 "") at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/event-top.c:797
        p = 0x42d9ff7 ""
        p1 = 0x42d9ff0 "bt full"
        nline = 0x0
        got_eof = 0 '\0'
        repeat = 1
        linebuffer = 0x42d9ff0 "bt full"
        linelength = 80
#16 0x00002b54cbb18927 in rl_callback_read_char () from /lib/libreadline.so.5
No symbol table info available.
#17 0x00000000004f7b15 in rl_callback_read_char_wrapper (client_data=0x0) at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/event-top.c:178
No locals.
#18 0x00000000004f8543 in stdin_event_handler (error=0, client_data=0x0) at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/event-top.c:428
No locals.
#19 0x00000000004f7094 in handle_file_event (event_file_desc=0) at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/event-loop.c:730
        file_ptr = (file_handler *) 0x8e1030
        mask = 1
        error_mask = 56
        error_mask_returned = 0
#20 0x00000000004f67ab in process_event () at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/event-loop.c:343
        event_ptr = (gdb_event *) 0x3054280
        prev_ptr = (gdb_event *) 0x4f2b1c
        proc = (event_handler_func *) 0x4f6f13 <handle_file_event>
        fd = 0
#21 0x00000000004f67fa in gdb_do_one_event (data=0x0) at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/event-loop.c:380
No locals.
#22 0x00000000004f3609 in catch_errors (func=0x4f67c0 <gdb_do_one_event>, 
func_args=0x0, errstring=0x6809a4 "", mask=6)
    at /home/sliedes/rec/gdb-6.5.dfsg/gdb/exceptions.c:515
        val = 0
        exception = {reason = 0, error = GDB_NO_ERROR, message = 0x0}
#23 0x000000000048c30d in tui_command_loop (data=0x0) at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/tui/tui-interp.c:151
        result = 1
        length = 7
        a_prompt = 0x87c070 "(gdb) "
        gdb_prompt = 0x8d7610 "(gdb) "
#24 0x00000000004f3b78 in current_interp_command_loop () at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/interps.c:278
No locals.
#25 0x0000000000439ff5 in captured_command_loop (data=0x0) at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/main.c:101
No locals.
#26 0x00000000004f3609 in catch_errors (func=0x439fe4 <captured_command_loop>, 
func_args=0x0, errstring=0x66aa1d "", mask=6)
    at /home/sliedes/rec/gdb-6.5.dfsg/gdb/exceptions.c:515
        val = 0
        exception = {reason = 0, error = GDB_NO_ERROR, message = 0x0}
#27 0x000000000043afc5 in captured_main (data=0x7fffdf0ce290) at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/main.c:834
        context = (struct captured_main_args *) 0x7fffdf0ce290
        argc = 3
        argv = (char **) 0x7fffdf0ce388
        count = 2
        symarg = 0x7fffdf0cf55e "firefox-bin"
        execarg = 0x7fffdf0cf55e "firefox-bin"
        corearg = 0x7fffdf0cf56a "core.21785"
        cdarg = 0x0
        ttyarg = 0x0
        cmdarg = (struct cmdarg *) 0x87c070
        cmdsize = 1
        ncmd = 0
        dirarg = (char **) 0x87c090
        dirsize = 1
        ndir = 0
        homebuf = {st_dev = 0, st_ino = 0, st_nlink = 0, st_mode = 0, st_uid = 
0, st_gid = 0, pad0 = 0, st_rdev = 0, st_size = 0,
  st_blksize = 0, st_blocks = 0, st_atim = {tv_sec = 0, tv_nsec = 0}, st_mtim = 
{tv_sec = 0, tv_nsec = 0}, st_ctim = {tv_sec = 0,
    tv_nsec = 0}, __unused = {0, 0, 0}}
        cwdbuf = {st_dev = 0, st_ino = 0, st_nlink = 0, st_mode = 0, st_uid = 
0, st_gid = 0, pad0 = 0, st_rdev = 0, st_size = 0,
  st_blksize = 0, st_blocks = 0, st_atim = {tv_sec = 0, tv_nsec = 0}, st_mtim = 
{tv_sec = 0, tv_nsec = 0}, st_ctim = {tv_sec = 0,
    tv_nsec = 0}, __unused = {0, 0, 0}}
        homedir = 0x7fffdf0cfec5 "/home/sliedes"
        i = 0
        time_at_startup = 8000
        quiet = 0
        batch = 0
        set_args = 0
        print_help = 0
        print_version = 0
        long_options = {{name = 0x66a910 "tui", has_arg = 0, flag = 0x0, val = 
14}, {name = 0x66a914 "xdb", has_arg = 0, flag = 0x85ef50,
    val = 1}, {name = 0x66a918 "dbx", has_arg = 0, flag = 0x85ef54, val = 1}, 
{name = 0x66a91c "readnow", has_arg = 0, flag = 0x8797d8,
    val = 1}, {name = 0x66a924 "r", has_arg = 0, flag = 0x8797d8, val = 1}, 
{name = 0x66a926 "quiet", has_arg = 0, flag = 0x85ef78, val = 1}, {
    name = 0x66a92c "q", has_arg = 0, flag = 0x85ef78, val = 1}, {name = 
0x66a92e "silent", has_arg = 0, flag = 0x85ef78, val = 1}, {
    name = 0x66a935 "nx", has_arg = 0, flag = 0x85f028, val = 1}, {name = 
0x66a938 "n", has_arg = 0, flag = 0x85f028, val = 1}, {
    name = 0x66a93a "batch-silent", has_arg = 0, flag = 0x0, val = 66}, {name = 
0x66a947 "batch", has_arg = 0, flag = 0x85ef74, val = 1}, {
    name = 0x66a94d "epoch", has_arg = 0, flag = 0x878c78, val = 1}, {name = 
0x66a953 "fullname", has_arg = 0, flag = 0x0, val = 102}, {
    name = 0x66a95c "f", has_arg = 0, flag = 0x0, val = 102}, {name = 0x66a95e 
"annotate", has_arg = 1, flag = 0x0, val = 12}, {
    name = 0x66a967 "help", has_arg = 0, flag = 0x85ef6c, val = 1}, {name = 
0x66a96c "se", has_arg = 1, flag = 0x0, val = 10}, {
    name = 0x66a96f "symbols", has_arg = 1, flag = 0x0, val = 115}, {name = 
0x66a977 "s", has_arg = 1, flag = 0x0, val = 115}, {
    name = 0x66a979 "exec", has_arg = 1, flag = 0x0, val = 101}, {name = 
0x66a97e "e", has_arg = 1, flag = 0x0, val = 101}, {
    name = 0x66a980 "core", has_arg = 1, flag = 0x0, val = 99}, {name = 
0x66a985 "c", has_arg = 1, flag = 0x0, val = 99}, {
    name = 0x66a987 "pid", has_arg = 1, flag = 0x0, val = 112}, {name = 
0x66a98b "p", has_arg = 1, flag = 0x0, val = 112}, {
    name = 0x66a98d "command", has_arg = 1, flag = 0x0, val = 120}, {name = 
0x66a995 "eval-command", has_arg = 1, flag = 0x0, val = 88}, {
    name = 0x66a9a2 "version", has_arg = 0, flag = 0x85ef68, val = 1}, {name = 
0x66a9aa "x", has_arg = 1, flag = 0x0, val = 120}, {
    name = 0x66a9ac "ex", has_arg = 1, flag = 0x0, val = 88}, {name = 0x66a9af 
"ui", has_arg = 1, flag = 0x0, val = 105}, {
    name = 0x66a9b2 "interpreter", has_arg = 1, flag = 0x0, val = 105}, {name = 
0x66a9be "i", has_arg = 1, flag = 0x0, val = 105}, {
    name = 0x66a9c0 "directory", has_arg = 1, flag = 0x0, val = 100}, {name = 
0x66a9ca "d", has_arg = 1, flag = 0x0, val = 100}, {
    name = 0x66a9cc "cd", has_arg = 1, flag = 0x0, val = 11}, {name = 0x66a9cf 
"tty", has_arg = 1, flag = 0x0, val = 116}, {
    name = 0x66a9d3 "baud", has_arg = 1, flag = 0x0, val = 98}, {name = 
0x66a9d8 "b", has_arg = 1, flag = 0x0, val = 98}, {
    name = 0x66a9da "nw", has_arg = 0, flag = 0x0, val = 15}, {name = 0x66a9dd 
"nowindows", has_arg = 0, flag = 0x0, val = 15}, {
    name = 0x66a9e7 "w", has_arg = 0, flag = 0x0, val = 16}, {name = 0x66a9e9 
"windows", has_arg = 0, flag = 0x0, val = 16}, {
    name = 0x66a9f1 "statistics", has_arg = 0, flag = 0x0, val = 13}, {name = 
0x66a9fc "write", has_arg = 0, flag = 0x85ef90, val = 1}, {
    name = 0x66aa02 "args", has_arg = 0, flag = 0x85ef70, val = 1}, {name = 
0x66aa07 "l", has_arg = 1, flag = 0x0, val = 108}, {
    name = 0x66aa09 "return-child-result", has_arg = 0, flag = 0x85ef64, val = 
1}, {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
#28 0x00000000004f3609 in catch_errors (func=0x43a027 <captured_main>, 
func_args=0x7fffdf0ce290, errstring=0x66aa1d "", mask=6)
    at /home/sliedes/rec/gdb-6.5.dfsg/gdb/exceptions.c:515
        val = 0
        exception = {reason = 0, error = GDB_NO_ERROR, message = 0x0}
#29 0x000000000043aff8 in gdb_main (args=0x7fffdf0ce290) at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/main.c:843
No locals.
#30 0x0000000000439fe0 in main (argc=3, argv=0x7fffdf0ce388) at 
/home/sliedes/rec/gdb-6.5.dfsg/gdb/gdb.c:35
        args = {argc = 3, argv = 0x7fffdf0ce388, use_windows = 0, interpreter_p 
= 0x66a904 "console"}
------------------------------------------------------------

------------------------------------------------------------
(gdb) fra 1
#1  0x000000000054cb4f in find_location_expression (baton=0x457a968, 
locexpr_length=0x7fffdf0cd810, pc=47117658683169)
    at /home/sliedes/rec/gdb-6.5.dfsg/gdb/dwarf2loc.c:76
76            high = dwarf2_read_address (loc_ptr, buf_end, &length);
(gdb) print *baton
$1 = {base_address = 285968, data = 0x2b54cc87a550 "Æ\025", size = 2727, 
objfile = 0x13a8330}
(gdb) print *baton->[EMAIL PROTECTED]
$4 = 
"Æ\025\000\000\000\000\000\000d\026\000\000\000\000\000\000\003\000\221à{d\026\000\000\000\000\000\000t\026\000\000\000\000\000\000\001\000QP\027\000\000\000\000\000\000h\027\000\000\000\000\000\000\001\000Q±\027\000\000\000\000\000\000ß\027\000\000\000\000\000\000\001\000Qß\027\000\000\000\000\000\000\030\030\000\000\000\000\000\000\001\000Vu\030"
(gdb) fra 2
#2  0x000000000054daed in loclist_read_variable (symbol=0x457a908, 
frame=0x4543d68) at /home/sliedes/rec/gdb-6.5.dfsg/gdb/dwarf2loc.c:618
618       data = find_location_expression (dlbaton, &size,
(gdb) print *symbol
$6 = {ginfo = {name = 0x457a958 "currentVersion", value = {ivalue = 0, block = 
0x0, bytes = 0x0, address = 0, chain = 0x0},
    language_specific = {cplus_specific = {demangled_name = 0x0}}, language = 
language_c, section = 0, bfd_section = 0x0}, type = 0x456a7f0,
  domain = VAR_DOMAIN, aclass = LOC_COMPUTED, line = 2055, ops = 0x6ba480, 
aux_value = {basereg = -22168, ptr = 0x457a968}, hash_next = 0x0}
------------------------------------------------------------

        Sami

Attachment: signature.asc
Description: Digital signature

Reply via email to