From: Ross Morley <ross@tensilica.com>
To: Daniel Jacobowitz <drow@false.org>
Cc: gdb@sources.redhat.com
Subject: Re: -var-create on invalid expression causes seg. fault
Date: Thu, 24 Feb 2005 03:23:00 -0000 [thread overview]
Message-ID: <421D4751.7000303@tensilica.com> (raw)
In-Reply-To: <20050223160026.GA27996@nevyn.them.org>
Thanks Daniel, very much. That did the trick.
I had to translate the exception handling as you mentioned,
but I managed to get that done and the problem is solved
in our 5.2.1 sources. I have not tried your patch in HEAD.
Ross
---------------
Ross Morley
Tensilica, Inc.
ross@tensilica.com
Daniel Jacobowitz wrote:
>On Sun, Feb 20, 2005 at 12:35:06AM -0800, Ross Morley wrote:
>
>
>>Thanks for your input Nick, but I don't think it's what I need.
>>
>>I already know exactly where the problem is (I debugged it under gdb).
>>What I don't know is the right way to fix it.
>>Also I believe this bug exists in 6.3 because the offending code is
>>the same, though I haven't tried to reproduce it there.
>>
>>I should have mentioned that a seg. fault does not always immediately
>>result. It just depends how the freed memory is used after it's freed.
>>If it's allocated again and its new owner alters the location that was
>>var->value to contain 0 or some other bad address, the seg. fault will
>>occur. Otherwise the problem may lurk for a long time and show up
>>later in some obscure way or not at all. So it's a bit hard to reproduce
>>the seg. fault, but if you read my post and run it under gdb you should
>>easily be able to verify that a pointer to freed memory is dereferenced.
>>
>>I'm hoping someone who knows the internals of MI variables can suggest
>>a good fix that won't break something else. It's not as simple as
>>clearing that hanging pointer... that will just cause a seg. fault
>>for sure when the pointer is dereferenced. If no one knows, I'll
>>probably just have to dive in and educate myself.
>>
>>
>
>Could you give the attached patch a try? I encountered a similar
>problem in mi-var-block.exp when using ARM RVDS, which emits location
>lists even at -O0. It frequently reports variables as "unavailable",
>which is an error condition.
>
>The patch sets the variable to an error in the -var-update
>"unavailable" case; this never passes any error message on to the user,
>but that seems to be the prior art for varobj.
>
>You'll need to use catch_exceptions for your older sources; the patch
>is for HEAD.
>
>[I haven't finished testing any of these patches, that's why I haven't
>submitted this to gdb-patches yet.]
>
>
>
next prev parent reply other threads:[~2005-02-24 3:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-19 23:10 Nick Roberts
2005-02-20 17:44 ` Ross Morley
2005-02-23 16:23 ` Daniel Jacobowitz
2005-02-24 3:23 ` Ross Morley [this message]
2005-02-24 6:54 ` Ross Morley
2005-02-25 11:29 ` Nick Roberts
-- strict thread matches above, loose matches on Subject: below --
2005-02-19 8:33 Ross Morley
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=421D4751.7000303@tensilica.com \
--to=ross@tensilica.com \
--cc=drow@false.org \
--cc=gdb@sources.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