public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: mlimber <mlimber@gmail.com>
To: Simon Marchi <simark@simark.ca>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH] [PR 25678] gdb crashes with "internal-error: sect_index_text not initialized" when .text
Date: Thu, 14 May 2020 13:48:23 -0400	[thread overview]
Message-ID: <CAAogRRp4eSagh2_p1P4ddQt-dFWQdzAacCW+FoQQPHW2zhPLaA@mail.gmail.com> (raw)
In-Reply-To: <072e4b2b-4d71-b343-c8ef-0edbc6ab6804@simark.ca>

Sure. Clearer repro steps:

1. Build an application linking to an SO that has no text segment. I
believe there is an SO attached to the bug ticket that will work.

(My actual use case is a little complicated. I'm building a Qt 5.3 app and
Qt's libs have libicu*.so.52.2 as dependencies. Thus, I am indirectly using
libicudata.so.52.2, similar to what a recent commenter on the ticket
reported.)

2. Execute `gdb my_exe`.

3. Type 'r' at the gdb prompt to run.

4. Output from gdb 10:

    Starting program: [snip]
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library
"/lib/x86_64-linux-gnu/libthread_db.so.1".
    symfile.c:881: internal-error: sect_index_text not initialized
    A problem internal to GDB has been detected,
    further debugging may prove unreliable.
    Quit this debugging session? (y or n)

Output from gdb 8.2:

    Starting program: [snip]
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library
"/lib/x86_64-linux-gnu/libthread_db.so.1".
    /build/gdb-q2KLFj/gdb-8.2/gdb/symfile.c:891: internal-error:
sect_index_text not initialized
    A problem internal to GDB has been detected,
    further debugging may prove unreliable.
    Quit this debugging session? (y or n)

Is it legitimate to add binary files like an SO as part of the test, or
must I build all artifacts from source? If desired, I can attach the
offending SO to the ticket once my account is setup (waiting on setup
email).

M

On Thu, May 14, 2020 at 1:32 PM Simon Marchi <simark@simark.ca> wrote:

> On 2020-05-14 1:22 p.m., mlimber via Gdb-patches wrote:
> > I have replicated this bug in gdb versions 10.0.50.20200514-git and also
> > 8.2-0ubuntu1~14.04.1. I am using an executable that dynamically links an
> > shared object with no text segment, viz., libicudata.so.52.2. (FWIW,
> lldb-8
> > does not crash with this same executable + library.)
> >
> > I located a patch by Jeremie Courreges-Anglas here:
> > https://marc.info/?l=openbsd-ports&m=146569238229407&w=2. I applied said
> > patch, rebuilt gdb, and now I can debug the same executable with gdb.
> >
> > I am not an expert on the inner workings of gdb, but I assume those who
> > review this code can better judge the overall soundness of this change.
> >
> > I did not create a new test, but I can try it if necessary.
> >
> > I have not previously completed an FSF copyright assignment. I have a
> > "request for disclaimer" email prepared to send if so directed by the gdb
> > maintainers.
> >
> > Cheers!
> >
> > M
> >
>
> Hi,
>
> Thanks for the patch.  For reference, could you please provide some
> instructions
> on how to replicate this bug?  How to compile a minimal test case and the
> GDB
> commands to trigger the bug.  It should ideally be put in the commit
> message to
> act as a reference, and it will be useful to write a test.
>
> We'll want a test for sure, so if you want to start writing one it would be
> appreciated.  I know that writing GDB test is not the most obvious thing to
> do when you are not familiar with it, so don't hesitate to ask for help.
>
> Simon
>

  reply	other threads:[~2020-05-14 17:48 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-14 17:22 mlimber
2020-05-14 17:32 ` Simon Marchi
2020-05-14 17:48   ` mlimber [this message]
2020-05-14 17:57     ` Simon Marchi
2020-05-14 19:12       ` mlimber
2020-05-14 19:28         ` Simon Marchi
2020-05-15 18:33           ` mlimber
2020-05-16 20:39             ` mlimber
2020-05-16 21:05               ` Simon Marchi
2020-05-17  3:31             ` Simon Marchi
2020-05-17  7:01               ` Andreas Schwab
2020-05-17 14:01                 ` Simon Marchi
2020-05-17 14:08                   ` Simon Marchi
2020-05-18 18:01             ` Simon Marchi
2020-05-18 21:11               ` mlimber
2020-05-18 21:44                 ` Simon Marchi
2020-05-19 14:36                   ` mlimber
2020-05-19 14:44                     ` Simon Marchi
2020-05-20 13:24                       ` mlimber
2020-05-20 14:12                         ` Simon Marchi
2020-05-20 15:04                           ` mlimber

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=CAAogRRp4eSagh2_p1P4ddQt-dFWQdzAacCW+FoQQPHW2zhPLaA@mail.gmail.com \
    --to=mlimber@gmail.com \
    --cc=gdb-patches@sourceware.org \
    --cc=simark@simark.ca \
    /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).