Concurrency-Bugs mit einem BPF-Scheduler finden
2025-02-14
Auf der FOSDEM präsentierten Jake Hillion von Meta und Johannes Bechberger, ein OpenJDK-Entwickler, ihren Concurrency-Fuzzing-Scheduler, der mit dem BPF-Scheduling-Framework `sched_ext` gebaut wurde. Dieser Scheduler führt absichtlich Zufälligkeit in die Scheduling-Prozesse ein, verursacht Verzögerungen und ändert die Reihenfolge der Thread-Ausführung, um schwer reproduzierbare Concurrency-Bugs aufzudecken. Obwohl er derzeit einen erheblichen Performance-Overhead hat, der seine Verwendung auf das Debugging in der Entwicklung beschränkt, bietet er eine effektive Methode zum Auffinden von realen Logikfehlern und verspricht zukünftige Verwendung in der Produktion nach Optimierung.
(lwn.net)
Entwicklung