From: Nitish Kumar Mishra <mishra.nitish.88@gmail.com>
To: Pedro Alves <palves@redhat.com>
Cc: David Edelsohn <dje.gcc@gmail.com>,
"gdb@sourceware.org" <gdb@sourceware.org>,
Yao Qi <qiyaoltc@gmail.com>
Subject: Re: Issue with Latest GDB on AIX with GCC-6.12
Date: Tue, 07 Feb 2017 08:05:00 -0000 [thread overview]
Message-ID: <CACC+hkgZxWgCC-4KR9M_c1=EU5GE4tagV61keSfYnDASXhN2EA@mail.gmail.com> (raw)
In-Reply-To: <21a21388-b1d9-816c-377e-d4e084cc399e@redhat.com>
Hi All !
As Pedro suggested to have some print statements in "catches" blocks
to identify the frame that can't be unwound, I did try that.
Most of the functions didn't have the try-catch except,
gdb_rl_callback_handler ()
gdb_rl_callback_read_char_wrapper ()
gdb_rl_callback_read_char_wrapper_noexcept (),
where I put the print statements but during execution none of these
print statements get executed.
In the function:
static void
gdb_rl_callback_handler (char *rl) noexcept
{
struct gdb_exception gdb_rl_expt = exception_none;
struct ui *ui = current_ui;
TRY
{
ui->input_handler (rl);
}
CATCH (ex, RETURN_MASK_ALL)
{
gdb_rl_expt = ex;
}
END_CATCH
I tried calling command_line_handler () without function pointer (as
it seems that it is a known issue with AIX and function pointers), but
again it didn't help.
Thanks,
Nitish
On Tue, Jan 31, 2017 at 6:38 PM, Pedro Alves <palves@redhat.com> wrote:
> On 01/29/2017 01:11 AM, David Edelsohn wrote:
>
>> Note that std::terminate() is called specifically because there was an
>> unwind failure and no handler was found in eh_throw.cc in libsupc++
>> (part of libstdc++).
>
> Right, that's what makes it look like either an runtime unwinder,
> or unwind info bug.
>
>> Is this code trying to propagate an exception through a signal
>> handler, in which case GCC MD_FALLBACK_FRAME_STATE_FOR needs to be
>> tweaked to find more AIX kernel signal handler signatures.
>
> Nope, it's just normal C++ frames all the way from the throw to
> the "catch" that should catch the exception.
>
> (GDB stopped throwing from signal handlers before we flipped
> the C++ switch, with:
> [PATCH 00/30] Stop throwing exceptions from signal handlers
> https://sourceware.org/ml/gdb-patches/2016-03/msg00351.html
> )
>
> I'd suggest progressively hacking in "catches" to frames
> closer to the throw in question helps identify the frame that
> can't be unwound. Like, sprinkling in a few:
>
> try
> {
> ...
> }
> catch (...)
> {
> printf ("%s:%d: got here\n", __FILE__, __LINE__)
> throw;
> }
>
> Thanks,
> Pedro Alves
>
next prev parent reply other threads:[~2017-02-07 8:05 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-28 23:56 David Edelsohn
2017-01-29 1:11 ` David Edelsohn
2017-01-31 13:09 ` Pedro Alves
2017-02-07 8:05 ` Nitish Kumar Mishra [this message]
2017-02-07 10:30 ` Pedro Alves
2017-02-07 13:44 ` David Edelsohn
2017-02-07 13:57 ` Pedro Alves
2017-02-07 14:16 ` David Edelsohn
2017-02-08 6:16 ` Nitish Kumar Mishra
2017-02-08 7:04 ` Nitish Kumar Mishra
2017-02-08 12:06 ` Pedro Alves
2017-02-08 13:32 ` David Edelsohn
2017-02-09 4:51 ` Nitish Kumar Mishra
2017-02-09 12:05 ` Nitish Kumar Mishra
2017-02-09 12:15 ` Nitish Kumar Mishra
2017-02-09 15:50 ` David Edelsohn
2017-02-10 7:22 ` Nitish Kumar Mishra
2017-02-10 15:52 ` David Edelsohn
2017-02-12 21:05 ` David Edelsohn
2017-02-12 23:52 ` Pedro Alves
2017-02-13 15:02 ` David Edelsohn
2017-02-13 15:19 ` Eli Zaretskii
2017-02-13 15:38 ` Nitish Kumar Mishra
2017-02-20 11:22 ` Nitish Kumar Mishra
2017-02-20 11:25 ` Nitish Kumar Mishra
2017-02-20 11:37 ` Nitish Kumar Mishra
2017-02-21 8:01 ` Nitish Kumar Mishra
2017-02-21 14:47 ` David Edelsohn
-- strict thread matches above, loose matches on Subject: below --
2017-01-25 10:54 Nitish Kumar Mishra
2017-01-25 11:12 ` Pedro Alves
2017-01-25 13:52 ` Pedro Alves
2017-01-25 14:01 ` Pedro Alves
2017-01-25 14:38 ` Yao Qi
2017-01-25 14:44 ` Pedro Alves
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='CACC+hkgZxWgCC-4KR9M_c1=EU5GE4tagV61keSfYnDASXhN2EA@mail.gmail.com' \
--to=mishra.nitish.88@gmail.com \
--cc=dje.gcc@gmail.com \
--cc=gdb@sourceware.org \
--cc=palves@redhat.com \
--cc=qiyaoltc@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