Hello, I'm the submitter of JDK-8130735. Thank you for your work on this issue. The fix looks good to me.
>> This happens very rare only for repeated timers and only if user uses the Swing timer API >> inaccurately (call start() without stop()). It also happens with "accurate" code when both, stop() and start(), calls are invoked by EDT after the TimerThread has removed this timer from the queue and before the lock on this timer is acquired. The Testcase does not call stop() to make it more reproducible. Our Swingbased RIA highly depends on Swing Timer so it would be really great if this will be backported to JDK 8u. Regards, Reto Merz
