public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/108994] [13 Regression] LLVM JIT segfaults in libgcc after upgrading from gcc 12.2.1 to 13.0.1 since r13-2706-g6e80a1d164d1f9
Date: Fri, 10 Mar 2023 17:18:02 +0000	[thread overview]
Message-ID: <bug-108994-4-wKSVyFt6Ed@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-108994-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108994

--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So I guess the primary question would be, are threads involved in the
reproducer or not?
All the backtraces don't include start_thread, so the crashes are from the
initial thread, but that doesn't mean other threads weren't registering or
deregistering unwind info frames concurrently.
unwind-dw2-fde.c:719 is fairly simple:
  for (; ! last_fde (ob, this_fde); this_fde = next_fde (this_fde))
where last_fde is:
static inline int
last_fde (const struct object *obj __attribute__ ((__unused__)), const fde *f)
{
#ifdef DWARF2_OBJECT_END_PTR_EXTENSION
  return f == (const fde *) obj->fde_end || f->length == 0;
#else
  return f->length == 0;
#endif
}
and next_fde is:
static inline const fde *
next_fde (const fde *f)
{
  return (const fde *) ((const char *) f + f->length + sizeof (f->length));
}
So, I guess the primary question is what the LLVM JIT is calling the function
with,
if begin is a proper chain of valid .eh_frame CIEs and FDEs and if it is
properly 0 terminated.  DWARF2_OBJECT_END_PTR_EXTENSION is Darwin only.
Also, __register_frame_info_bases requires the controlling struct object to be
preserved by the caller until it is deregistered, is that the case?  Also, does
something change
the FDEs or CIEs which have been registered before they are deregistered again?

  parent reply	other threads:[~2023-03-10 17:18 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-02 18:15 [Bug libgcc/108994] New: LLVM JIT segfaults in libgcc after upgrading from gcc 12.2.1 to 13.0.1 tstellar at redhat dot com
2023-03-02 18:19 ` [Bug libgcc/108994] [13 Regression] " redi at gcc dot gnu.org
2023-03-02 19:15 ` pinskia at gcc dot gnu.org
2023-03-02 19:19 ` tstellar at redhat dot com
2023-03-02 20:09 ` pinskia at gcc dot gnu.org
2023-03-03  3:13 ` tstellar at redhat dot com
2023-03-03  3:29 ` pinskia at gcc dot gnu.org
2023-03-03  7:39 ` tstellar at redhat dot com
2023-03-03  7:45 ` pinskia at gcc dot gnu.org
2023-03-03  7:46 ` pinskia at gcc dot gnu.org
2023-03-03  7:47 ` redi at gcc dot gnu.org
2023-03-03  8:45 ` [Bug target/108994] " jakub at gcc dot gnu.org
2023-03-03 18:37 ` tstellar at redhat dot com
2023-03-04  0:15 ` tstellar at redhat dot com
2023-03-06 12:37 ` [Bug target/108994] [13 Regression] LLVM JIT segfaults in libgcc after upgrading from gcc 12.2.1 to 13.0.1 since r13-2706-g6e80a1d164d1f9 marxin at gcc dot gnu.org
2023-03-09 16:29 ` tstellar at redhat dot com
2023-03-09 18:50 ` tstellar at redhat dot com
2023-03-10 17:18 ` jakub at gcc dot gnu.org [this message]
2023-03-10 17:37 ` tstellar at redhat dot com
2023-03-14  5:41 ` tstellar at redhat dot com
2023-03-14  7:04 ` jakub at gcc dot gnu.org
2023-03-14 17:22 ` tstellar at redhat dot com
2023-03-14 18:08 ` pinskia 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-108994-4-wKSVyFt6Ed@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.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: link
Be 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).