public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Simon Marchi <simark@simark.ca>
To: mlimber <mlimber@gmail.com>
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:57:24 -0400	[thread overview]
Message-ID: <c7ec4635-54ef-3ddb-84cd-51bf4f41d1f4@simark.ca> (raw)
In-Reply-To: <CAAogRRp4eSagh2_p1P4ddQt-dFWQdzAacCW+FoQQPHW2zhPLaA@mail.gmail.com>

On 2020-05-14 1:48 p.m., mlimber wrote:
> 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

Thanks.  The best is to give a source snippet and compiler commands used to build
it, so someone reading the commit message has everything they need to reproduce the
issue if needed.  It can also be good to mention which compiler version (including if
it comes from a distro package) you use, because sometimes it matters.

In this case, I'm guessing that compiling a simple shared library that has only one
global variable and no code will be enough to reproduce the issue?

For the test, we currently don't check in binary artifacts, they are all generated
as part of the test.  Grep for `gdb_compile_shlib` to see how to generate a shared
library.

I'm thinking that it would be useful to check in some binary artifacts, but only
for really hard to reproduce cases.  Like, gcc version x.y.z on this distro with
this option generated something weird, and we want to make sure we don't crash on
it.  But we don't do that at the moment.

Simon

  reply	other threads:[~2020-05-14 17:57 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
2020-05-14 17:57     ` Simon Marchi [this message]
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=c7ec4635-54ef-3ddb-84cd-51bf4f41d1f4@simark.ca \
    --to=simark@simark.ca \
    --cc=gdb-patches@sourceware.org \
    --cc=mlimber@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).