public inbox for gdb-prs@sourceware.org help / color / mirror / Atom feed
From: "vries at gcc dot gnu.org" <sourceware-bugzilla@sourceware.org> To: gdb-prs@sourceware.org Subject: [Bug python/31437] New: [gdb/python] Unavailable register breaks python unwinding Date: Fri, 01 Mar 2024 12:24:39 +0000 [thread overview] Message-ID: <bug-31437-4717@http.sourceware.org/bugzilla/> (raw) https://sourceware.org/bugzilla/show_bug.cgi?id=31437 Bug ID: 31437 Summary: [gdb/python] Unavailable register breaks python unwinding Product: gdb Version: HEAD Status: NEW Severity: normal Priority: P2 Component: python Assignee: unassigned at sourceware dot org Reporter: vries at gcc dot gnu.org Target Milestone: --- On arm-linux, until this commit: ... commit bbb12eb9c84aa2b32480b7c022c494c2469ef717 Author: Thiago Jung Bauermann <thiago.bauermann@linaro.org> Date: Mon Feb 26 19:11:45 2024 -0300 gdb/arm: Remove tpidruro register from non-FreeBSD target descriptions ... I ran into: ... FAIL: gdb.base/inline-frame-cycle-unwind.exp: cycle at level 5: backtrace when the unwind is broken at frame 5 ... Because this was the only reported progression, I decided to investigate a bit further. I found that the python unwinder fails because this piece of code in pyuw_sniffer ignores the fact that value can be !entirely_available: ... /* Populate registers array. */ for (int i = 0; i < unwind_info->saved_regs->size (); ++i) { ... memcpy (cached->data.get (), value->contents ().data (), data_size); } } ... which throws an unavailable error, which is then caught by frame_unwind_try_unwinder: ... if (ex.error == NOT_AVAILABLE_ERROR) { /* This usually means that not even the PC is available, thus most unwinders aren't able to determine if they're the best fit. Keep trying. Fallback prologue unwinders should always accept the frame. */ return 0; } ... -- You are receiving this mail because: You are on the CC list for the bug.
next reply other threads:[~2024-03-01 12:24 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-03-01 12:24 vries at gcc dot gnu.org [this message] 2024-03-01 12:27 ` [Bug python/31437] " vries at gcc dot gnu.org 2024-03-02 8:52 ` vries at gcc dot gnu.org 2024-03-02 12:37 ` vries at gcc dot gnu.org 2024-03-19 9:29 ` cvs-commit at gcc dot gnu.org 2024-05-08 8:36 ` vries at gcc dot gnu.org 2024-05-08 12:12 ` cvs-commit at gcc dot gnu.org 2024-05-08 12:14 ` vries at gcc dot gnu.org 2024-05-08 12:15 ` vries at gcc dot gnu.org
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-31437-4717@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).