This is the mail archive of the gdb-prs@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]

[Bug breakpoints/17059] New: GDB crashes on setting breakpoint


https://sourceware.org/bugzilla/show_bug.cgi?id=17059

            Bug ID: 17059
           Summary: GDB crashes on setting breakpoint
           Product: gdb
           Version: 7.7
            Status: NEW
          Severity: normal
          Priority: P2
         Component: breakpoints
          Assignee: unassigned at sourceware dot org
          Reporter: ks132 at yandex dot ru

Gdb crashes with stack overflow when setting breakpoint on function
'f(param*)'.
If I add param struct definition at 1st line (remove comment), breakpoint works
as expected.

:~$ cat test.c 
//struct param {};

typedef struct param param;

void f(param* p) {}

int main() { f(0); return 0;}
:~$ 
:~$ 
:~$ g++ -Wall -Wextra -g test.c
test.c:5:6: warning: unused parameter âpâ [-Wunused-parameter]
:~$ 

:gdb$ gdb --args ./gdb --data-directory=`pwd`/data-directory -ex "b
'f(param*)'" ~/a.out 
GNU gdb (GDB) 7.6.1
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/asemenov/gdb-7.7.1/gdb/gdb...done.
Setting up the environment for debugging gdb.
During symbol reading, cannot get low and high bounds for subprogram DIE at
7577453.
During symbol reading, Child DIE 0x73b8db and its abstract origin 0x73a00c have
different parents.
Breakpoint 1 at 0x669510: file utils.c, line 826.
Breakpoint 2 at 0x4d0a30: file ./cli/cli-cmds.c, line 218.
(top-gdb) r
Starting program: /home/asemenov/gdb-7.7.1/gdb/./gdb
--data-directory=/home/asemenov/gdb-7.7.1/gdb/data-directory -ex b\
\'f\(param\*\)\' /home/asemenov/a.out
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
GNU gdb (GDB) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:

warning: python_printers.gdb: No such file or directory
Reading symbols from /home/asemenov/a.out...done.
During symbol reading, cannot get low and high bounds for subprogram DIE at
2986673.
During symbol reading, Child DIE 0x2d96cc and its abstract origin 0x2d92ea have
different parents.

Program received signal SIGSEGV, Segmentation fault.
During symbol reading, incomplete CFI data; unspecified registers (e.g., rax)
at 0x50eee0.
cpname_parse () at cp-name-parser.c:2077
2077          yychar = YYLEX;
(top-gdb) bt
#0  cpname_parse () at cp-name-parser.c:2077
#1  0x0000000000511a33 in cp_demangled_name_to_comp (demangled_name=<optimized
out>, errmsg=0x0) at cp-name-parser.y:2102
#2  0x0000000000678068 in cp_canonicalize_string_full (string=0xddea50 "param",
finder=0x651460 <find_typedef_for_canonicalize>, data=0xb9be60
<default_ptype_flags>)
    at cp-support.c:540
#3  0x000000000065144d in print_name_maybe_canonical (name=0xddea50 "param",
flags=<optimized out>, stream=0xd6b7a0) at c-typeprint.c:69
#4  0x0000000000651612 in c_type_print_base (type=0xdde9e0, stream=0xd6b7a0,
show=-1, level=0, flags=0xb9be60 <default_ptype_flags>) at c-typeprint.c:862
#5  0x00000000006534d4 in c_print_type (type=0xdde9e0, varstring=0x76f610 "",
stream=0xd6b7a0, show=-1, level=0, flags=0xb9be60 <default_ptype_flags>)
    at c-typeprint.c:105
#6  0x0000000000677a66 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:248
#7  0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#8  0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#9  0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#10 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#11 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#12 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#13 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#14 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#15 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#16 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#17 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#18 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#19 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#20 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#21 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#22 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#23 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#24 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#25 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#26 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#27 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#28 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#29 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#30 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#31 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#32 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#33 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#34 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#35 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#36 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#37 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#38 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#39 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#40 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#41 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#42 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#43 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
#44 0x0000000000677af3 in inspect_type (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:276
#45 0x0000000000677e49 in replace_typedefs (info=0xddc5c0, ret_comp=0xdea428,
finder=0x0, data=0x0) at cp-support.c:492
---Type <return> to continue, or q <return> to quit---q
Quit
(top-gdb)

-- 
You are receiving this mail because:
You are on the CC list for the bug.

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