[Bug libgcj/51615] Condition Variable queue state corruption and infinite loop

pashev.igor at gmail dot com gcc-bugzilla@gcc.gnu.org
Sun Jan 11 22:12:00 GMT 2015


--- Comment #3 from Igor Pashev <pashev.igor at gmail dot com> ---
I managed to work around this issue by disabling multithreaded compilation in

@@ -4106,7 +4106,7 @@ public void performCompilation() {
        this.batchCompiler.remainingIterations =
this.maxRepetition-this.currentRepetition/*remaining iterations including this
        // temporary code to allow the compiler to revert to a single thread
        String setting = System.getProperty("jdt.compiler.useSingleThread");
-       this.batchCompiler.useSingleThread = setting != null &&
setting.equals("true"); //$NON-NLS-1$
+       this.batchCompiler.useSingleThread = setting == null ||
setting.equals("true"); //$NON-NLS-1$

        if (this.compilerOptions.complianceLevel >= ClassFileConstants.JDK1_6
                        && this.compilerOptions.processAnnotations) {

The I recompiled eclipse-ecj.jar on a system without this issue (Debian Linux
amd64), copied this jar to my system and rebuilt ecj.

P. S. I think Debian Linux/amd64 is also affected, see Bug 51615, but
multithreaded compilation works there.

More information about the Java-prs mailing list