23 June, 2011

Beware debugging Java 1.3 synchronised sections!

Pinch point hazard

Single-stepping through interlocking Java threads in JDK1.3 can result in irresolvable deadlock. Specifically if one thread is blocked stepping-into a section synchronized on an object and another thread that already holds the lock steps-over a wait() on that object.