Run with -Djdk.tracePinnedThreads=full to see if it reveals anything, it might be that logback is using a mix of monitors and j.u.c locks and this leads to this issue.