This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] 12266 (typedef'd parameters) revisited again


On Sat, 04 Jun 2011 01:33:26 +0200, Keith Seitz wrote:
> Of course, it is still possible that I've neglected something along
> the line.

This patch crashes for me on:
./gdb -nx -ex "b '__gnu_cxx::__detail::__mini_vector<std::pair<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*, __gnu_cxx::bitmap_allocator<char>::_Alloc_block*> >::deallocate(std::pair<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*, __gnu_cxx::bitmap_allocator<char>::_Alloc_block*>*, unsigned long)'" ~/t/libstdc++.so.6.0.16 -ex q

where libstdc++.so.6.0.16 has build-id 3b4e74185daae5c573056df66b5807908029eac8
, it is associated by its .debug file and comes from gcc-4.6.0-7.fc15.x86_64.

valgring first problematic crash is below.

Attaching scripts/patches I use to reach at the pre-physname functionality
without regressions, that is to be able to at least:
(gdb) break 'function name as seen in nm -C'

gdb-breakpoint.pl
 - run by: for i in variant-to-run;do time ~/t/gdb-breakpoint.pl 0 ~/t/gdb-$i ~/redhat/binutils-clean/binutils/nm-new-{clean,retdrop} ~/t/libstdc++.so.6.0.16 >~/t/gdb-breakpoint-out-libstdcxx-$i; time ~/t/gdb-breakpoint.pl 0 ~/t/gdb-$i ~/redhat/binutils-clean/binutils/nm-new-{clean,retdrop} ~/t/libwebkitgtk-1.0.so.0.5.2 >~/t/gdb-breakpoint-out-libwebkit-$i;done
 - nm-new-retdrop is nm patched for DMGL_RET_DROP
gdb-breakpoint-fix.pl
 - some postprocessing of the output from gdb-breakpoint.pl
gdb-breakpoint-diff.pl
 - comparison of two files to reach 0 regressions against pre-physname GDB
gdb-breakpoint-O2g.patch
 - workaround GDB PR 12822 - Assertion `found' failed.
gdb-breakpoint-hack_count-old.patch
gdb-breakpoint-hack_count-new.patch
 - workaround GDB PR 12828 - Too slow break on -O2 -g code
 - two variants for pre-physname and recent GDB sources

Some stats out of gdb-breakpoint-diff.pl:

pre-phys -> jan
	prev bad:     1324
	now bad:        53
	both bad:       53
	regression:      0
	improvement:  1271
	both good:   47619
pre-phys -> master
	prev bad:     1324
	now bad:      3243
	both bad:      813
	regression:   2430
	improvement:   511
	both good:   45189
master -> jan
	prev bad:     3243
	now bad:        53
	both bad:       53
	regression:      0
	improvement:  3190
	both good:   45700


Thanks,
Jan


Invalid read of size 8
   at 0x5E8B2B6: __memcpy_ssse3_back (memcpy-ssse3-back.S:1624)
   by 0x41A5D0: mem_file_write (ui-file.c:457)
   by 0x419DF9: ui_file_write (ui-file.c:214)
   by 0x4223B3: replace_typedefs_qualified_name (cp-support.c:224)
   by 0x422585: replace_typedefs (cp-support.c:294)
   by 0x4225BF: replace_typedefs (cp-support.c:309)
   by 0x422538: replace_typedefs (cp-support.c:285)
   by 0x4225A2: replace_typedefs (cp-support.c:304)
   by 0x422493: replace_typedefs_qualified_name (cp-support.c:254)
   by 0x422585: replace_typedefs (cp-support.c:294)
   by 0x4225BF: replace_typedefs (cp-support.c:309)
   by 0x422538: replace_typedefs (cp-support.c:285)
   by 0x4225A2: replace_typedefs (cp-support.c:304)
   by 0x4225A2: replace_typedefs (cp-support.c:304)
   by 0x42264D: cp_canonicalize_string_no_typedefs (cp-support.c:338)
   by 0x61FD06: find_methods (linespec.c:252)
   by 0x6232B3: find_method (linespec.c:1747)
   by 0x622CAA: decode_compound (linespec.c:1599)
   by 0x621779: decode_line_1 (linespec.c:939)
   by 0x5CF964: parse_breakpoint_sals (breakpoint.c:7739)
   by 0x5D0341: create_breakpoint (breakpoint.c:7971)
   by 0x5D0AEC: break_command_1 (breakpoint.c:8203)
   by 0x5D0CA4: break_command (breakpoint.c:8276)
   by 0x58D724: do_cfunc (cli-decode.c:67)
   by 0x5908A9: cmd_func (cli-decode.c:1777)
   by 0x411BF1: execute_command (top.c:435)
   by 0x644FDF: catch_command_errors (exceptions.c:522)
   by 0x407E70: captured_main (main.c:913)
   by 0x644F44: catch_errors (exceptions.c:506)
   by 0x407F05: gdb_main (main.c:946)
   by 0x406BA2: main (gdb.c:35)
 Address 0xda91035 is 11 bytes before a block of size 227,731,995 alloc'd
   at 0x4C284F2: realloc (vg_replace_malloc.c:525)
   by 0x415552: xrealloc (utils.c:1270)
   by 0x41A59B: mem_file_write (ui-file.c:455)
   by 0x419DF9: ui_file_write (ui-file.c:214)
   by 0x4223B3: replace_typedefs_qualified_name (cp-support.c:224)
   by 0x422585: replace_typedefs (cp-support.c:294)
   by 0x4225BF: replace_typedefs (cp-support.c:309)
   by 0x422538: replace_typedefs (cp-support.c:285)
   by 0x4225A2: replace_typedefs (cp-support.c:304)
   by 0x422493: replace_typedefs_qualified_name (cp-support.c:254)
   by 0x422585: replace_typedefs (cp-support.c:294)
   by 0x4225BF: replace_typedefs (cp-support.c:309)
   by 0x422538: replace_typedefs (cp-support.c:285)
   by 0x4225A2: replace_typedefs (cp-support.c:304)
   by 0x4225A2: replace_typedefs (cp-support.c:304)
   by 0x42264D: cp_canonicalize_string_no_typedefs (cp-support.c:338)
   by 0x61FD06: find_methods (linespec.c:252)
   by 0x6232B3: find_method (linespec.c:1747)
   by 0x622CAA: decode_compound (linespec.c:1599)
   by 0x621779: decode_line_1 (linespec.c:939)
   by 0x5CF964: parse_breakpoint_sals (breakpoint.c:7739)
   by 0x5D0341: create_breakpoint (breakpoint.c:7971)
   by 0x5D0AEC: break_command_1 (breakpoint.c:8203)
   by 0x5D0CA4: break_command (breakpoint.c:8276)
   by 0x58D724: do_cfunc (cli-decode.c:67)
   by 0x5908A9: cmd_func (cli-decode.c:1777)
   by 0x411BF1: execute_command (top.c:435)
   by 0x644FDF: catch_command_errors (exceptions.c:522)
   by 0x407E70: captured_main (main.c:913)
   by 0x644F44: catch_errors (exceptions.c:506)
   by 0x407F05: gdb_main (main.c:946)
   by 0x406BA2: main (gdb.c:35)

Attachment: gdb-breakpoint.pl
Description: Text document

Attachment: gdb-breakpoint-fix.pl
Description: Text document

Attachment: gdb-breakpoint-diff.pl
Description: Text document

Attachment: gdb-breakpoint-O2g.patch
Description: Text document

Attachment: gdb-breakpoint-hack_count-old.patch
Description: Text document

Attachment: gdb-breakpoint-hack_count-new.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]