Java SE 7 'Buggy,' Causing Crashes Says Apache Lucene
The Apache Lucene project has reported that the Java Platform Standard Edition 7 (Java SE 7) release "contains hotspot compiler optimizations" that "miscompile some loops," which can cause the JVMs in some Apache projects to crash and even result in incorrectly calculated results leading to bugs in some applications.
According to a July 28th warning posted on the Lucene page of the Apache Software Foundation Web site, the bugs affect all versions of the Apache Lucene project, which is an open-source text search engine library written in Java, and Apache Solr, which is the open-source enterprise search platform from Lucene, also written in Java. Solr runs as a standalone full-text search server within a servlet container (Tomcat, for example), and uses the Lucene search library for full-text indexing and search.
A headline on both the Lucene and Solr pages declared: "Warning: Index corruption and crashes in Apache Lucene Core / Apache Solr with Java 7."
"These problems were detected only five days before the official Java 7 release," the report stated, "so Oracle had no time to fix those bugs, affecting also many more applications."
Apparently, Lucene PMC member Uwe Schindler reached out from Germany to report these bugs in an e-mail to Oracle's Vladimir Kozlov, last Tuesday. Kozlov responded: "We are late to do any bugs fixes in GA which should happen soon. All loop optimization fixes will go definitely into jdk7 update 2. We will try to push them into update 1 (which is targeted only for security fixes) but we can't promise…."
"This means you cannot use Apache Lucene/Solr with Java 7 releases before Update 2!" Lucene warned on the Apache site. "If you do, please don't open bug reports, it is not the committers' fault! At least disable loop optimizations using the -XX:-UseLoopPredicate JVM option to not risk index corruptions."
"It is strongly recommended not to use any hotspot optimization switches in any Java version without extensive testing!" Lucene warned.
Oracle announced the availability of Java SE 7 last week. It’s the first release of the core Java platform under Oracle’s stewardship, and the first new version of Java to make it out of the open source community in five years.