public inbox for gdb-prs@sourceware.org help / color / mirror / Atom feed
From: "simon.marchi at polymtl dot ca" <sourceware-bugzilla@sourceware.org> To: gdb-prs@sourceware.org Subject: [Bug backtrace/29395] blockframe.c:79: internal-error: get_frame_block: Assertion `bl != NULL' failed. Date: Thu, 15 Dec 2022 20:09:28 +0000 [thread overview] Message-ID: <bug-29395-4717-iBwdphbzdU@http.sourceware.org/bugzilla/> (raw) In-Reply-To: <bug-29395-4717@http.sourceware.org/bugzilla/> https://sourceware.org/bugzilla/show_bug.cgi?id=29395 --- Comment #5 from Simon Marchi <simon.marchi at polymtl dot ca> --- Ok, I got it to crash by installing the Arch Linux packages you provided on Arch Linux system, and then: $ /usr/bin/gdb /usr/bin/kicad -c kicad-core-gdb-crasher I then tried using my own build of GDB, it wouldn't crash. I rebuilt the Arch package with debug info to understand where it crashes, it's within a frame-filter implementation. To reproduce the crash, we need this to be loaded: (gdb) info frame-filter objfile /usr/lib/libgobject-2.0.so.0 frame-filters: Priority Enabled Name 100 Yes glib So, I was able to get the crash on master with: $ /home/simark/build/binutils-gdb-opt/gdb/gdb -nx --data-directory=/home/simark/build/binutils-gdb-opt/gdb/data-directory -iex "add-auto-load-scripts-directory /usr/share/gdb/auto-load" -iex "set auto-load safe-path /" -q /usr/bin/kicad -c ../gdb-29395/kicad-core-gdb-crasher -ex bt -batch (top-gdb) bt #0 internal_error_loc (file=file@entry=0x555555b56080 "/home/simark/src/binutils-gdb/gdb/blockframe.c", line=line@entry=79, fmt=fmt@entry=0x555555b55d40 "%s: Assertion `%s' failed.") at /home/simark/src/binutils-gdb/gdbsupport/errors.cc:54 #1 0x00005555560c2129 in get_frame_block (frame=..., addr_in_block=addr_in_block@entry=0x0) at /home/simark/src/binutils-gdb/gdb/blockframe.c:79 #2 0x00005555560c2d84 in get_frame_function (frame=...) at /home/simark/src/binutils-gdb/gdb/blockframe.c:120 #3 0x0000555556d4ff8b in find_frame_funname (frame=..., funlang=funlang@entry=0x7fffffffaa20, funcp=funcp@entry=0x7fffffffaa30) at /home/simark/src/binutils-gdb/gdb/stack.c:1288 #4 0x0000555556aff348 in frapy_function (self=<optimized out>, args=<optimized out>) at /home/simark/src/binutils-gdb/gdb/python/py-frame.c:329 #5 0x00007ffff7358204 in method_vectorcall_NOARGS (func=0x7ffff201f420, args=0x7ffff20eb2b8, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/descrobject.c:432 #6 0x00007ffff7344f4a in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff20eb2b8, callable=0x7ffff201f420, tstate=0x6120000c5ec0) at ./Include/cpython/abstract.h:114 #7 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff20eb2b8, callable=0x7ffff201f420) at ./Include/cpython/abstract.h:123 #8 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fffffffacf0, tstate=<optimized out>) at Python/ceval.c:5891 #9 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=0x7ffff20eb130, throwflag=<optimized out>) at Python/ceval.c:4198 #10 0x00007ffff7355959 in _PyEval_EvalFrame (throwflag=0, f=0x7ffff20eb130, tstate=0x6120000c5ec0) at ./Include/internal/pycore_ceval.h:46 #11 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7ffff20ec560, tstate=0x6120000c5ec0) at Python/ceval.c:5065 #12 _PyFunction_Vectorcall (func=0x7ffff20ec550, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:342 #13 0x00007ffff7344f4a in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7fffe94f1398, callable=0x7ffff20ec550, tstate=0x6120000c5ec0) at ./Include/cpython/abstract.h:114 #14 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7fffe94f1398, callable=0x7ffff20ec550) at ./Include/cpython/abstract.h:123 #15 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fffffffaeb0, tstate=<optimized out>) at Python/ceval.c:5891 #16 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=0x7fffe94f1220, throwflag=<optimized out>) at Python/ceval.c:4198 #17 0x00007ffff7355959 in _PyEval_EvalFrame (throwflag=0, f=0x7fffe94f1220, tstate=0x6120000c5ec0) at ./Include/internal/pycore_ceval.h:46 #18 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7fffe9555130, tstate=0x6120000c5ec0) at Python/ceval.c:5065 #19 _PyFunction_Vectorcall (func=0x7fffe9555120, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:342 #20 0x00007ffff7344b16 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=<optimized out>, callable=0x7fffe9555120, tstate=0x6120000c5ec0) at ./Include/cpython/abstract.h:114 #21 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=<optimized out>, callable=0x7fffe9555120) at ./Include/cpython/abstract.h:123 #22 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fffffffb070, tstate=<optimized out>) at Python/ceval.c:5891 #23 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=0x7ffff20eaf80, throwflag=<optimized out>) at Python/ceval.c:4213 #24 0x00007ffff7355959 in _PyEval_EvalFrame (throwflag=0, f=0x7ffff20eaf80, tstate=0x6120000c5ec0) at ./Include/internal/pycore_ceval.h:46 #25 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7fffe9555a30, tstate=0x6120000c5ec0) at Python/ceval.c:5065 #26 _PyFunction_Vectorcall (func=0x7fffe9555a20, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:342 #27 0x00007ffff7344f4a in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff2086b90, callable=0x7fffe9555a20, tstate=0x6120000c5ec0) at ./Include/cpython/abstract.h:114 #28 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff2086b90, callable=0x7fffe9555a20) at ./Include/cpython/abstract.h:123 #29 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fffffffb230, tstate=<optimized out>) at Python/ceval.c:5891 #30 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=0x7ffff20869f0, throwflag=<optimized out>) at Python/ceval.c:4198 #31 0x00007ffff7355959 in _PyEval_EvalFrame (throwflag=0, f=0x7ffff20869f0, tstate=0x6120000c5ec0) at ./Include/internal/pycore_ceval.h:46 #32 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7fffe9555ac0, tstate=0x6120000c5ec0) at Python/ceval.c:5065 #33 _PyFunction_Vectorcall (func=0x7fffe9555ab0, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:342 #34 0x00007ffff7344f4a in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff2090b10, callable=0x7fffe9555ab0, tstate=0x6120000c5ec0) at ./Include/cpython/abstract.h:114 #35 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff2090b10, callable=0x7fffe9555ab0) at ./Include/cpython/abstract.h:123 #36 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fffffffb3f0, tstate=<optimized out>) at Python/ceval.c:5891 #37 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=0x7ffff20909a0, throwflag=<optimized out>) at Python/ceval.c:4198 #38 0x00007ffff73ad757 in _PyEval_EvalFrame (throwflag=0, f=0x7ffff20909a0, tstate=0x6120000c5ec0) at ./Include/internal/pycore_ceval.h:46 #39 _PyEval_Vector (kwnames=0x0, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7fffe9555b50, tstate=0x6120000c5ec0) at Python/ceval.c:5065 #40 _PyFunction_Vectorcall (kwnames=0x0, nargsf=1, stack=<optimized out>, func=0x7fffe9555b40) at Objects/call.c:342 #41 _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=<optimized out>, callable=0x7fffe9555b40, tstate=0x6120000c5ec0) at ./Include/cpython/abstract.h:114 #42 vectorcall_unbound (nargs=<optimized out>, args=<optimized out>, func=<optimized out>, unbound=<optimized out>, tstate=<optimized out>) at Objects/typeobject.c:1629 #43 vectorcall_method (name=<optimized out>, args=<optimized out>, nargs=<optimized out>) at Objects/typeobject.c:1661 #44 0x00007ffff73dbab0 in slot_tp_iternext (self=<optimized out>) at Objects/typeobject.c:7672 #45 0x00007ffff73e134d in islice_next (lz=0x7fffe95c5030) at ./Modules/itertoolsmodule.c:1729 #46 0x00007ffff7339894 in PyIter_Next (iter=<optimized out>) at Objects/abstract.c:2874 #47 0x0000555556b0bbbf in gdbpy_apply_frame_filter (extlang=<optimized out>, frame=..., flags=..., args_type=<optimized out>, out=<optimized out>, frame_low=<optimized out>, frame_high=-1) at /home/simark/src/binutils-gdb/gdb/python/py-framefilter.c:1205 #48 0x00005555565aff8d in apply_ext_lang_frame_filter (frame=..., flags=..., args_type=args_type@entry=CLI_SCALAR_VALUES, out=out@entry=0x60b000041800, frame_low=frame_low@entry=0, frame_high=frame_high@entry=-1) at /home/simark/src/binutils-gdb/gdb/extension.c:541 #49 0x0000555556d5f6e2 in backtrace_command_1 (from_tty=0, count_exp=0x0, bt_opts=..., fp_opts=...) at /home/simark/src/binutils-gdb/gdb/stack.c:2051 #50 backtrace_command (arg=<optimized out>, from_tty=<optimized out>) at /home/simark/src/binutils-gdb/gdb/stack.c:2192 #51 0x000055555625e667 in cmd_func (cmd=0x61200008bcc0, args=<optimized out>, from_tty=<optimized out>) at /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:2543 #52 0x0000555556eebc83 in execute_command (p=<optimized out>, from_tty=<optimized out>) at /home/simark/src/binutils-gdb/gdb/top.c:697 #53 0x00005555569151d6 in catch_command_errors (command=<optimized out>, arg=<optimized out>, from_tty=<optimized out>, do_bp_actions=do_bp_actions@entry=true) at /home/simark/src/binutils-gdb/gdb/main.c:513 #54 0x00005555569154cf in execute_cmdargs (cmdarg_vec=cmdarg_vec@entry=0x7fffffffce90, file_type=file_type@entry=CMDARG_FILE, cmd_type=cmd_type@entry=CMDARG_COMMAND, ret=ret@entry=0x7fffffffca50) at /home/simark/src/binutils-gdb/gdb/main.c:608 #55 0x000055555691c610 in captured_main_1 (context=context@entry=0x7fffffffd490) at /home/simark/src/binutils-gdb/gdb/main.c:1299 #56 0x000055555691d9eb in captured_main (data=data@entry=0x7fffffffd490) at /home/simark/src/binutils-gdb/gdb/main.c:1320 #57 gdb_main (args=args@entry=0x7fffffffd490) at /home/simark/src/binutils-gdb/gdb/main.c:1345 #58 0x0000555555f639bb in main (argc=14, argv=0x7fffffffd638) at /home/simark/src/binutils-gdb/gdb/gdb.c:32 PS: I think you'll find the master branch of GDB (to be GDB 13) much faster to initially load the debug info, thanks to Tom Tromey's DWARF reader refactor. I can really see the difference with binaries of this size, between 12 and master. -- You are receiving this mail because: You are on the CC list for the bug.
next prev parent reply other threads:[~2022-12-15 20:09 UTC|newest] Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-07-22 13:02 [Bug backtrace/29395] New: " georgepee at gmail dot com 2022-07-25 15:27 ` [Bug backtrace/29395] " georgepee at gmail dot com 2022-08-24 13:20 ` georgepee at gmail dot com 2022-12-15 18:08 ` seth.pellegrino at gmail dot com 2022-12-15 18:11 ` simon.marchi at polymtl dot ca 2022-12-15 18:43 ` seth.pellegrino at gmail dot com 2022-12-15 19:14 ` simon.marchi at polymtl dot ca 2022-12-15 20:09 ` simon.marchi at polymtl dot ca [this message] 2022-12-15 20:27 ` simon.marchi at polymtl dot ca 2022-12-15 21:02 ` seth.pellegrino at gmail dot com 2022-12-15 21:12 ` simon.marchi at polymtl dot ca 2022-12-16 16:27 ` tromey at sourceware dot org 2022-12-20 23:03 ` simark at simark dot ca 2022-12-21 4:49 ` simark at simark dot ca
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-29395-4717-iBwdphbzdU@http.sourceware.org/bugzilla/ \ --to=sourceware-bugzilla@sourceware.org \ --cc=gdb-prs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).