public inbox for gdb-prs@sourceware.org help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla@sourceware.org> To: gdb-prs@sourceware.org Subject: [Bug breakpoints/26881] infrun.c:6384: internal-error: void process_event_stop_test(execution_control_state*): Assertion `ecs->event_thread->control.exception_resume_breakpoint != NULL' failed. Date: Fri, 08 Jan 2021 10:11:20 +0000 [thread overview] Message-ID: <bug-26881-4717-mTolHzkI8B@http.sourceware.org/bugzilla/> (raw) In-Reply-To: <bug-26881-4717@http.sourceware.org/bugzilla/> https://sourceware.org/bugzilla/show_bug.cgi?id=26881 --- Comment #13 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Tom de Vries <vries@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1940319c0ef6271cc42a5d4c359be90063948710 commit 1940319c0ef6271cc42a5d4c359be90063948710 Author: Tom de Vries <tdevries@suse.de> Date: Fri Jan 8 11:11:16 2021 +0100 [gdb] Fix internal-error in process_event_stop_test The function create_exception_master_breakpoint in gdb/breakpoint.c attempts to set a master exception breakpoint in each objfile. It tries this using a libgcc/unwind probe, and if that fails then using the _Unwind_DebugHook symbol: ... for (objfile *objfile : current_program_space->objfiles ()) { /* Try using probes. */ if (/* successful */) continue; /* Try using _Unwind_DebugHook */ } ... The preference scheme works ok both if the objfile has debug info, and if it's stripped. But it doesn't work when the objfile has a .gnu_debuglink to a .debug file (and the .debug file is present). What happens is that: - we first encounter objfile libgcc.debug - we try using probes, and this fails - so we try _Unwind_DebugHook, which succeeds - next we encounter objfile libgcc - we try using probes, and this succeeds. So, we end up with a master exception breakpoint in both libgcc (using probes) and libgcc.debug (using _Unwind_DebugHook). This eventually causes: ... (gdb) PASS: gdb.cp/nextoverthrow.exp: post-check - next over a throw 3 next^M src/gdb/infrun.c:6384: internal-error: \ void process_event_stop_test(execution_control_state*): \ Assertion `ecs->event_thread->control.exception_resume_breakpoint != NULL' \ failed.^M A problem internal to GDB has been detected,^M further debugging may prove unreliable.^M Quit this debugging session? (y or n) FAIL: gdb.cp/nextoverthrow.exp: next past catch (GDB internal error) ... To trigger this internal-error, we need to use gcc-10 or later to compile the test-case, such that it contains the fix for gcc PR97774 - "Incorrect line info for try/catch". Fix this by only trying to install the master exception breakpoint in libgcc.debug using the _Unwind_DebugHook method, if the install using probes in libgcc failed. Tested on x86_64-linux. gdb/ChangeLog: 2021-01-08 Tom de Vries <tdevries@suse.de> PR gdb/26881 * breakpoint.c (create_exception_master_breakpoint_probe) (create_exception_master_breakpoint_hook): Factor out of ... (create_exception_master_breakpoint): ... here. Only try to install the master exception breakpoint in objfile.debug using the _Unwind_DebugHook method, if the install using probes in objfile failed. -- You are receiving this mail because: You are on the CC list for the bug.
next prev parent reply other threads:[~2021-01-08 10:11 UTC|newest] Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-11-14 9:58 [Bug gdb/26881] New: " vries at gcc dot gnu.org 2020-11-14 10:41 ` [Bug gdb/26881] " vries at gcc dot gnu.org 2020-11-14 10:45 ` vries at gcc dot gnu.org 2020-11-14 10:49 ` vries at gcc dot gnu.org 2020-11-14 13:07 ` vries at gcc dot gnu.org 2020-11-14 19:45 ` vries at gcc dot gnu.org 2020-11-15 0:24 ` vries at gcc dot gnu.org 2020-11-15 0:30 ` vries at gcc dot gnu.org 2020-11-16 14:35 ` vries at gcc dot gnu.org 2020-11-21 8:58 ` vries at gcc dot gnu.org 2021-01-05 10:41 ` vries at gcc dot gnu.org 2021-01-05 10:44 ` vries at gcc dot gnu.org 2021-01-05 13:30 ` [Bug breakpoints/26881] " vries at gcc dot gnu.org 2021-01-08 10:11 ` cvs-commit at gcc dot gnu.org [this message] 2021-01-08 10:58 ` cvs-commit at gcc dot gnu.org 2021-01-08 11:00 ` vries at gcc dot gnu.org 2021-06-27 17:49 ` ahmedsayeed1982 at yahoo dot com 2021-08-10 11:45 ` ucelsanicin at yahoo dot com 2021-08-27 17:51 ` ribevi6798 at enamelme dot com 2021-08-28 18:31 ` buranlevent at yahoo dot com 2021-09-06 9:10 ` focixujo at livinginsurance dot co.uk 2021-09-10 19:40 ` mehmetgelisin at aol dot com 2021-09-14 17:28 ` johnb6174 at gmail dot com 2021-09-14 18:48 ` mark at klomp dot org 2021-10-09 11:00 ` gulsenenginar at aol dot com 2021-10-17 19:48 ` vmireskazki at gmail dot com 2021-10-18 19:58 ` ahmedsayeed1982 at hotmail dot com 2021-10-19 7:15 ` progonsaytu at gmail dot com 2021-10-23 13:45 ` fiteva5725 at bomoads dot com 2021-10-24 10:02 ` glassmtech at ukr dot net 2021-10-29 10:57 ` kimolsun2020 at outlook dot com 2021-10-29 12:06 ` huracantili20 at gmail dot com 2021-11-02 15:21 ` gepaw63633 at dukeoo dot com 2021-11-06 21:11 ` paneki8601 at dukeoo dot com 2021-11-13 19:31 ` tesaso8237 at funboxcn dot com 2021-11-16 19:04 ` xecana8007 at funboxcn dot com 2021-11-22 7:37 ` gexed96894 at keagenan dot com
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-26881-4717-mTolHzkI8B@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).