Menü
iX Magazin

Java 7 legt Lucene und Solr lahm

Von
vorlesen Drucken Kommentare lesen 88 Beiträge

Der Hotspot-Compiler im gerade freigegebenen Java 7 enthält Defekte im Optimierer, die zu fehlerhaften Schleifen führen können. Darauf weist die Apache Software Foundation hin. Folgen könnten sowohl Abstürze der Java Virtual Machine als auch fehlerhafte Resultate von Berechnungen sein.

Betroffen sind unter anderem die Apache-Projekte Lucene und Solr, und zwar alle bis heute veröffentlichten Versionen. Das Indizieren von Dokumenten unter Solr löse Java-Abstürze aus, berichten die Apache-Entwickler. Schleifen in Lucene könnten fehlerhaft übersetzt werden, was zu einer Korrumpierung des Indexes führe. Betroffen sei insbesondere die Trunk-Version von Lucene mit dem "Pulsing Codec".

Die Bugs seien erst fünf Tage vor der Veröffentlichung von Java 7 entdeckt worden; Oracle werde sie spätestens im zweiten Service-Release von Java 7 korrigieren. Bis dahin sollten Lucene- und Solr-Anwender auf den Einsatz der neuen Sprachversion verzichten oder zumindest die JVM-Option -XX:-UseLoopPredicate verwenden, um eine Beschädigung des Index zu vermeiden. Betroffen könnten auch Nutzer von Java 6 sein, erklären die Apache-Entwickler. Allerdings träten die Fehler bei dieser Version nur auf, wenn die JVM mit den Optionen -XX:+OptimizeStringConcat oder -XX:+AggressiveOpts gestartet wird.

Bei Oracle sind die Fehler unter den Nummern 7070134, 7044738 und 7068051 registriert. Der erste lässt die JVM abstürzen und tritt bei Verwendung des "Stemmer-Algorithmus" von Martin Porter auf. Mit diesem Verfahren lassen sich englische Wörter auf ihre Grundformen, den Stamm, zurückführen. Dieser Fehler ist bislang mit der Priorität "niedrig" versehen, die anderen beiden stehen zurzeit auf "mittel". (ck)