Apache Developers: Java 7 Contains Bugs

The newly released Java 7, five years in the making, includes bugs that can cause Java virtual machines to crash or lead to bugs in applications, according to Apache Lucene developers.

Lucene is an open source full-text search engine library written in Java. In an email list posting, the project warned developers to be wary of the new Java release, saying it contains bugs that can affect the code of several projects.

Bugs Hit Core And Solr

“Oracle released Java 7 today. Unfortunately it contains HotSpot compiler optimisations which miscompile some loops,” the advisory read. “This can affect code of several Apache projects. Sometimes JVMs only crash but, in several cases, results calculated can be incorrect, leading to bugs in applications.”

Apache Lucene Core and Apache Solr are two of the Apache projects affected by the bugs, according to the advisory.

“Solr users with the default configuration will have Java crashing with SIGSEGV [invalid memory reference] as soon as they start to index documents, as one affected part is the well-known Porter stemmer,” the advisory said. “Other loops in Lucene may be miscompiled, too, leading to index corruption.”

The problems were detected only five days before the official release of Java 7, meaning Oracle had no time to fix them, according to the advisory. Oracle has proposed to include fixes for the problems in Java 7 Update 2, according to the Lucene project.

“This means you cannot use Apache Lucene/Solr with Java 7 releases before Update 2,” the advisory said.

New features

Java 7 brings several new features to the platform, including Project Coin, also known as Java Specification Request 334: Small language enhancements. The project consists of a set of small language changes intended to simplify common, day-to-day programming tasks. The Project Coin language changes enhance developer productivity and reduces the amount of code needed to do certain tasks. Key Project Coin features include the diamond operator, try-with resources and strings in switch.

Oracle launched Java 7 on Thursday with great fanfare, though Java experts said the changes in the language and platform are more evolutionary than revolutionary.

Progressing the language became difficult as Java was plagued by political and market unrest, first at Sun and then at Oracle after its acquisition of Sun. The Java Community Process, which governs the progress of Java, was rife with infighting and accusations of favouritism by Sun and then Oracle. And “Moving Java Forward” became a mantra at Oracle, as if to say it is ours now and we are going to take it forward no matter what.

Adam Messinger, vice president of product development at Oracle, said Java has been at Oracle for 18 months since the company acquired Sun Microsystems and Java is in good hands. Acknowledging that Oracle is “standing on the shoulders of giants” with Java, Messinger noted that Oracle is investing heavily in Java by putting together “the largest team ever” to work on the language and platform by combining the HotSpot and JRockit teams.

Messinger also said Oracle is working to continue to build out the Java community and has moved to make the Java Community Process (JCP) more open.

Matthew Broersma

Matt Broersma is a long standing tech freelance, who has worked for Ziff-Davis, ZDnet and other leading publications

View Comments

  • Hardly surprising Java has bugs when Oracle spends more man hours taking the likes of Google etc to court over patent violations than they do ensuring QA on their software releases.

    • The people actually developing the technology are probably not the Lawyers. Test versions of JDK and JRE 7 had been available testing a number of months. Apache should have tested using these pre-releases and fed back their findings to Oracle like everyone else should. If they did actually provide feedback then shame on Oracle for refusing to act on it. In anycase I wouldn't call this a complete disaster and don't quite understand why the media is so hung up on this- Java 6 is still around after all.

  • jdk 7 is not doing byte code conversion part very well.
    I got a problem in mono about wrong class format.
    We expect oracle and jcp and other's plz make new release available as soon as possible.

  • It's really bad move with java7. The strength of Java was always backward compatability, not the small improvements 90% people do not care about. I could not even run jedit anymore on linux! [error] BeanShellAction: java.lang.ClassCastException: javax.swing.KeyStroke cannot be cast to java.lang.Comparable).

    Some Java projects are simply dead on Linux platform after moving to java7 (see http://jwork.org/main/)

Recent Posts

Craig Wright Sentenced For Contempt Of Court

Suspended prison sentence for Craig Wright for “flagrant breach” of court order, after his false…

2 days ago

El Salvador To Sell Or Discontinue Bitcoin Wallet, After IMF Deal

Cash-strapped south American country agrees to sell or discontinue its national Bitcoin wallet after signing…

2 days ago

UK’s ICO Labels Google ‘Irresponsible’ For Tracking Change

Google's change will allow advertisers to track customers' digital “fingerprints”, but UK data protection watchdog…

2 days ago

EU Publishes iOS Interoperability Plans

European Commission publishes preliminary instructions to Apple on how to open up iOS to rivals,…

3 days ago

Momeni Convicted In Bob Lee Murder

San Francisco jury finds Nima Momeni guilty of second-degree murder of Cash App founder Bob…

3 days ago