I can reproduce the problem - running SaslAuthFailTest with the following JDK and JRE:
$ javac -version
$ java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
with ant -Dtest.output=$test_output -Dtestcase=SaslAuthFailTest junit.run.
This causes an eventual failure the same as Jenkins build 407 as in the Description. It usually takes several iterations to see the failure (less than 20 usually).
Separating the two tests in SaslAuthFailTest into two files seems to fix the problem. I'm not sure why, though. I spent some time looking at SessionTrackerImpl.java. The server's SessionTrackerImpl thread seems to be unable to exit from the while(running) loop, even though the volatile boolean running becomes false. If I run jstack on the test JVM's process, it looks like there are actually two SessionTrackerImpl threads running, which seems wrong to me. This led me to the workaround of separating the two tests into different files, which is shown in the attached patch.