public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Simon Marchi <simon.marchi@polymtl.ca>
To: Jonah Graham <jonah@kichwacoders.com>,
	GDB Development <gdb@sourceware.org>
Subject: Re: assertion error in pretty printing
Date: Wed, 7 Jul 2021 17:13:46 -0400	[thread overview]
Message-ID: <ab508575-e512-6714-b5d8-46a9fdc38e2b@polymtl.ca> (raw)
In-Reply-To: <CAPmGMviSOC1ZZTgOOThfFecfGVXgyJxfO=Kt4r9y-pep_1jjzw@mail.gmail.com>

On 2021-07-07 2:34 p.m., Jonah Graham wrote:
> Hi folks.
> 
> I have an internal error in GDB that AFAICT is down to the python pretty
> printers. This is being hit by CDT (reported in
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=574645)
> 
> Doing a -var-update I get this internal error:
> 
> ~"/scratch/gdb/binutils-gdb/gdb/c-varobj.c:516: internal-error: std::string
> c_value_of_variable(const varobj*, varobj_display_formats): Assertion
> `!value_lazy (var->value.get ())' failed.\nA problem internal to GDB has
> been detected,\nfurther debugging may prove unreliable.\nQuit this
> debugging session? (y or n) "
> 
> Steps to reproduce:
> 
> Get source from
> https://bugzillaattachments.eclipsecontent.org/bugs/attachment.cgi?id=286726
> curl
> https://bugzillaattachments.eclipsecontent.org/bugs/attachment.cgi?id=286726
>> bug574645.cpp
> g++ -std=c++2a -O0 -g3 bug574645.cpp -o bug574645
> gdb --interpreter=mi2
> 
> then use these commands:
> 6-enable-pretty-printing
> 8-gdb-set print object on
> 19-file-exec-and-symbols --thread-group i1 bug574645
> 26-break-insert -f bug574645.cpp:31
> 27-break-insert -t -f main
> 29-exec-run --thread-group i1
> 41-var-create --thread 1 --frame 0 - * data2
> 44-var-list-children var1 0 1
> 48-exec-continue --thread 1
> 51-var-update 1 var1
> 
> If running with a locally built GDB the python pretty printers need to be
> pointed at (e.g. add  --data-directory=/usr/share/gdb to gdb command line)
> 
> Where do I start debugging this? I have reproduced with latest HEAD of
> gdb + the data directory on my Ubuntu 20.04 machine.

Hi Jonah,

First, maybe file a bug with that information.

Then, I'm not sure what to say.  You need to understand why this assert
is there, why it is failing in this case, what lead up to this.  Classic
debugging / investigative work.

I can't provide you with pointers in the code without looking at the
problem myself (which I don't really have time to do), other than "check
the backtrace at the point of the crash".  Do you need guidance / tips
on how to debug GDB with GDB?

Thanks,

Simon

  reply	other threads:[~2021-07-07 21:13 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-07 18:34 Jonah Graham
2021-07-07 21:13 ` Simon Marchi [this message]
2021-07-08  1:05   ` Jonah Graham

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=ab508575-e512-6714-b5d8-46a9fdc38e2b@polymtl.ca \
    --to=simon.marchi@polymtl.ca \
    --cc=gdb@sourceware.org \
    --cc=jonah@kichwacoders.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).