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

Russia Accused Of Cyberattack On Germany’s Ruling Party, Defence Firms

German foreign minister warns Russia will face consequences for “absolutely intolerable” cyberattack on ruling party,…

2 days ago

Alphabet Axes Hundreds Of Staff From ‘Core’ Organisation

Google is reportedly laying off at least 200 staff from its “Core” organisation, including key…

2 days ago

Apple Announces Record Share Buyback, Amid iPhone Sales Decline

Investor appeasement? Apple unveils huge $110 billion share buyback program, as sales of iPhone decline…

3 days ago

Tesla Backs Away From Gigacasting Manufacturing – Report

Tesla retreats from pioneering gigacasting manufacturing process, amid cost cutting and challenges at EV giant

3 days ago

US Urges No AI Control Of Nuclear Weapons

No skynet please. After the US, UK and France pledge human only control of nuclear…

3 days ago