[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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51615
--- Comment #3 from Igor Pashev <pashev.igor at gmail dot com> ---
I managed to work around this issue by disabling multithreaded compilation in
ECJ:
---
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) {
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 Gcc-bugs
mailing list