From: Gary Benson <gbenson@redhat.com>
To: Pedro Alves <palves@redhat.com>
Cc: Andrew Burgess <aburgess@broadcom.com>, gdb-patches@sourceware.org
Subject: Re: [PATCH 0/2] Demangler crash handler
Date: Thu, 15 May 2014 13:25:00 -0000 [thread overview]
Message-ID: <20140515132527.GD13323@blade.nx> (raw)
In-Reply-To: <5373B6C6.6060401@redhat.com>
Pedro Alves wrote:
> On 05/14/2014 05:08 PM, Andrew Burgess wrote:
> > On 14/05/2014 3:01 PM, Pedro Alves wrote:
> > > How about we instead add a new hook to the demangler interface,
> > > that allows registering a callback that has the prototype of
> > > gdb's internal_error?
> >
> > I thought that if the demangler couldn't demangle a symbol you
> > just got back NULL indicating no demangle was possible.
>
> Well, that's fine, and I think that it's a matter that can be
> changed independently of the scheme used to detect bad state
> in the demangled. For instance, we can have GDB's
> demangler_internal_error callback throw a normal error, and
> then catch it from within gdb_demangle, and have that return
> NULL.
The demangler already has a system in place to handle early
termination. It's not gdb_demangle that needs to return NULL:
it's the demangler's API to return NULL if the symbol cannot be
demangled.
It's not clear to me what benefit a second system for early
termination would add, or how you would decide which system
to use for any given error.
> ...the idea is about protecting against really bad state, not
> unimplemented features.
The thing is, everything's fine once you've *detected* the bad
state: you can handle it however you want. Which, using the
demangler's current convention, is either "handle the state" or
"d_print_error (&dpi); return;". The whole point of the segfault
catcher was to cope with undetected bad state.
I'm not saying we should not try and fix more places where bad
state is undetected. My point was that no matter how much work
you put in you still can never say "ok, we got all the bugs now".
That's what the segfault catcher was for.
> We should really prevent that with better testing, e.g., the
> demangle-the-world testing, and/or fuzzy testing.
Agreed. If nothing else comes out of this discussion but more
testing then it's all been worthwhile.
Thanks,
Gary
--
http://gbenson.net/
next prev parent reply other threads:[~2014-05-15 13:25 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-09 10:07 Gary Benson
2014-05-09 10:09 ` [PATCH 1/2] " Gary Benson
2014-05-09 10:10 ` [PATCH 2/2] " Gary Benson
2014-05-09 11:20 ` [PATCH 0/2] " Mark Kettenis
2014-05-09 15:33 ` Gary Benson
2014-05-11 5:17 ` Doug Evans
2014-05-13 10:20 ` Gary Benson
2014-05-13 19:29 ` Tom Tromey
2014-05-14 13:07 ` Gary Benson
2014-05-13 19:39 ` Tom Tromey
2014-05-14 9:15 ` Gary Benson
2014-05-11 20:23 ` Mark Kettenis
2014-05-13 10:21 ` Gary Benson
2014-05-13 16:05 ` Pedro Alves
2014-05-15 13:24 ` Gary Benson
2014-05-15 14:07 ` Pedro Alves
2014-05-15 14:28 ` Gary Benson
2014-05-15 15:25 ` Pedro Alves
2014-05-16 11:06 ` Pedro Alves
2014-05-10 20:55 ` Florian Weimer
2014-05-11 5:10 ` Doug Evans
2014-05-13 10:22 ` Gary Benson
2014-05-13 18:22 ` Florian Weimer
2014-05-13 18:42 ` Pedro Alves
2014-05-13 19:16 ` Gary Benson
2014-05-13 19:19 ` Pedro Alves
2014-05-14 9:11 ` Gary Benson
2014-05-13 19:20 ` Florian Weimer
2014-05-13 19:22 ` Pedro Alves
2014-05-13 19:22 ` Gary Benson
2014-05-13 19:36 ` Tom Tromey
2014-05-14 9:13 ` Gary Benson
2014-05-14 14:18 ` Pedro Alves
2014-05-14 16:08 ` Andrew Burgess
2014-05-14 18:32 ` Pedro Alves
2014-05-15 13:25 ` Gary Benson [this message]
2014-05-15 16:01 ` Pedro Alves
2014-05-15 13:27 ` Gary Benson
2014-05-20 17:05 ` Tom Tromey
2014-05-20 18:40 ` Stan Shebs
2014-05-20 19:36 ` Tom Tromey
2014-05-20 20:23 ` Joel Brobecker
2014-05-22 12:56 ` Gary Benson
2014-05-22 13:09 ` Joel Brobecker
2014-05-22 14:13 ` Pedro Alves
2014-05-22 15:57 ` Gary Benson
2014-05-22 13:18 ` Gary Benson
2014-05-22 14:09 ` Gary Benson
2014-05-22 14:40 ` Mark Kettenis
2014-05-22 20:42 ` 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=20140515132527.GD13323@blade.nx \
--to=gbenson@redhat.com \
--cc=aburgess@broadcom.com \
--cc=gdb-patches@sourceware.org \
--cc=palves@redhat.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