Pelo que entendi, o kernel do Linux (e por proxy Ubuntu) ignora deadlocks. Eles acontecem com tanta frequência que o custo de gerenciá-los (monitoramento, resolução) excede em muito o benefício. A maneira menos onerosa de gerenciá-los é simplesmente ignorá-los (enquanto outros aplicativos, como bancos de dados, são executados no Deadlocks com mais frequência, o Linux não).