Исправил ли я, наконец, все дедлоки в Smithereen? Убрал несколько десятков лишних synchronized блоков, но особенно те, внутри которых было получение соединений с БД и которые были внутри try-with-resources с соединением с БД. Кто бы мог подумать, но

synchronized(something){
    try(... DatabaseConnectionManager.getConnection()){
    }
}

в сочетании с

try(... DatabaseConnectionManager.getConnection()){
    synchronized(something){
    }
}

может сделать очень больно ¯\_(ツ)_/¯