consistent repro a crash related signal deliver and mutex/cond operation in arm platform. I notice this when I was play with dtrace arm port from gonozo. the _sleep function is a simpler version of dtrace_sleep in libdtrace. In case you need a real case, please refer that file @ cddl/contrib/opensolaris/lib/libdtrace/dt_work.c. Fix: Patch attached with submission follows: How-To-Repeat: Compile and run the attached C code. Press Ctrl-C when shows "enter".
The following change make problem goes away. index 252d780..c7c44a9 100644 --- a/sys/arm/conf/BEAGLEBONE +++ b/sys/arm/conf/BEAGLEBONE @@ -59,9 +59,9 @@ options KDB options DDB #Enable the kernel debugger options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS -options WITNESS #Enable checks to detect deadlocks and cycles -options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed -#options DIAGNOSTIC +#options WITNESS #Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed +options DIAGNOSTIC -- -Howard
it was an artifact of experimental code. This is confirmed by me and Ian@so that this is not able to reproduce in stock kernel. -- -Howard
For bugs matching the following criteria: Status: In Progress Changed: (is less than) 2014-06-01 Reset to default assignee and clear in-progress tags. Mail being skipped
Closing as "overcome by events" since I can not reproduce it on stable/11 and head