Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Java Bug Apache

Java 7 Ships With Severe Bug 180

Lisandro writes "Lucid Imagination just posted an announcement about a severe bug in the recently released Java 7. Apparently some loops are mis-compiled due to errors in the HotSpot compiler optimizations, which causes programs to fail. This bug affects several Apache projects directly — Apache Lucene Core and Apache Solr have already raised a warning, noting that the bug might be present in Java 6 as well."
This discussion has been archived. No new comments can be posted.

Java 7 Ships With Severe Bug

Comments Filter:
  • by Nadaka ( 224565 ) on Friday July 29, 2011 @01:19PM (#36923698)

    So well known for product "quality"

  • by Tridus ( 79566 ) on Friday July 29, 2011 @01:28PM (#36923886) Homepage

    Relevant part:

    These problems were detected only 5 days before the official Java 7 release,
    so Oracle had no time to fix those bugs, affecting also many more
    applications. In response to our questions, they proposed to include the
    fixes into service release u2 (eventually into service release u1, see [6]).
    This means you cannot use Apache Lucene/Solr with Java 7 releases before
    Update 2! 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.

    If this was known before the release and it's as severe as it's being made out to be, why the hell didn't they postpone the release? It's not like the world is dependent on Java 7 being released on time.

    This isn't a little issue, either. It's extremely irresponsible for Oracle to put this kind of release out knowing of a bug this severe without any kind of warning on it.

  • by Anonymous Coward on Friday July 29, 2011 @01:28PM (#36923888)

    Damn those bugs where known but Oracle choose to ship Java 7, knowing that it would crash on some very known and used Apache libraries. (And most likely other code too).

    To quote:
    "These problems were detected only 5 days before the official Java 7 release,
    so Oracle had no time to fix those bugs, affecting also many more. "

    Here is a hint to Oracle: If you find a fatal bug 5 days before launch and don't have time to fix it, you either disable the specific optimization with the know bug, or you postpone the launch and start working on a fix. Just shipping like this is stupid.

  • by Tridus ( 79566 ) on Friday July 29, 2011 @01:31PM (#36923942) Homepage

    Can you name an instance where Sun knew the thing miscompiled loops before release and put it out anyway with no warning to users about the error?

    I can't. Sun got stuff wrong sometimes, but this is an incredible level of actively poor judgement from Oracle. Anybody sane would have delayed this release.

  • by thehossman ( 198379 ) on Friday July 29, 2011 @02:20PM (#36924794)

    a) some of these bugs where filed months ago, and yet those hotspot "optimizations" are still on by default

    b) it's true that some problems can be avoided by deliberately disabling these optimizations, but w/o raising big warning alarms to users, people aren't going to know they need to go out of their way to do that. For crash bugs, it may not be so bad -- they see the crash and google to find out why it crashed. For miss-evaluation of loops that can lead to silent data corruption it's a different story -- how would users ever know that they need to disable those options if developers don't yell and holler from the roof tops?

  • by rossjudson ( 97786 ) on Friday July 29, 2011 @02:32PM (#36925000) Homepage

    Another way of looking at this is to realize that the pre-release versions of Java 7 have been out there for a long, long time, and nobody from these Apache projects felt like testing their (rather important) open source projects against it, so they could have found and reported the bug earlier.

    It seems to me that fault lies in both directions here.

    A more correct rewrite of the bug teaser would be, "Don't use Java 7 for anything if you are incapable of passing an extra command line argument to it".

You will never amount to much. -- Munich Schoolmaster, to Albert Einstein, age 10