⬢ DragonFlyBSD Kernel Audit
DF-4842 / panic.txt
← back to finding ↓ download raw
[DF4842] test1 (case B): scheduler thread busy in run_job() when drm_sched_fini() runs
[DF4842] sched thread: task=0xfffff800897a5080 dfly_td=0xfffff800905fc100 cpu=1
[DF4842] run_job(job=0xfffff800897a5180): entered on td=0xfffff800905fc100 cpu=1 - now BUSY-SPINNING 4s (no blocking: td stays TDF_RUNNING)
[DF4842] calling drm_sched_fini(): kthread_stop sets SHOULD_STOP, tsleeps its FIXED 1s, then lwkt_free_thread() on the still-TDF_RUNNING td 0xfffff800905fc100 -> expect KKASSERT panic
panic: assertion "(td->td_flags & (TDF_RUNNING | TDF_PREEMPT_LOCK | TDF_RUNQ | TDF_TSLEEPQ | TDF_KERNELFP)) == 0" failed in lwkt_free_thread at /usr/src/sys/kern/lwkt_thread.c:514
cpuid = 0
Trace beginning at frame 0xfffff801182ef708
lwkt_free_thread() at lwkt_free_thread+0x119 0xffffffff80672639 
lwkt_free_thread() at lwkt_free_thread+0x119 0xffffffff80672639 
kthread_stop() at kthread_stop+0xb4 0xffffffff86824ac4 
sysctl_df4842_test() at sysctl_df4842_test+0x1e7 0xffffffff873bc467 
sysctl_root.isra.5() at sysctl_root.isra.5+0x166 0xffffffff80683d06 
userland_sysctl() at userland_sysctl+0x111 0xffffffff806840a1 
Debugger("panic")

CPU0 stopping CPUs: 0x0000003e
 stopped
Stopped at      Debugger+0x7c:  movb    $0,0xbdaf09(%rip)
db>