public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug threads/31602] New: Sporadic test failures in gdb.threads/signal-command-handle-nopass.exp
@ 2024-04-03 19:16 bernd.edlinger at hotmail dot de
0 siblings, 0 replies; only message in thread
From: bernd.edlinger at hotmail dot de @ 2024-04-03 19:16 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31602
Bug ID: 31602
Summary: Sporadic test failures in
gdb.threads/signal-command-handle-nopass.exp
Product: gdb
Version: HEAD
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: threads
Assignee: unassigned at sourceware dot org
Reporter: bernd.edlinger at hotmail dot de
Target Milestone: ---
I observe a 1 out of 10-20 test failure in
gdb.threads/signal-command-handle-nopass.exp
on host system: devuan Daedalus with
Linux version 6.1.0-18-amd64 (debian-kernel@lists.debian.org) (gcc-12 (Debian
12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP
PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01)
while make check-gdb
RUNTESTFLAGS="gdb.threads/signal-command-handle-nopass.exp"; do :; done
stops always after a few repeates with a failure break in the handler as
follows:
FAIL: gdb.threads/signal-command-handle-nopass.exp: step-over yes: signal
SIGUSR1
=== gdb Summary ===
# of expected passes 16
# of unexpected failures 1
/home/ed/gnu/gdb-build-1/gdb/gdb version 15.0.50.20240401-git -nw -nx -q -iex
"set height 0" -iex "set width 0" -data-directory
/home/ed/gnu/gdb-build-1/gdb/data-directory
=== gdb Summary ===
# of expected passes 16
# of unexpected failures 1
/home/ed/gnu/gdb-build-1/gdb/gdb version 15.0.50.20240401-git -nw -nx -q -iex
"set height 0" -iex "set width 0" -data-directory
/home/ed/gnu/gdb-build-1/gdb/data-directory
make[3]: *** [Makefile:226: do-check-single] Error 1
make[3]: Leaving directory '/home/ed/gnu/gdb-build-1/gdb/testsuite'
make[2]: *** [Makefile:161: check] Error 2
make[2]: Leaving directory '/home/ed/gnu/gdb-build-1/gdb/testsuite'
make[1]: *** [Makefile:1969: check] Error 2
make[1]: Leaving directory '/home/ed/gnu/gdb-build-1/gdb'
make: *** [Makefile:12412: check-gdb] Error 2
Failure happens both with step over and without.
log file shows this when the failure happens:
(gdb) PASS: gdb.threads/signal-command-handle-nopass.exp: step-over yes: thread
1 selected
signal SIGUSR1^M
Continuing with signal SIGUSR1.^M
^M
Thread 1 "signal-command-" received signal SIGUSR1, User defined signal 1.^M
0x00007ffff7e59847 in pthread_create () from /lib/x86_64-linux-gnu/libc.so.6^M
(gdb) FAIL: gdb.threads/signal-command-handle-nopass.exp: step-over yes: signal
SIGUSR1
info threads^M
Id Target Id Frame ^M
* 1 Thread 0x7ffff7dcd740 (LWP 28333) "signal-command-" 0x00007ffff7e59847
in pthread_create () from /lib/x86_64-linux-gnu/libc.so.6^M
2 Thread 0x7ffff7dcc6c0 (LWP 28336) "signal-command-" thread_function
(arg=0x0) at
/home/ed/gnu/gdb-build-1/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.threads/signal-command-handle-nopass.c:34^M
(gdb) PASS: gdb.threads/signal-command-handle-nopass.exp: step-over yes: thread
1 got the signal
Expected behavior would be break in handler, not in pthread_create.
Even if I modify the test case to continue there and wait for the breakpoint to
be hit later, that does not happen. It looks like the pthread_create catches
the SIGUSR1.
The problem seems to go away if I change the test to allow the pthread_create
to complete before the first breakpoint is hit as follows:
diff --git a/gdb/testsuite/gdb.threads/signal-command-handle-nopass.c
b/gdb/testsuite/gdb.threads/signal-command-handle-nopass.c
index 6d82bd6f256..9e065ec5303 100644
--- a/gdb/testsuite/gdb.threads/signal-command-handle-nopass.c
+++ b/gdb/testsuite/gdb.threads/signal-command-handle-nopass.c
@@ -35,6 +35,13 @@ thread_function (void *arg)
usleep (1);
}
+void *
+thread_function1 (void *arg)
+{
+ usleep (10);
+ return thread_function (arg);
+}
+
int
main (void)
{
@@ -42,7 +49,7 @@ main (void)
int i;
signal (SIGUSR1, handler);
- pthread_create (&child_thread, NULL, thread_function, NULL);
+ pthread_create (&child_thread, NULL, thread_function1, NULL);
pthread_join (child_thread, NULL);
return 0;
Well it looks a bit as if the pthread_create is broken here.
And probably a KFAIL would be more appropriate?
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-04-03 19:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-03 19:16 [Bug threads/31602] New: Sporadic test failures in gdb.threads/signal-command-handle-nopass.exp bernd.edlinger at hotmail dot de
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).