public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug testsuite/29325] New: [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1)
@ 2022-07-07  5:56 vries at gcc dot gnu.org
  2022-07-07  5:58 ` [Bug testsuite/29325] " vries at gcc dot gnu.org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: vries at gcc dot gnu.org @ 2022-07-07  5:56 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=29325

            Bug ID: 29325
           Summary: [gdb/guile] Fails in
                    gdb.gdb/{python-helper,selftest}.exp when building
                    with guile (sigsegv in libgc1)
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: testsuite
          Assignee: unassigned at sourceware dot org
          Reporter: vries at gcc dot gnu.org
  Target Milestone: ---

When building gdb with guile, I run into a bunch of testsuite failures:
...
FAIL: gdb.gdb/python-helper.exp: start inner gdb (timeout)
FAIL: gdb.gdb/python-helper.exp: loading test binary into inner GDB (got
interactive prompt)
FAIL: gdb.gdb/python-helper.exp: print integer from DWARF info
FAIL: gdb.gdb/python-helper.exp: pretty print type->main_type for DWARF type
FAIL: gdb.gdb/python-helper.exp: hit breakpoint in outer gdb again
FAIL: gdb.gdb/python-helper.exp: print *type->main_type
FAIL: gdb.gdb/selftest.exp: xgdb is at prompt
FAIL: gdb.gdb/selftest.exp: send ^C to child process (timeout)
FAIL: gdb.gdb/selftest.exp: send SIGINT signal to child process (timeout)
FAIL: gdb.gdb/selftest.exp: send ^C to child process again (timeout)
FAIL: gdb.gdb/selftest.exp: thread 1 (timeout)
FAIL: gdb.gdb/selftest.exp: backtrace through signal handler (timeout)
...

In more detail:
...
Thread 1 "xgdb" received signal SIGSEGV, Segmentation fault.^M
0x00007ffff71f1aa3 in ?? () from /lib64/libgc.so.1^M
(outer-gdb) FAIL: gdb.gdb/python-helper.exp: start inner gdb (timeout)
...

This is actually documented behaviour ( https://hboehm.info/gc/debugging.html
).

So there's nothing wrong with gdb.  Building gdb with guile makes gdb "a
program that uses libgc1".  The same behaviour can be reproduced by debugging a
simple:
...
$ cat test.c
#include "gc.h"

int
main (void)
{
  GC_INIT ();
  return 0;
}
...
compiled like:
...
$ gcc test.c -lgc
...

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug testsuite/29325] [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1)
  2022-07-07  5:56 [Bug testsuite/29325] New: [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1) vries at gcc dot gnu.org
@ 2022-07-07  5:58 ` vries at gcc dot gnu.org
  2022-07-07  6:16 ` vries at gcc dot gnu.org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: vries at gcc dot gnu.org @ 2022-07-07  5:58 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=29325

--- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> ---
We could update the test-case to continue when hitting the SIGSEGV.

The documented advise to deal with this suggests:
...
(gdb) handle SIGSEGV SIGBUS nostop noprint"
...

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug testsuite/29325] [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1)
  2022-07-07  5:56 [Bug testsuite/29325] New: [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1) vries at gcc dot gnu.org
  2022-07-07  5:58 ` [Bug testsuite/29325] " vries at gcc dot gnu.org
@ 2022-07-07  6:16 ` vries at gcc dot gnu.org
  2022-07-07  6:17 ` vries at gcc dot gnu.org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: vries at gcc dot gnu.org @ 2022-07-07  6:16 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=29325

--- Comment #2 from Tom de Vries <vries at gcc dot gnu.org> ---
(In reply to Tom de Vries from comment #1)
> We could update the test-case to continue when hitting the SIGSEGV.
> 
> The documented advise to deal with this suggests:
> ...
> (gdb) handle SIGSEGV SIGBUS nostop noprint"
> ...

We could even try to do this automagically when detecting that we debug a
process using libgc1.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug testsuite/29325] [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1)
  2022-07-07  5:56 [Bug testsuite/29325] New: [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1) vries at gcc dot gnu.org
  2022-07-07  5:58 ` [Bug testsuite/29325] " vries at gcc dot gnu.org
  2022-07-07  6:16 ` vries at gcc dot gnu.org
@ 2022-07-07  6:17 ` vries at gcc dot gnu.org
  2022-12-16 16:09 ` tromey at sourceware dot org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: vries at gcc dot gnu.org @ 2022-07-07  6:17 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=29325

