[Bug gdb/18869] internal-error: inline_frame_this_id: Assertion `frame_id_p (*this_id)' failed.

dawid_jurek at vp dot pl sourceware-bugzilla@sourceware.org
Thu Sep 27 17:14:00 GMT 2018


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

--- Comment #7 from Dawid <dawid_jurek at vp dot pl> ---
Hi,

I can easly reproduce this issue with gdb 8.2, after loading (quite huge) one
of ScyllaDB binary. Backtrace is following:

top-gdb) thread apply all bt
(top-gdb)

Thread 1 (Thread 0x7f3724befac0 (LWP 26109)):
#0  0x00007f3725494d7f in raise () from /usr/lib/libc.so.6
#1  0x00007f372547f672 in abort () from /usr/lib/libc.so.6
#2  0x0000562c1df268d6 in dump_core () at utils.c:255
#3  0x0000562c1df2934d in internal_vproblem(internal_problem *, const char *,
int, const char *, typedef __va_list_tag __va_list_tag *)
(problem=0x562c1e366e00 <internal_error_problem>, file=<optimized out>,
line=160, fmt=<optimized out>, ap=<optimized out>)
    at utils.c:465
#4  0x0000562c1df2949b in internal_verror (file=<optimized out>,
line=<optimized out>, fmt=<optimized out>, ap=ap@entry=0x7ffc03f05e20) at
utils.c:490
#5  0x0000562c1dd7f31f in internal_error (file=file@entry=0x562c1e0f2424
"inline-frame.c", line=line@entry=160, fmt=<optimized out>) at
common/errors.c:55
#6  0x0000562c1de363e6 in inline_frame_this_id (this_frame=0x562c69604970,
this_cache=<optimized out>, this_id=0x562c696049d0) at inline-frame.c:169
#7  0x0000562c1ddfaa4c in compute_frame_id (fi=fi@entry=0x562c69604970) at
frame.c:521
#8  0x0000562c1ddfb020 in get_prev_frame_if_no_cycle
(this_frame=0x562c67de0380) at frame.c:1902
#9  0x0000562c1ddfcba0 in get_prev_frame_always_1
(this_frame=this_frame@entry=0x562c67de0380) at frame.c:2084
#10 0x0000562c1ddfd1ed in get_prev_frame_always (this_frame=0x562c67de0380) at
frame.c:2100
#11 0x0000562c1ddfd498 in get_prev_frame
(this_frame=this_frame@entry=0x562c67de0380) at frame.c:2353
#12 0x0000562c1ddb9584 in value_of_dwarf_reg_entry
(type=type@entry=0x562c56fb4c10, frame=frame@entry=0x562c67de0380,
kind=kind@entry=CALL_SITE_PARAMETER_DWARF_REG, kind_u=...) at dwarf2loc.c:1411
#13 0x0000562c1ddb96bb in value_of_dwarf_block_entry (type=0x562c56fb4c10,
frame=0x562c67de0380, block=0x7f36a0a47af3 "U\366\310\\\003",
block_len=<optimized out>) at dwarf2loc.c:1464
#14 0x0000562c1ddb97db in loclist_read_variable_at_entry
(symbol=0x562c6048ee50, frame=0x562c67de0380) at dwarf2loc.c:4483
#15 0x0000562c1dec7bc8 in read_frame_arg (sym=0x562c6048ee50,
frame=0x562c67de0380, argp=0x7ffc03f062c0, entryargp=0x7ffc03f062e0) at
stack.c:370
#16 0x0000562c1dec8613 in print_frame_args (func=<optimized out>,
frame=frame@entry=0x562c67de0380, num=num@entry=-1, stream=0x562c204b0a30) at
stack.c:681
#17 0x0000562c1dec9031 in print_frame (print_args=<optimized out>,
print_what=LOCATION, print_level=<optimized out>, frame=0x562c67de0380,
sal=...) at stack.c:1203
#18 print_frame_info (frame=0x562c67de0380, print_level=<optimized out>,
print_what=LOCATION, print_args=<optimized out>, set_current_sal=0) at
stack.c:860
#19 0x0000562c1dec9c30 in backtrace_command_1 (from_tty=1,
no_filters=<optimized out>, flags=..., count_exp=<optimized out>) at
stack.c:1790
#20 backtrace_command (arg=<optimized out>, from_tty=1) at stack.c:1865
#21 0x0000562c1dc85752 in cmd_func (cmd=<optimized out>, args=<optimized out>,
from_tty=<optimized out>) at cli/cli-decode.c:1857
#22 0x0000562c1df0c4a1 in execute_command (p=<optimized out>,
p@entry=0x562c2204e730 "bt", from_tty=1) at top.c:630
#23 0x0000562c1ddf149c in command_handler (command=0x562c2204e730 "bt") at
event-top.c:583
#24 0x0000562c1ddf20aa in command_line_handler (rl=<optimized out>) at
event-top.c:774
#25 0x0000562c1ddf0cac in gdb_rl_callback_handler (rl=0x562c204a1110 "") at
event-top.c:213
#26 0x0000562c1df678df in rl_callback_read_char () at callback.c:220
#27 0x0000562c1ddf0bd6 in gdb_rl_callback_read_char_wrapper_noexcept () at
event-top.c:175
#28 0x0000562c1ddf0c59 in gdb_rl_callback_read_char_wrapper
(client_data=<optimized out>) at event-top.c:191
#29 0x0000562c1ddf1100 in stdin_event_handler (error=<optimized out>,
client_data=0x562c1fd816f0) at event-top.c:511
#30 0x0000562c1ddefff5 in gdb_wait_for_event (block=<optimized out>) at
event-loop.c:859
#31 0x0000562c1ddf0198 in gdb_do_one_event () at event-loop.c:347
#32 0x0000562c1ddf02ae in gdb_do_one_event () at event-loop.c:371
#33 start_event_loop () at event-loop.c:371
#34 0x0000562c1de520db in captured_command_loop () at main.c:330
#35 0x0000562c1de5308d in captured_main (data=<optimized out>) at main.c:1157
#36 gdb_main (args=<optimized out>) at main.c:1173
#37 0x0000562c1dc34c9b in main (argc=<optimized out>, argv=<optimized out>) at
gdb.c:32

As I see crash comes from unwinder (frame.c) so I used "set debug frame 1" to
produce more debug output during unwinding process.
Full gdb dump is attached.
Hope it helps.

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


More information about the Gdb-prs mailing list