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 c++/17164] New: gdb assert in elf_gnu_ifunc_resolver_return_stop


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

            Bug ID: 17164
           Summary: gdb assert in elf_gnu_ifunc_resolver_return_stop
           Product: gdb
           Version: 7.7
            Status: NEW
          Severity: normal
          Priority: P2
         Component: c++
          Assignee: unassigned at sourceware dot org
          Reporter: dichlofos-mv at yandex dot ru

HTR:

1. compile a simple proggie using strlen function using -fno-builtin-strlen (I
can attach the binary if necessary).

2. run gdb:

gdb ./builtin-strlen-valgrind-bug 
GNU gdb (GDB) 7.7.1
<skipped>
This GDB was configured as "x86_64-unknown-linux-gnu".
<skipped>
Reading symbols from ./builtin-strlen-valgrind-bug...done.
(gdb) b strlen
Breakpoint 1 at 0x44c0f0
(gdb) r
Starting program:
/place/home/mvel/work/trunk/arcadia/junk/mvel/tests/builtin-strlen-valgrind-bug/builtin-strlen-valgrind-bug 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/elfread.c:1061:
internal-error: elf_gnu_ifunc_resolver_return_stop: Assertion `b->loc->next ==
NULL' failed.

A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n

/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/elfread.c:1061:
internal-error: elf_gnu_ifunc_resolver_return_stop: Assertion `b->loc->next ==
NULL' failed.

After dumping gdb core I received the following backtrace:

#0  0x00007f3e0ba6e425 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f3e0ba71b8b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00000000006814d6 in dump_core () at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/utils.c:635
#3  0x0000000000682d58 in internal_vproblem (problem=0xa05d50
<internal_error_problem>, file=<optimized out>, line=1061, fmt=<optimized out>,
ap=0x7fff8d8bc070)
    at /place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/utils.c:804
#4  0x0000000000682f59 in internal_verror (file=<optimized out>,
line=<optimized out>, fmt=<optimized out>, ap=0x7f3e0caf1260 <stack_used>)
    at /place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/utils.c:820
#5  0x0000000000683001 in internal_error (file=0x5f0 <error: Cannot access
memory at address 0x5f0>, line=1520, string=0x6 <error: Cannot access memory at
address 0x6>)
    at /place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/utils.c:830
#6  0x00000000005169e6 in elf_gnu_ifunc_resolver_return_stop (b=0x32f15d0) at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/elfread.c:1061
#7  0x0000000000546dfc in bpstat_what (bs_head=0x1ecd840) at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/breakpoint.c:5632
#8  0x00000000005a7205 in process_event_stop_test (ecs=0x7fff8d8bc700) at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/infrun.c:4459
#9  0x00000000005a92f8 in handle_signal_stop (ecs=0x7fff8d8bc700) at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/infrun.c:4436
#10 0x00000000005abd2c in wait_for_inferior () at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/infrun.c:2776
#11 0x00000000005ac458 in proceed (addr=<optimized out>, siggnal=GDB_SIGNAL_0,
step=0) at /place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/infrun.c:2331
#12 0x00000000005a09b0 in run_command_1 (args=0x0, from_tty=1,
tbreak_at_main=<optimized out>) at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/infcmd.c:610
#13 0x000000000067ed3f in execute_command (p=0x1a42180 "", from_tty=1) at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/top.c:468
#14 0x00000000005c0cf5 in command_handler (command=0x1a42180 "") at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/event-top.c:435
#15 0x00000000005c1742 in command_line_handler (rl=<optimized out>) at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/event-top.c:632
#16 0x00000000006c613b in rl_callback_read_char () at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/readline/callback.c:220
#17 0x00000000005c0d69 in rl_callback_read_char_wrapper (client_data=0x5f0) at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/event-top.c:164
#18 0x00000000005bfdd4 in process_event () at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/event-loop.c:342
#19 0x00000000005c0a54 in gdb_do_one_event () at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/event-loop.c:406
#20 0x00000000005c0ab5 in start_event_loop () at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/event-loop.c:431
#21 0x00000000005b9783 in captured_command_loop (data=0x5f0) at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/main.c:267
#22 0x00000000005b7bbb in catch_errors (func=<optimized out>,
func_args=<optimized out>, errstring=<optimized out>, mask=<optimized out>)
    at /place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/exceptions.c:524
#23 0x00000000005ba456 in captured_main (data=<optimized out>) at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/main.c:1067
#24 0x00000000005b7bbb in catch_errors (func=<optimized out>,
func_args=<optimized out>, errstring=<optimized out>, mask=<optimized out>)
    at /place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/exceptions.c:524
#25 0x00000000005b9744 in gdb_main (args=0x5f0) at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/main.c:1076
#26 0x000000000046be3e in main (argc=<optimized out>, argv=0x5f0) at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/gdb.c:34


(gdb) fr 6
#6  0x00000000005169e6 in elf_gnu_ifunc_resolver_return_stop (b=0x32f15d0) at
/place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/elfread.c:1061
1061    /place/sandbox-data/tasks/3/8/16555283/gdb-7.7.1/gdb/elfread.c: No such
file or directory.
(gdb) p b
$1 = (struct breakpoint *) 0x32f15d0
(gdb) p *b
$2 = {
  ops = 0xa2f360 <bkpt_breakpoint_ops>, 
  next = 0x1c49070, 
  type = bp_gnu_ifunc_resolver, 
  enable_state = bp_enabled, 
  disposition = disp_donttouch, 
  number = 2, 
  loc = 0x1e64bb0, 
  silent = 0 '\000', 
  display_canonical = 0 '\000', 
  ignore_count = 0, 
  enable_count = 0, 
  commands = 0x0, 
  frame_id = {
    stack_addr = 0, 
    code_addr = 0, 
    special_addr = 0, 
    stack_status = FID_STACK_INVALID, 
    code_addr_p = 0, 
    special_addr_p = 0, 
    artificial_depth = 0
  }, 
  pspace = 0x0, 
  addr_string = 0x1fce950 "strlen", 
  filter = 0x0, 
  addr_string_range_end = 0x0, 
  gdbarch = 0x1efe860, 
  language = language_c, 
  input_radix = 10, 
  cond_string = 0x0, 
  extra_string = 0x0, 
  related_breakpoint = 0x32f15d0, 
  thread = -1, 
  task = 0, 
  hit_count = 1, 
  condition_not_parsed = 0, 
  py_bp_object = 0x0
}

-- 
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]