Community
Participate
Working Groups
Created attachment 122943 [details] snip of thread dump Build ID: I20080617-2000 We faced the deadlock in our JUnit test run, see attached snip of thread dump. We refer to Java spec (http://java.sun.com/docs/books/jls/third_edition/html/execution.html#12.4.2) and are assuming: - Thread "Java indexing" is going to initialize Constant class (= Constant class is locked) and tries to initialize DoubleConstant (which is locked by Worker-22) - Worker-22 locks DoubleConstant during initialization of LongLiteral and tries to lock the parent class Constant BTW: It is anyway questionable to access a child class in the static initializer of Constant More information: [2009.01.19 02:56:25] !SESSION 2009-01-19 02:56:04.717 ----------------------------------------------- [2009.01.19 02:56:25] eclipse.buildId=I20080617-2000 [2009.01.19 02:56:25] java.version=1.6.0_05 [2009.01.19 02:56:25] java.vendor=Sun Microsystems Inc.
This is a long standing weakness. And, actually, LongLiteral#FORMAT_ERROR could be eliminated entirely.
This is a rare situation which has been existing since day 1.
Also IntLiteral is exhibiting the same pattern.
Created attachment 124410 [details] Proposed patch Also cleaned up some dusty code.
Created attachment 124424 [details] Better patch
Created attachment 124425 [details] Proposed patch for 3.4
Released for 3.5M6 Fixed
Verified for 3.5M6 using I20090310-0100