Evil Scheduler: Mastering Concurrency Through Interactive Debugging TLDR Watch the video below to see how Fray debugger works! You may also want to check the Fray repo. I enjoy the concept of Deadlock Empire, an interactive game that teaches the semantics of locks and other concurrency primitives. The core idea of this game is for you to act as an evil scheduler. Your goal is to guide the execution of threads into a bad state, such as a deadlock or two threads entering a critical section simu...| Blog on Ao Li
Discovering a JDK Race Condition, and Debugging it in 30 Minutes with Fray I’ve been adding more integration tests for Fray recently. To ensure Fray can handle different scenarios, I wrote many creative test cases. Many of them passed as expected, while some failures led to epic fixes in Fray. Then something unexpected happened: Fray threw a deadlock exception while testing the following seemingly innocent code: 1private void test() { 2 ScheduledThreadPoolExecutor executor = new ScheduledTh...| Ao Li