This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch] gdb_assert -> complaint for weird DWARF
- From: Doug Evans <dje at google dot com>
- To: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- Cc: gdb-patches <gdb-patches at sourceware dot org>
- Date: Mon, 24 Feb 2014 13:55:49 -0800
- Subject: Re: [patch] gdb_assert -> complaint for weird DWARF
- Authentication-results: sourceware.org; auth=none
- References: <20140224214314 dot GA5700 at host2 dot jankratochvil dot net>
On Mon, Feb 24, 2014 at 1:43 PM, Jan Kratochvil
<jan.kratochvil@redhat.com> wrote:
> Hi,
>
> PR 16581:
> GDB crash on inherit_abstract_dies infinite recursion
> https://sourceware.org/bugzilla/show_bug.cgi?id=16581
>
> fixed crash from an infinite recursion. But in rare cases the new code can
> now gdb_assert() due to weird DWARF file.
>
> I do not yet fully understand why the DWARF is as it is but just GDB should
> never crash due to invalid DWARF anyway. The "invalid" DWARF I see only in
> Fedora GCC build, not in FSF GCC build, more info at:
> https://bugzilla.redhat.com/show_bug.cgi?id=1069382
> http://people.redhat.com/jkratoch/gcc-debuginfo-4.8.2-7.fc20.x86_64-gnatbind.debug
>
>
> Thanks,
> Jan
>
> gdb/
> 2014-02-24 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> * dwarf2read.c (process_die): Change gdb_assert to complaint.
Obviously gdb shouldn't crash on invalid input, but IWBN if gdb could
have more robust guarantees internally.
[One could argue changing the assert to a complaint is papering over a bug.
Plus gdb's complaint system is off by default, out of sight makes for
out of mind thus such things tend to not get much attention.]
Can you dig into the details of why the assert is tripping?
I'm not comfortable with adding more complaints without at least
including documentation of details.