From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9779 invoked by alias); 16 Oct 2009 21:19:43 -0000 Received: (qmail 9765 invoked by uid 48); 16 Oct 2009 21:19:42 -0000 Date: Fri, 16 Oct 2009 21:19:00 -0000 From: "sourceware at charles dot derkarl dot org" To: gdb-prs@sourceware.org Message-ID: <20091016211941.10794.sourceware@charles.derkarl.org> Reply-To: sourceware-bugzilla@sourceware.org Subject: [Bug c++/10794] New: Crash while trying to demangle this symbol X-Bugzilla-Reason: CC Mailing-List: contact gdb-prs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-prs-owner@sourceware.org X-SW-Source: 2009-q4/txt/msg00105.txt.bz2 Here is the symbol: _ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKN4maaa7nbbbbbb4core c++filt also doesn't understand this. You'll note that if I remove the @plt, c++filt does get it. (I've replaced a few characters so that you can't tell what the code is - I really apologize for having doing this - I just don't exactly want it "on the record") I compiled gdb with -g3 -O0, and got this backtrace from its crash [once again with that symbol renamed slightly]. #0 0x082b6859 in d_make_comp (di=0xbf801478, type=DEMANGLE_COMPONENT_CONST, left=0x0, right=0x0) at ./cp-demangle.c:853 #1 0x082b8882 in d_cv_qualifiers (di=0xbf801478, pret=0xbf800090, member_fn=0) at ./cp-demangle.c:2213 #2 0x082b8031 in cplus_demangle_type (di=0xbf801478) at ./cp- #3 0x082b8ffd in d_template_arg (di=0xbf801478) at ./cp-demangle.c:2516 #4 0x082b8ec7 in d_template_args (di=0xbf801478) at ./cp-demangle.c:2468 #5 0x082b6e9c in d_name (di=0xbf801478) at ./cp-demangle.c:1194 #6 0x082b8b00 in d_class_enum_type (di=0xbf801478) at ./cp-demangle.c:2314 #7 0x082b82a8 in cplus_demangle_type (di=0xbf801478) at ./cp- #8 0x082b8ffd in d_template_arg (di=0xbf801478) at ./cp-demangle.c:2516 #9 0x082b8ec7 in d_template_args (di=0xbf801478) at ./cp-demangle.c:2468 #10 0x082b6e9c in d_name (di=0xbf801478) at ./cp-demangle.c:1194 #11 0x082b8b00 in d_class_enum_type (di=0xbf801478) at ./cp-demangle.c:2314 #12 0x082b82a8 in cplus_demangle_type (di=0xbf801478) at ./cp- #13 0x082b8ffd in d_template_arg (di=0xbf801478) at ./cp-demangle.c:2516 #14 0x082b8ec7 in d_template_args (di=0xbf801478) at ./cp-demangle.c:2468 #15 0x082b70bc in d_prefix (di=0xbf801478) at ./cp-demangle.c:1288 #16 0x082b6faf in d_nested_name (di=0xbf801478) at ./cp-demangle.c:1234 #17 0x082b6d94 in d_name (di=0xbf801478) at ./cp-demangle.c:1150 #18 0x082b6c47 in d_encoding (di=0xbf801478, top_level=1) at ./cp- #19 0x082b6b3e in cplus_demangle_mangled_name (di=0xbf801478, top_level=1) at ./cp-demangle.c:1018 #20 0x082bc65d in d_demangle_callback ( mangled=0xb48c4f2f "_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKN4maaa7nbbbbbb4cor options=259, callback=0x82b9d5b , opaque=0xbf8014f4) at ./cp-demangle.c:4545 #21 0x082bc783 in d_demangle ( mangled=0xb48c4f2f "_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKN4maaa7nbbbbbb4cor options=259, palc=0xbf801534) at ./cp-demangle.c:4594 #22 0x082bc7e3 in cplus_demangle_v3 ( mangled=0xb48c4f2f "_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKN4maaa7nbbbbbb4cor options=259) at ./cp-demangle.c:4751 #23 0x082af7dc in cplus_demangle ( mangled=0xb48c4f2f "_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKN4maaa7nbbbbbb4cor options=3) at ./cplus-dem.c:862 #24 0x0810ff5a in symbol_find_demangled_name (gsymbol=0xbf3203c, mangled=0xb48c4f2f "_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKN4maaa7nbbbbbb4cor at symtab.c:476 #25 0x08110261 in symbol_set_names (gsymbol=0xbf3203c, linkage_name=0xb48c4f2f "_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKN4maaa7nbbbbbb4cor len=144, objfile=0x882fec8) at symtab.c:599 #26 0x0804f1fc in prim_record_minimal_symbol_and_info ( name=0xb48c4f2f "_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKN4maaa7nbbbbbb4cor address=3072686080, ms_type=mst_text, section=11, bfd_section=0x86451a4, objfile=0x882fec8) at minsyms.c:798 #27 0x080cb7cc in record_minimal_symbol ( name=0xb48c4f2f "_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKN4maaa7nbbbbbb4cor address=3072686080, ms_type=mst_text, bfd_section=0x86451a4, objfile=0x882fec8) at elfread.c:174 #28 0x080cbf07 in elf_symtab_read (objfile=0x882fec8, type=2, number_of_symbols=69315, symbol_table=0xb32d880) at elfread.c:502 #29 0x080cc3d3 in elf_symfile_read (objfile=0x882fec8, mainline=0) at elfread.c:666 #30 0x08117fbb in syms_from_objfile (objfile=0x882fec8, addrs=0x84e8ed0, offsets=0x0, num_offsets=0, add_flags=8) at symfile.c:889 #31 0x08118171 in symbol_file_add_with_addrs_or_offsets (abfd=0x85fbe88, add_flags=8, addrs=0x84e8ed0, offsets=0x0, num_offsets=0, flags=2) at symfile.c:990 #32 0x081183c3 in symbol_file_add_from_bfd (abfd=0x85fbe88, add_flags=8, addrs=0x84e8ed0, flags=2) at symfile.c:1091 #33 0x0806d7bd in symbol_add_stub (so=0x84df588, flags=8) at solib.c:459 #34 0x0806d8b9 in solib_read_symbols (so=0x84df588, flags=8) at solib.c:489 #35 0x0806dcbe in solib_add (pattern=0x0, from_tty=0, target=0x8423020, readsyms=1) at solib.c:750 #36 0x0812e2a2 in handle_inferior_event (ecs=0xbfffec0c) at infrun.c:3581 #37 0x0812b969 in wait_for_inferior (treat_exec_as_sigtrap=0) at infrun.c:2050 #38 0x0812b08d in proceed (addr=4294967295, siggnal=TARGET_SIGNAL_0, step=0) at infrun.c:1652 #39 0x0812540c in run_command_1 (args=0x0, from_tty=1, tbreak_at_main=0) at infcmd.c:577 #40 0x0812543c in run_command (args=0x0, from_tty=1) at infcmd.c:587 #41 0x080a7cd7 in do_cfunc (c=0x844bff0, args=0x0, from_tty=1) at ./cli/cli-decode.c:67 #42 0x080aa447 in cmd_func (cmd=0x844bff0, args=0x0, from_tty=1) at ./cli/cli-decode.c:1738 #43 0x08050c16 in execute_command (p=0x84249a3 "", from_tty=1) at top.c:453 #44 0x0814065a in command_handler (command=0x84249a0 "") at event-top.c:511 #45 0x08140cae in command_line_handler (rl=0x8459998 "\250\231E\b\30\201X\b") at event-top.c:736 #46 0x08221344 in rl_callback_read_char () at callback.c:205 #47 0x0813fdcf in rl_callback_read_char_wrapper (client_data=0x0) at event- #48 0x08140528 in stdin_event_handler (error=0, client_data=0x0) at event- #49 0x0813f264 in handle_file_event (data=...) at event-loop.c:812 #50 0x0813e9c3 in process_event () at event-loop.c:394 #51 0x0813ea9b in gdb_do_one_event (data=0x0) at event-loop.c:459 #52 0x081398ff in catch_errors (func=0x813e9d8 , func_args=0x0, errstring=0x82f0c17 "", mask=6) at exceptions.c:510 #53 0x080bb07f in tui_command_loop (data=0x0) at ./tui/tui-interp.c:153 #54 0x08139eb0 in current_interp_command_loop () at interps.c:291 #55 0x08048510 in captured_command_loop (data=0x0) at ./main.c:226 #56 0x081398ff in catch_errors (func=0x8048505 , func_args=0x0, errstring=0x82d6609 "", mask=6) at exceptions.c:510 #57 0x08049458 in captured_main (data=0xbffff130) at ./main.c:902 #58 0x081398ff in catch_errors (func=0x8048546 , func_args=0xbffff130, errstring=0x82d6609 "", mask=6) at exceptions.c:510 #59 0x0804948e in gdb_main (args=0xbffff130) at ./main.c:911 #60 0x08048287 in main (argc=2, argv=0xbffff1e4) at gdb.c:33 If I do an "nm" on the library containing that symbol, it does exist (but without the @plt) - I guess it's not that the demangler is wrong, but that the @plt doesn't belong in that symbol to begin with. What's strange is that at the line of code that it crashes at, there's really nothing that could cause that: p = d_make_empty (di); 0x082b684b : jmp 0x82b688a 0x082b684d : movl $0x0,-0x14(%ebp) 0x082b6854 : jmp 0x82b688a 0x082b6856 : mov 0x8(%ebp),%eax 0x082b6859 : mov %eax,(%esp) 0x082b685c : call 0x82b67aa Weird, huh. Here's `print *di`: { s = 0xb48c4f2f "_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKN4maaa7nbbbbbb4cor send = 0xb48c4fbf "", options = 259, n = 0xb48c4f67 "PKN4maaa7nbbbbbb4core9IddddddddEPNS3_10seeeeeeeee3bff13Fgggggggggggg7Shhhhhh subs = 0xbf800430, next_sub = 4, num_subs = 144, did_subs = 0, last_name = 0xbf8006c8, expansion = 12} Please let me know if you need more information, I can also provide realtime information on IRC if you ask. -- Summary: Crash while trying to demangle this symbol Product: gdb Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at sourceware dot org ReportedBy: sourceware at charles dot derkarl dot org CC: gdb-prs at sourceware dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://sourceware.org/bugzilla/show_bug.cgi?id=10794 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.