Исправил ли я, наконец, все дедлоки в Smithereen? Убрал несколько десятков лишних synchronized блоков, но особенно те, внутри которых было получение соединений с БД и которые были внутри try-with-resources с соединением с БД. Кто бы мог подумать, но
synchronized(something){
try(... DatabaseConnectionManager.getConnection()){
}
}
в сочетании с
try(... DatabaseConnectionManager.getConnection()){
synchronized(something){
}
}
может сделать очень больно ¯\_(ツ)_/¯