--- Comment #3 from Tom de Vries <vries at gcc dot gnu.org> ---
[ FTR, originally filed at
https://bugzilla.opensuse.org/show_bug.cgi?id=1153239 ]

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug testsuite/29325] [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1)
  2022-07-07  5:56 [Bug testsuite/29325] New: [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1) vries at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2022-07-07  6:17 ` vries at gcc dot gnu.org
@ 2022-12-16 16:09 ` tromey at sourceware dot org
  2022-12-16 16:09 ` tromey at sourceware dot org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: tromey at sourceware dot org @ 2022-12-16 16:09 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=29325

Tom Tromey <tromey at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tromey at sourceware dot org

--- Comment #4 from Tom Tromey <tromey at sourceware dot org> ---
(In reply to Tom de Vries from comment #2)

> We could even try to do this automagically when detecting that we debug a
> process using libgc1.

I don't think gdb should do this itself.
However, libgc could ship a python script to do it.
Although I thought I heard that libgc changed its probing
strategy to avoid the SEGV.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug testsuite/29325] [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1)
  2022-07-07  5:56 [Bug testsuite/29325] New: [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1) vries at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2022-12-16 16:09 ` tromey at sourceware dot org
@ 2022-12-16 16:09 ` tromey at sourceware dot org
  2022-12-27 17:22 ` cvs-commit at gcc dot gnu.org
  2022-12-27 19:31 ` tromey at sourceware dot org
  6 siblings, 0 replies; 8+ messages in thread
From: tromey at sourceware dot org @ 2022-12-16 16:09 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=29325

Tom Tromey <tromey at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at sourceware dot org   |tromey at sourceware dot org

--- Comment #5 from Tom Tromey <tromey at sourceware dot org> ---
https://sourceware.org/pipermail/gdb-patches/2022-December/194802.html

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug testsuite/29325] [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1)
  2022-07-07  5:56 [Bug testsuite/29325] New: [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1) vries at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2022-12-16 16:09 ` tromey at sourceware dot org
@ 2022-12-27 17:22 ` cvs-commit at gcc dot gnu.org
  2022-12-27 19:31 ` tromey at sourceware dot org
  6 siblings, 0 replies; 8+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-12-27 17:22 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=29325

--- Comment #6 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tom Tromey <tromey@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=59132fd9777442eea8c05c6b4b96cee03c6273b3

commit 59132fd9777442eea8c05c6b4b96cee03c6273b3
Author: Tom Tromey <tromey@adacore.com>
Date:   Thu Dec 15 14:12:05 2022 -0700

    Handle SIGSEGV in gdb selftests

    The gdb.gdb self-tests were timing out for me, which turned out to be
    PR testsuite/29325.  Looking into it, the problem is that the version
    of the Boehm GC that is used by Guile on my machine causes a SEGV
    during stack probing.  This unexpected stop confuses the tests and
    causes repeated timeouts.

    This patch adapts the two failing tests.  This makes them work for me,
    and reduces the running time of gdb.gdb from 20 minutes to about 11
    seconds.

    Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29325

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug testsuite/29325] [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1)
  2022-07-07  5:56 [Bug testsuite/29325] New: [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1) vries at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2022-12-27 17:22 ` cvs-commit at gcc dot gnu.org
@ 2022-12-27 19:31 ` tromey at sourceware dot org
  6 siblings, 0 replies; 8+ messages in thread
From: tromey at sourceware dot org @ 2022-12-27 19:31 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=29325

Tom Tromey <tromey at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|---                         |14.1

--- Comment #7 from Tom Tromey <tromey at sourceware dot org> ---
Fixed.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-12-27 19:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-07  5:56 [Bug testsuite/29325] New: [gdb/guile] Fails in gdb.gdb/{python-helper,selftest}.exp when building with guile (sigsegv in libgc1) vries at gcc dot gnu.org
2022-07-07  5:58 ` [Bug testsuite/29325] " vries at gcc dot gnu.org
2022-07-07  6:16 ` vries at gcc dot gnu.org
2022-07-07  6:17 ` vries at gcc dot gnu.org
2022-12-16 16:09 ` tromey at sourceware dot org
2022-12-16 16:09 ` tromey at sourceware dot org
2022-12-27 17:22 ` cvs-commit at gcc dot gnu.org
2022-12-27 19:31 ` tromey at sourceware dot org

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).