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
signature.asc
Description: Digital signature