From: Gary Benson <gbenson@redhat.com>
To: gdb-patches@sourceware.org
Cc: Andrew Burgess <aburgess@broadcom.com>,
Doug Evans <xdje42@gmail.com>,
Eli Zaretskii <eliz@gnu.org>,
Florian Weimer <fw@deneb.enyo.de>,
Mark Kettenis <mark.kettenis@xs4all.nl>,
Pedro Alves <palves@redhat.com>,
Tom Tromey <tromey@redhat.com>
Subject: [PATCH 0/3 v4] Demangler crash handler
Date: Thu, 05 Jun 2014 13:01:00 -0000 [thread overview]
Message-ID: <20140605130140.GA20572@blade.nx> (raw)
Hi all,
This patch is an updated version of the demangler crash handler I
posted yesterday. The main changes from the previous version are:
1) All #ifdef SIGSEGV conditionals have been removed.
2) If the user set "ulimit -c 0" then no core file will be
created and a warning will be printed. This mirrors what
internal_error and internal_warning currently do.
3) A separate signal stack is created for the SIGSEGV handler
to allow it to function correctly if the normal process
stack overflows. This signal stack is currently only used
by the SIGSEGV handler--all other signal handlers use the
normal process stack as before.
Doug requested that I change the patch to emit warnings for every
demangler crash, not just the first. I've not done this, my reason
being that subsequent failures could have been caused by the first,
by memory corruption or some leftover state: they could be bogus,
and could lead to us chasing bugs that don't exist. I prefer this
way, but I'm not hung up on it and if it's a blocker for Doug or
anyone else I will add the extra warnings.
I've split the patches as follows:
1/3 - adds a new category of internal problem for demangler
warnings. This patch is unchanged from the previous
version (PATCH 1/2 v3):
https://sourceware.org/ml/gdb-patches/2014-06/msg00142.html
2/3 - refactors and exposes the core-dumping functions in utils.c.
This is a completely new patch.
3/3 - the crash catcher itself. This patch differs from the
previous version by the removal of the #ifdef SIGSEGV
conditionals, the addition of a check to see if a core
dump should be performed, and the creation of a separate
stack to allow the signal handler to function when the
normal stack is exhausted.
I would push all three patches as one commit. The news file entries
for the commit would be:
* New options
maint set catch-demangler-crashes (on|off)
maint show catch-demangler-crashes
Control whether GDB should attempt to catch crashes in the
symbol name demangler.
maint set demangler-warning quit (yes|no|ask)
maint show demangler-warning quit
Control whether GDB should exit if it catches a crash in the
symbol name demangler.
* New commands
maint demangler-warning
Cause GDB to call the internal function demangler_warning and
hence behave as though an internal error in the demangler has
been detected.
Is this ok to commit?
Thanks,
Gary
--
http://gbenson.net/
next reply other threads:[~2014-06-05 13:01 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-05 13:01 Gary Benson [this message]
2014-06-05 13:02 ` [PATCH 1/3 v4] Add new internal problem for demangler warnings Gary Benson
2014-06-05 13:03 ` [PATCH 2/3 v4] Refactor and expose core-dumping functionality Gary Benson
2014-06-05 16:28 ` Doug Evans
2014-06-06 9:09 ` Gary Benson
2014-06-05 13:04 ` [PATCH 3/3 v4] Demangler crash handler Gary Benson
2014-06-06 18:16 ` Florian Weimer
2014-06-06 19:27 ` Gary Benson
2014-06-06 19:42 ` Florian Weimer
2014-06-06 21:12 ` Andrew Burgess
2014-06-09 9:01 ` Gary Benson
2014-06-09 10:26 ` Andrew Burgess
2014-06-09 11:48 ` Gary Benson
2014-06-05 16:19 ` [PATCH 0/3 " Doug Evans
2014-06-06 9:19 ` Gary Benson
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=20140605130140.GA20572@blade.nx \
--to=gbenson@redhat.com \
--cc=aburgess@broadcom.com \
--cc=eliz@gnu.org \
--cc=fw@deneb.enyo.de \
--cc=gdb-patches@sourceware.org \
--cc=mark.kettenis@xs4all.nl \
--cc=palves@redhat.com \
--cc=tromey@redhat.com \
--cc=xdje42@gmail.com \
/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