public inbox for gdb-prs@sourceware.org help / color / mirror / Atom feed
* [Bug ada/31648] New: [gdb/ada] segfault in coerce_ref @ 2024-04-17 11:05 vries at gcc dot gnu.org 2024-04-18 7:37 ` [Bug ada/31648] " vries at gcc dot gnu.org ` (7 more replies) 0 siblings, 8 replies; 9+ messages in thread From: vries at gcc dot gnu.org @ 2024-04-17 11:05 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=31648 Bug ID: 31648 Summary: [gdb/ada] segfault in coerce_ref Product: gdb Version: 13.1 Status: NEW Severity: normal Priority: P2 Component: ada Assignee: unassigned at sourceware dot org Reporter: vries at gcc dot gnu.org Target Milestone: --- On SLE-11 (using gcc 4.8.5), with a gdb 13.2-based package, I ran into: ... (gdb) PASS: gdb.ada/tick_length_array_enum_idx.exp: print cold'length print vars'length^M ^M ^M Fatal signal: Segmentation fault^M ----- Backtrace -----^M 0x4fff92 gdb_internal_backtrace_1^M ../../gdb/bt-utils.c:122^M 0x4fff92 _Z22gdb_internal_backtracev^M ../../gdb/bt-utils.c:168^M 0x613677 handle_fatal_signal^M ../../gdb/event-top.c:971^M 0x6136ff handle_sigsegv^M ../../gdb/event-top.c:1044^M 0x154aae20f84f ???^M 0x8f6bad _Z10coerce_refP5value^M ../../gdb/value.c:3904^M 0x8f6c55 _Z12coerce_arrayP5value^M ../../gdb/value.c:3930^M 0x8e9484 _Z16value_struct_eltPP5valueN3gdb8optionalINS2_10array_viewIS0_EEEEPKcPiS8_^M ../../gdb/valops.c:2342^M 0x451674 desc_one_bound^M ../../gdb/ada-lang.c:1965^M 0x4545fc ada_array_length^M ../../gdb/ada-lang.c:3373^M 0x4545fc ada_unop_atr^M ../../gdb/ada-lang.c:10440^M 0x4545fc _ZN4expr22ada_unop_atr_operation8evaluateEP4typeP10expression6noside^M ../../gdb/ada-lang.c:10849^M 0x61182e _ZN10expression8evaluateEP4type6noside^M ../../gdb/eval.c:101^M 0x77b89c process_print_command_args^M ../../gdb/printcmd.c:1310^M 0x77c26d print_command_1^M ../../gdb/printcmd.c:1323^M 0x5330f5 _Z8cmd_funcP16cmd_list_elementPKci^M ../../gdb/cli/cli-decode.c:2543^M 0x8a1446 _Z15execute_commandPKci^M ../../gdb/top.c:690^M 0x6143a3 _Z15command_handlerPKc^M ../../gdb/event-top.c:628^M 0x61536d _Z20command_line_handlerOSt10unique_ptrIcN3gdb13xfree_deleterIcEEE^M ../../gdb/event-top.c:864^M 0x61392b gdb_rl_callback_handler^M ../../gdb/event-top.c:256^M 0x91f7ff rl_callback_read_char^M ../../../readline/readline/callback.c:290^M 0x613b3d gdb_rl_callback_read_char_wrapper_noexcept^M ../../gdb/event-top.c:192^M 0x613d0f gdb_rl_callback_read_char_wrapper^M ../../gdb/event-top.c:231^M 0x61379f stdin_event_handler^M ../../gdb/event-top.c:553^M 0xac453c gdb_wait_for_event^M ../../gdbsupport/event-loop.cc:694^M 0xac4cd1 _Z16gdb_do_one_eventi^M ../../gdbsupport/event-loop.cc:264^M 0x6f1699 start_event_loop^M ../../gdb/main.c:411^M 0x6f1699 captured_command_loop^M ../../gdb/main.c:471^M 0x6f2ea4 captured_main^M ../../gdb/main.c:1330^M 0x6f2ea4 _Z8gdb_mainP18captured_main_args^M ../../gdb/main.c:1345^M 0x414c54 main^M ../../gdb/gdb.c:32^M ---------------------^M A fatal error internal to GDB has been detected, further^M debugging is not possible. GDB will now terminate.^M ^M This is a bug, please report it. For instructions, see:^M <http://bugs.opensuse.org/>.^M ^M ERROR: GDB process no longer exists GDB process exited with wait status 32036 exp7 0 0 CHILDKILLED SIGSEGV {segmentation violation} UNRESOLVED: gdb.ada/tick_length_array_enum_idx.exp: print vars'length ... At gdb/value.c:3904 we have: ... struct value * coerce_ref (struct value *arg) { struct type *value_type_arg_tmp = check_typedef (value_type (arg)); ... -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug ada/31648] [gdb/ada] segfault in coerce_ref 2024-04-17 11:05 [Bug ada/31648] New: [gdb/ada] segfault in coerce_ref vries at gcc dot gnu.org @ 2024-04-18 7:37 ` vries at gcc dot gnu.org 2024-04-18 7:39 ` vries at gcc dot gnu.org ` (6 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: vries at gcc dot gnu.org @ 2024-04-18 7:37 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=31648 --- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> --- Backtrace in gdb: ... (gdb) bt #0 0x0000000000d0e5cc in value_type (value=0x0) at /data/vries/gdb/src/gdb/value.c:1111 #1 0x0000000000d13fc6 in coerce_ref (arg=0x0) at /data/vries/gdb/src/gdb/value.c:3904 #2 0x0000000000d140f8 in coerce_array (arg=0x0) at /data/vries/gdb/src/gdb/value.c:3930 #3 0x0000000000cfbab4 in value_struct_elt (argp=0x7fffffffcea8, args=..., name=0x7fffffffceb0 "LB0", static_memfuncp=0x0, err=0x14b5508 "Bad GNAT array descriptor bounds") at /data/vries/gdb/src/gdb/valops.c:2342 #4 0x000000000045b93b in desc_one_bound (bounds=0x0, i=1, which=0) at /data/vries/gdb/src/gdb/ada-lang.c:1965 #5 0x000000000045ee7e in ada_array_length (arr=0x2bd0820, n=1) at /data/vries/gdb/src/gdb/ada-lang.c:3373 #6 0x000000000046e6ad in ada_unop_atr (exp=0x36bb650, noside=EVAL_NORMAL, op=OP_ATR_LENGTH, arg1=0x2bd0820, type_arg=0x0, tem=1) at /data/vries/gdb/src/gdb/ada-lang.c:10440 #7 0x000000000046fb77 in expr::ada_unop_atr_operation::evaluate (this=0x35313f0, expect_type=0x0, exp=0x36bb650, noside=EVAL_NORMAL) at /data/vries/gdb/src/gdb/ada-lang.c:10849 #8 0x000000000076fbcb in expression::evaluate (this=0x36bb650, expect_type=0x0, noside=EVAL_NORMAL) at /data/vries/gdb/src/gdb/eval.c:101 #9 0x000000000076fc78 in evaluate_expression (exp=0x36bb650, expect_type=0x0) at /data/vries/gdb/src/gdb/eval.c:115 #10 0x00000000009f3fb6 in process_print_command_args (args=0x35b8cd6 "vars'length", print_opts=0x7fffffffd190, voidprint=true) at /data/vries/gdb/src/gdb/printcmd.c:1306 #11 0x00000000009f4038 in print_command_1 (args=0x35b8cd6 "vars'length", voidprint=1) at /data/vries/gdb/src/gdb/printcmd.c:1319 #12 0x00000000009f4480 in print_command (exp=0x35b8cd6 "vars'length", from_tty=0) at /data/vries/gdb/src/gdb/printcmd.c:1452 #13 0x00000000005e7672 in do_simple_func (args=0x35b8cd6 "vars'length", from_tty=0, c=0x2a23e40) at /data/vries/gdb/src/gdb/cli/cli-decode.c:95 #14 0x00000000005ec422 in cmd_func (cmd=0x2a23e40, args=0x35b8cd6 "vars'length", from_tty=0) at /data/vries/gdb/src/gdb/cli/cli-decode.c:2543 #15 0x0000000000c3cb4b in execute_command (p=0x35b8ce0 "h", from_tty=0) at /data/vries/gdb/src/gdb/top.c:690 #16 0x0000000000779fc8 in command_handler (command=0x35b8cd0 "print vars'length") at /data/vries/gdb/src/gdb/event-top.c:616 #17 0x0000000000c3c26b in read_command_file (stream=0x2bcd610) at /data/vries/gdb/src/gdb/top.c:457 --Type <RET> for more, q to quit, c to continue without paging-- #18 0x0000000000600ad8 in script_from_file (stream=0x2bcd610, file=0x7fffffffe1ee "gdb.in") at /data/vries/gdb/src/gdb/cli/cli-script.c:1641 #19 0x00000000005ded44 in source_script_from_stream (stream=0x2bcd610, file=0x7fffffffe1ee "gdb.in", file_to_open=0x7fffffffd6e0 "gdb.in") at /data/vries/gdb/src/gdb/cli/cli-cmds.c:728 #20 0x00000000005dee99 in source_script_with_search (file=0x7fffffffe1ee "gdb.in", from_tty=0, search_path=0) at /data/vries/gdb/src/gdb/cli/cli-cmds.c:773 #21 0x00000000005def15 in source_script (file=0x7fffffffe1ee "gdb.in", from_tty=0) at /data/vries/gdb/src/gdb/cli/cli-cmds.c:782 #22 0x00000000008fab4a in catch_command_errors (command=0x5deef0 <source_script(char const*, int)>, arg=0x7fffffffe1ee "gdb.in", from_tty=0, do_bp_actions=false) at /data/vries/gdb/src/gdb/main.c:513 #23 0x00000000008face5 in execute_cmdargs (cmdarg_vec=0x7fffffffd970, file_type=CMDARG_FILE, cmd_type=CMDARG_COMMAND, ret=0x7fffffffd94c) at /data/vries/gdb/src/gdb/main.c:605 #24 0x00000000008fc0b2 in captured_main_1 (context=0x7fffffffdbb0) at /data/vries/gdb/src/gdb/main.c:1299 #25 0x00000000008fc2b5 in captured_main (data=0x7fffffffdbb0) at /data/vries/gdb/src/gdb/main.c:1320 #26 0x00000000008fc320 in gdb_main (args=0x7fffffffdbb0) at /data/vries/gdb/src/gdb/main.c:1345 #27 0x000000000041909e in main (argc=7, argv=0x7fffffffdcc8) at /data/vries/gdb/src/gdb/gdb.c:32 ... -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug ada/31648] [gdb/ada] segfault in coerce_ref 2024-04-17 11:05 [Bug ada/31648] New: [gdb/ada] segfault in coerce_ref vries at gcc dot gnu.org 2024-04-18 7:37 ` [Bug ada/31648] " vries at gcc dot gnu.org @ 2024-04-18 7:39 ` vries at gcc dot gnu.org 2024-04-18 7:46 ` vries at gcc dot gnu.org ` (5 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: vries at gcc dot gnu.org @ 2024-04-18 7:39 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=31648 --- Comment #2 from Tom de Vries <vries at gcc dot gnu.org> --- (In reply to Tom de Vries from comment #0) > On SLE-11 (using gcc 4.8.5), with a gdb 13.2-based package, I ran into: Minor precision: the package is build using gdb 4.8.5, but the test-case is compiled using gcc 4.3.4. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug ada/31648] [gdb/ada] segfault in coerce_ref 2024-04-17 11:05 [Bug ada/31648] New: [gdb/ada] segfault in coerce_ref vries at gcc dot gnu.org 2024-04-18 7:37 ` [Bug ada/31648] " vries at gcc dot gnu.org 2024-04-18 7:39 ` vries at gcc dot gnu.org @ 2024-04-18 7:46 ` vries at gcc dot gnu.org 2024-04-18 7:54 ` vries at gcc dot gnu.org ` (4 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: vries at gcc dot gnu.org @ 2024-04-18 7:46 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=31648 Tom de Vries <vries at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Version|13.1 |HEAD --- Comment #3 from Tom de Vries <vries at gcc dot gnu.org> --- Reproduced with trunk. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug ada/31648] [gdb/ada] segfault in coerce_ref 2024-04-17 11:05 [Bug ada/31648] New: [gdb/ada] segfault in coerce_ref vries at gcc dot gnu.org ` (2 preceding siblings ...) 2024-04-18 7:46 ` vries at gcc dot gnu.org @ 2024-04-18 7:54 ` vries at gcc dot gnu.org 2024-04-18 7:54 ` vries at gcc dot gnu.org ` (3 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: vries at gcc dot gnu.org @ 2024-04-18 7:54 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=31648 --- Comment #4 from Tom de Vries <vries at gcc dot gnu.org> --- With this: ... diff --git a/gdb/valops.c b/gdb/valops.c index a17b937a963..90be1c0a86b 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -2330,6 +2330,9 @@ value_struct_elt (struct value **argp, struct type *t; struct value *v; + if (*argp == nullptr) + error (_("%s"), err); + *argp = coerce_array (*argp); t = check_typedef ((*argp)->type ()); ... we have instead: ... $ gdb -q -batch -ex "set trace-commands on" -x gdb.in +file foo_n207_004 +break foo_n207_004.adb:25 Breakpoint 1 at 0x401cc0: file /usr/src/packages/BUILD/gdb-13.2/gdb/testsuite/gdb.ada/tick_length_array_enum_idx/foo_n207_004.adb, line 25. +run Breakpoint 1, foo_n207_004 () at /usr/src/packages/BUILD/gdb-13.2/gdb/testsuite/gdb.ada/tick_length_array_enum_idx/foo_n207_004.adb:25 warning: 25 /usr/src/packages/BUILD/gdb-13.2/gdb/testsuite/gdb.ada/tick_length_array_enum_idx/foo_n207_004.adb: No such file or directory +print vars'length gdb.in:4: Error in sourced command file: Bad GNAT array descriptor bounds ... -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug ada/31648] [gdb/ada] segfault in coerce_ref 2024-04-17 11:05 [Bug ada/31648] New: [gdb/ada] segfault in coerce_ref vries at gcc dot gnu.org ` (3 preceding siblings ...) 2024-04-18 7:54 ` vries at gcc dot gnu.org @ 2024-04-18 7:54 ` vries at gcc dot gnu.org 2024-04-18 8:00 ` vries at gcc dot gnu.org ` (2 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: vries at gcc dot gnu.org @ 2024-04-18 7:54 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=31648 --- Comment #5 from Tom de Vries <vries at gcc dot gnu.org> --- Created attachment 15470 --> https://sourceware.org/bugzilla/attachment.cgi?id=15470&action=edit gzipped exec -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug ada/31648] [gdb/ada] segfault in coerce_ref 2024-04-17 11:05 [Bug ada/31648] New: [gdb/ada] segfault in coerce_ref vries at gcc dot gnu.org ` (4 preceding siblings ...) 2024-04-18 7:54 ` vries at gcc dot gnu.org @ 2024-04-18 8:00 ` vries at gcc dot gnu.org 2024-04-18 17:37 ` tromey at sourceware dot org 2024-04-18 18:12 ` tromey at sourceware dot org 7 siblings, 0 replies; 9+ messages in thread From: vries at gcc dot gnu.org @ 2024-04-18 8:00 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=31648 Tom de Vries <vries at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tromey at sourceware dot org -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug ada/31648] [gdb/ada] segfault in coerce_ref 2024-04-17 11:05 [Bug ada/31648] New: [gdb/ada] segfault in coerce_ref vries at gcc dot gnu.org ` (5 preceding siblings ...) 2024-04-18 8:00 ` vries at gcc dot gnu.org @ 2024-04-18 17:37 ` tromey at sourceware dot org 2024-04-18 18:12 ` tromey at sourceware dot org 7 siblings, 0 replies; 9+ messages in thread From: tromey at sourceware dot org @ 2024-04-18 17:37 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=31648 --- Comment #6 from Tom Tromey <tromey at sourceware dot org> --- Something is going wrong much earlier. In ada_var_value_operation::evaluate: (top-gdb) print sym.m_name $7 = 0x7fffdc0b22be "R11b" That is, we're finding the wrong symbol entirely. Also in the inferior gdb: (gdb) whatis vars type = int (gdb) print vars $1 = 256 This should be an array, not an integer -- this is what led me to inspect the symbol. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug ada/31648] [gdb/ada] segfault in coerce_ref 2024-04-17 11:05 [Bug ada/31648] New: [gdb/ada] segfault in coerce_ref vries at gcc dot gnu.org ` (6 preceding siblings ...) 2024-04-18 17:37 ` tromey at sourceware dot org @ 2024-04-18 18:12 ` tromey at sourceware dot org 7 siblings, 0 replies; 9+ messages in thread From: tromey at sourceware dot org @ 2024-04-18 18:12 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=31648 --- Comment #7 from Tom Tromey <tromey at sourceware dot org> --- A newer compiler, even with -fgnat-encodings=all, doesn't emit this renaming: <3><1cf8>: Abbrev Number: 25 (DW_TAG_variable) <1cf9> DW_AT_name : (indirect string, offset: 0x1439): vars___XR_R11b___XEXA <1cfd> DW_AT_type : <0x1af8> <1d01> DW_AT_artificial : 1 <1d02> DW_AT_location : 2 byte block: 77 0 (DW_OP_breg7 (rsp): 0) Offhand I'm not sure if renaming this is correct or not. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-04-18 18:12 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-04-17 11:05 [Bug ada/31648] New: [gdb/ada] segfault in coerce_ref vries at gcc dot gnu.org 2024-04-18 7:37 ` [Bug ada/31648] " vries at gcc dot gnu.org 2024-04-18 7:39 ` vries at gcc dot gnu.org 2024-04-18 7:46 ` vries at gcc dot gnu.org 2024-04-18 7:54 ` vries at gcc dot gnu.org 2024-04-18 7:54 ` vries at gcc dot gnu.org 2024-04-18 8:00 ` vries at gcc dot gnu.org 2024-04-18 17:37 ` tromey at sourceware dot org 2024-04-18 18:12 ` tromey at sourceware dot org
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).