NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/53202: Kernel hangs running t_ptrace_wait:resume1 test
The following reply was made to PR kern/53202; it has been noted by GNATS.
From: Andreas Gustafsson <gson%gson.org@localhost>
To: Taylor R Campbell <riastradh%NetBSD.org@localhost>
Cc: gnats-bugs%NetBSD.org@localhost
Subject: Re: kern/53202: Kernel hangs running t_ptrace_wait:resume1 test
Date: Wed, 25 Apr 2018 10:32:39 +0300
Taylor R Campbell wrote:
> Does inserting a call to yield() after lwp_unsleep in sleepq_block
> change anything,
I have now run a test with the following patch, plus the two patches
given in the original PR submission:
Index: src/sys/kern/kern_sleepq.c
===================================================================
RCS file: /bracket/repo/src/sys/kern/kern_sleepq.c,v
retrieving revision 1.51
diff -u -r1.51 kern_sleepq.c
--- src/sys/kern/kern_sleepq.c 3 Jul 2016 14:24:58 -0000 1.51
+++ src/sys/kern/kern_sleepq.c 24 Apr 2018 17:39:03 -0000
@@ -257,6 +257,7 @@
if (early) {
/* lwp_unsleep() will release the lock */
lwp_unsleep(l, true);
+ yield();
} else {
if (timo) {
callout_schedule(&l->l_timeout_ch, timo);
> if we restore the use of cv_wait_sig in lwp_wait?
Instead of applying a fourth patch to -current to restore the use of
cv_wait_sig, I applied the above three patches to sources from CVS
date 2018.04.15.00.19.23, when cv_wait_sig was still being used.
I then built and tested an i386 debug build on my own testbed.
The resume1 tests failed with timeouts, but the test suite now ran to
completion without hanging, and the other tests that failed are ones
I have also seen failing in other tests runs around the same source
date:
kernel/t_timeleft:timeleft__lwp_park
lib/libc/sys/t_ptrace_wait:resume1
lib/libc/sys/t_ptrace_wait3:resume1
lib/libc/sys/t_ptrace_wait4:resume1
lib/libc/sys/t_ptrace_wait6:resume1
lib/libc/sys/t_ptrace_waitid:resume1
lib/libc/sys/t_ptrace_waitpid:resume1
lib/librumphijack/t_tcpip:nfs_autoload
usr.bin/cc/t_asan_poison:poison
usr.bin/cc/t_asan_poison:poison_pic
usr.bin/cc/t_asan_poison:poison_profile
usr.bin/c++/t_asan_poison:poison
usr.bin/c++/t_asan_poison:poison_pic
usr.bin/c++/t_asan_poison:poison_profile
--
Andreas Gustafsson, gson%gson.org@localhost
Home |
Main Index |
Thread Index |
Old Index