Describe the bug
As initially reported in adlai#5, SBCL occasionally reports deadlock caused by the thread pool.
To Reproduce
Steps to reproduce the behavior:
Run multiple parallel threads that constantly produce new tasks, similarly to scalpl's actors.
Wait for RNGesus to schedule the deadlock cycle.
Receive Condition of type SB-THREAD:THREAD-DEADLOCK
Report this fact, and possibly additional findings, in this Issue; or invoke the ABORT restart and enjoy the hardworking actors.lisp rescheduling of the tasks.
Expected behavior
Ideally, either there should not be any deadlock; alternatively, tasks could be restartable automatically.
System (all systems where this has been observed):
Hardware: X86-64 AMD EPYC 7543 32-Core Processor
OS: Arch Linux, Debian
Compiler: SBCL
Version: multiple; most recently, 2.2.9.debian
Test Suite
Regrettably, the test suite does not detect this deadlock. I'm considering whether it is worth including a sufficiently vigorous test case that the deadlock occurs with high probability.
Describe the bug As initially reported in adlai#5, SBCL occasionally reports deadlock caused by the thread pool.
To Reproduce Steps to reproduce the behavior:
Condition of type SB-THREAD:THREAD-DEADLOCK
ABORT
restart and enjoy the hardworking actors.lisp rescheduling of the tasks.Expected behavior Ideally, either there should not be any deadlock; alternatively, tasks could be restartable automatically.
Screenshots or Error Logs
Source locations for frames 12, 9, and 6:
System (all systems where this has been observed):
Test Suite Regrettably, the test suite does not detect this deadlock. I'm considering whether it is worth including a sufficiently vigorous test case that the deadlock occurs with high probability.