Débogage d'un blocage JDK en 30 minutes avec Fray : Un thriller de concurrence
2025-06-07
Lors de l'ajout de tests d'intégration pour Fray, l'auteur a rencontré un blocage dans le ScheduledThreadPoolExecutor de JDK déclenché par un code apparemment inoffensif. En utilisant la relecture déterministe et la visualisation de l'ordonnancement de Fray, la cause racine a été rapidement identifiée : dans l'état SHUTDOWN, FutureTask.get peut bloquer indéfiniment. Cela provient de l'exécution entrelacée des méthodes schedule et shutdown, laissant les tâches en suspens. Fray a fourni une vue claire de l'entrelacement des threads, permettant la reproduction et le signalement de ce bug de concurrence JDK.
(aoli.al)
Développement
Blocage