Description: multithreaded compiler hangs on multiple files (approx > 20) Set "useSingleThread = true" by default Note that you need prebuilt eclipse-ecj.jar with this patch applied. Bug-GCC: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34574 Bug-GCC: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51615 Index: ecj-3.10.1/src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/Main.java =================================================================== --- ecj-3.10.1.orig/src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/Main.java +++ ecj-3.10.1/src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/Main.java @@ -4106,7 +4106,7 @@ public void performCompilation() { this.batchCompiler.remainingIterations = this.maxRepetition-this.currentRepetition/*remaining iterations including this one*/; // temporary code to allow the compiler to revert to a single thread String setting = System.getProperty("jdt.compiler.useSingleThread"); //$NON-NLS-1$ - 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) {