You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Uwe Schindler <uw...@thetaphi.de> on 2013/10/23 15:03:13 UTC

RE: Testing Java Updates with your projects.

Thanks Rory for the info!

 

I am changing the recipients of this mail, so it no longer goes to the private list.

 

@ dev@lao: FYI, the clone() bug seems to be fixed so we can soon upgrade to JDK8 latest and run tests again.

 

Uwe

 

-----

Uwe Schindler

H.-H.-Meier-Allee 63, D-28213 Bremen

 <http://www.thetaphi.de/> http://www.thetaphi.de

eMail: uwe@thetaphi.de

 

From: Rory O'Donnell [mailto:rory.odonnell@oracle.com] 
Sent: Wednesday, October 23, 2013 1:08 PM
To: rory.odonnell@oracle.com
Cc: Uwe Schindler; 'Dawid Weiss'; 'Robert Muir'; 'Dalibor Topic'; 'Donald Smith'; 'Seán Coffey'; 'Balchandra Vaidya'; private@lucene.apache.org
Subject: Re: Testing Java Updates with your projects.

 

Hi Uwe,

I noticed https://bugs.openjdk.java.net/browse/JDK-8026394 has moved into fixed state.
Hope to see this included in the near future, will update you.  

It is not in b112 <https://jdk8.java.net/download.html>  which is not available.

Rgds, Rory



On 18/10/2013 15:51, Rory O'Donnell Oracle, Dublin Ireland wrote:

Hi Uwe, 

It turns out this is a duplicate of https://bugs.openjdk.java.net/browse/JDK-8026394 

Rgds,Rory 

On 18/10/2013 10:09, Rory O'Donnell Oracle, Dublin Ireland wrote: 



Hi Uwe, 


Balchandra has logged a bug for this issue: 

https://bugs.openjdk.java.net/browse/JDK-8026845 

Rgds,Rory 

On 17/10/2013 18:27, Uwe Schindler wrote: 



Hi, 

I was able to reproduce with a simple test case that emulates the UIMA code. 
See attached test case, just compile it with any JDK and run with b111: 

With Java 7 or JDK8b109: 




javac TestCloneInterface.java 
java TestCloneInterface 

With JDK8b111: 




java TestCloneInterface 

Exception in thread "main" java.lang.IllegalAccessError: tried to access method java.lang.Object.clone()Ljava/lang/Object; from class TestCloneInterface 
         at TestCloneInterface.test(TestCloneInterface.java:15) 
         at TestCloneInterface.main(TestCloneInterface.java:19) 
The bug happens if the clone() method is declared in a superinterface only. Without the additional interface inbetween, test passes. 
Instead of the real interface (the "o" local variable, which is of type "FoobarIntf") it checks access flags on "this", which is of type "TestCloneInterface". 

Uwe 

----- 
Uwe Schindler 
uschindler@apache.org 
Apache Lucene PMC Chair / Committer 
Bremen, Germany 
http://lucene.apache.org/ 





-----Original Message----- 
From: Rory O'Donnell Oracle, Dublin Ireland 
[mailto:rory.odonnell@oracle.com] 
Sent: Thursday, October 17, 2013 7:19 PM 
To: Uwe Schindler 
Cc: 'Dawid Weiss'; 'Robert Muir'; 'Dalibor Topic'; 'Donald Smith'; 'Seán Coffey'; 
private@lucene.apache.org; Balchandra Vaidya 
Subject: Re: Testing Java Updates with your projects. 

Hi Uwe, 

The more info you can provide the better. 
Adding Balchandra to email. 

Rgds,Rory 

On 17/10/2013 17:41, Uwe Schindler wrote: 



Hi Rory, 

we found a new bug in 8 b111, not appearing in Java 7 and Java 8 b109: 
It seems to be related to one recent commit, reproduces all the time 

(reproduces with bytecode compiled with JDK8b111 and ran with JDK8b111, 
but also with bytecode compiled with JDK7 and ran with JDK8b111). I am 
trying to understand what's happening, but it looks like the patch fails to 
check the access flags of the method on the correct instance/type/whatever. 



This is the commit that I  think causes this: 
http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/36b97be47bde 
Issue: https://bugs.openjdk.java.net/browse/JDK-8011311 

What happens: 
When running Apache Lucene's UIMA tests (UIMA is foreign code, not part 

of Lucene): 



cd lucene/analysis/uima 
ant test 

*All* tests fail here: 

java.lang.IllegalAccessError: tried to access method 

java.lang.Object.clone()Ljava/lang/Object; from class 
org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase 



    at 

__randomizedtesting.SeedInfo.seed([BC36C2DC5FC6C107:4A94D14D35381F8 
8]:0) 



    at 

org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.initialize(Anal 
ysisEngineImplBase.java:163) 



    at 

org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initializ 
e(AggregateAnalysisEngine_impl.java:127) 



    at 

org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(Analysi 
sEngineFactory_impl.java:94) 



    at 

org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(C 
ompositeResourceFactory_impl.java:62) 



    at 

org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java: 
267) 



    at 

org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework 
.java:335) 



    at 

org.apache.lucene.analysis.uima.ae.BasicAEProvider.getAE(BasicAEProvider.j 
ava:73) 



    at 

org.apache.lucene.analysis.uima.BaseUIMATokenizer.analyzeInput(BaseUI 
MATokenizer.java:63) 



    at 

org.apache.lucene.analysis.uima.UIMAAnnotationsTokenizer.initializeIterato 
r(UIMAAnnotationsTokenizer.java:60) 



    at 

org.apache.lucene.analysis.uima.UIMAAnnotationsTokenizer.incrementToke 
n(UIMAAnnotationsTokenizer.java:74) 



    at 

org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerF 
ield.java:98) 



    [...] 

Tests pass with previous versions of JDK8. As this is not our code, it is hard 

for me to understand (UIMA uses maaaaaaaaaany interfaces...). I just found 
out: 



This code fails: 

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.uima/uimaj 
- 
core/2.3.1/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase 



.java#163 

The interface used here declares clone() correctly and public: 

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.uima/uimaj 
- 
core/2.3.1/org/apache/uima/resource/metadata/MetaDataObject.java#Met 
aD 



ataObject.clone%28%29 To me it looks like the access flag check is 
done on the "this" instance and not on the local variable "md". "md" is 

definitely not of type 
org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase like the 
Exception suggests. The class in the Exception for sure does not implement 
clone, so it is protected (from Object). It looks like hotspot mixes up the call 
stack. 



How should I proceed with opening bug reports? As first step, I think I will 

now download Apache UIMA and run their tests. This failure is not related to 
Apache Lucene its just a referenced library in one of our modules. 



Uwe 

----- 
Uwe Schindler 
 <ma...@apache.org> uschindler@apache.org 
Apache Lucene PMC Chair / Committer 
Bremen, Germany 
 <http://lucene.apache.org/> http://lucene.apache.org/ 

-- 
Rgds,
Rory O'Donnell
 
Senior Quality Engineering Manager
Java Platform Group
Oracle EMEA , Block P5,
East Point Business Park, Dublin 3
Phone: +353 (0)1 8033887 

Re: Testing Java Updates with your projects.

Posted by Rory O'Donnell <ro...@oracle.com>.
On 23/10/2013 14:03, Uwe Schindler wrote:
>
> Thanks Rory for the info!
>
> I am changing the recipients of this mail, so it no longer goes to the 
> private list.
>
> @ dev@lao: FYI, the clone() bug seems to be fixed so we can soon 
> upgrade to JDK8 latest and run tests again.
>
Uwe - the fix is not yet available, maybe b113 or b114, will let you 
know when it is.

Rgds,Rory
>
> Uwe
>
> -----
>
> Uwe Schindler
>
> H.-H.-Meier-Allee 63, D-28213 Bremen
>
> http://www.thetaphi.de <http://www.thetaphi.de/>
>
> eMail: uwe@thetaphi.de
>
> *From:*Rory O'Donnell [mailto:rory.odonnell@oracle.com]
> *Sent:* Wednesday, October 23, 2013 1:08 PM
> *To:* rory.odonnell@oracle.com
> *Cc:* Uwe Schindler; 'Dawid Weiss'; 'Robert Muir'; 'Dalibor Topic'; 
> 'Donald Smith'; 'Seán Coffey'; 'Balchandra Vaidya'; 
> private@lucene.apache.org
> *Subject:* Re: Testing Java Updates with your projects.
>
> Hi Uwe,
>
> I noticed https://bugs.openjdk.java.net/browse/JDK-8026394 has moved 
> into fixed state.
> Hope to see this included in the near future, will update you.
>
> It is not in b112 <https://jdk8.java.net/download.html> which is not 
> available.
>
> Rgds, Rory
>
> On 18/10/2013 15:51, Rory O'Donnell Oracle, Dublin Ireland wrote:
>
>     Hi Uwe,
>
>     It turns out this is a duplicate of
>     https://bugs.openjdk.java.net/browse/JDK-8026394
>
>     Rgds,Rory
>
>     On 18/10/2013 10:09, Rory O'Donnell Oracle, Dublin Ireland wrote:
>
>     Hi Uwe,
>
>
>     Balchandra has logged a bug for this issue:
>
>     https://bugs.openjdk.java.net/browse/JDK-8026845
>
>     Rgds,Rory
>
>     On 17/10/2013 18:27, Uwe Schindler wrote:
>
>     Hi,
>
>     I was able to reproduce with a simple test case that emulates the
>     UIMA code.
>     See attached test case, just compile it with any JDK and run with
>     b111:
>
>     With Java 7 or JDK8b109:
>
>
>     javac TestCloneInterface.java
>     java TestCloneInterface
>
>     With JDK8b111:
>
>
>     java TestCloneInterface
>
>     Exception in thread "main" java.lang.IllegalAccessError: tried to
>     access method java.lang.Object.clone()Ljava/lang/Object; from
>     class TestCloneInterface
>              at TestCloneInterface.test(TestCloneInterface.java:15)
>              at TestCloneInterface.main(TestCloneInterface.java:19)
>     The bug happens if the clone() method is declared in a
>     superinterface only. Without the additional interface inbetween,
>     test passes.
>     Instead of the real interface (the "o" local variable, which is of
>     type "FoobarIntf") it checks access flags on "this", which is of
>     type "TestCloneInterface".
>
>     Uwe
>
>     -----
>     Uwe Schindler
>     uschindler@apache.org <ma...@apache.org>
>     Apache Lucene PMC Chair / Committer
>     Bremen, Germany
>     http://lucene.apache.org/
>
>
>
>     -----Original Message-----
>     From: Rory O'Donnell Oracle, Dublin Ireland
>     [mailto:rory.odonnell@oracle.com]
>     Sent: Thursday, October 17, 2013 7:19 PM
>     To: Uwe Schindler
>     Cc: 'Dawid Weiss'; 'Robert Muir'; 'Dalibor Topic'; 'Donald Smith';
>     'Seán Coffey';
>     private@lucene.apache.org <ma...@lucene.apache.org>;
>     Balchandra Vaidya
>     Subject: Re: Testing Java Updates with your projects.
>
>     Hi Uwe,
>
>     The more info you can provide the better.
>     Adding Balchandra to email.
>
>     Rgds,Rory
>
>     On 17/10/2013 17:41, Uwe Schindler wrote:
>
>     Hi Rory,
>
>     we found a new bug in 8 b111, not appearing in Java 7 and Java 8
>     b109:
>     It seems to be related to one recent commit, reproduces all the time
>
>     (reproduces with bytecode compiled with JDK8b111 and ran with
>     JDK8b111,
>     but also with bytecode compiled with JDK7 and ran with JDK8b111).
>     I am
>     trying to understand what's happening, but it looks like the patch
>     fails to
>     check the access flags of the method on the correct
>     instance/type/whatever.
>
>     This is the commit that I  think causes this:
>     http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/36b97be47bde
>     Issue: https://bugs.openjdk.java.net/browse/JDK-8011311
>
>     What happens:
>     When running Apache Lucene's UIMA tests (UIMA is foreign code, not
>     part
>
>     of Lucene):
>
>         cd lucene/analysis/uima
>         ant test
>
>     *All* tests fail here:
>
>     java.lang.IllegalAccessError: tried to access method
>
>     java.lang.Object.clone()Ljava/lang/Object; from class
>     org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase
>
>         at
>
>     __randomizedtesting.SeedInfo.seed([BC36C2DC5FC6C107:4A94D14D35381F8
>     8]:0)
>
>         at
>
>     org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.initialize(Anal
>
>     ysisEngineImplBase.java:163)
>
>         at
>
>     org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initializ
>
>     e(AggregateAnalysisEngine_impl.java:127)
>
>         at
>
>     org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(Analysi
>
>     sEngineFactory_impl.java:94)
>
>         at
>
>     org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(C
>     ompositeResourceFactory_impl.java:62)
>
>         at
>
>     org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:
>     267)
>
>         at
>
>     org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework
>     .java:335)
>
>         at
>
>     org.apache.lucene.analysis.uima.ae.BasicAEProvider.getAE(BasicAEProvider.j
>
>     ava:73)
>
>         at
>
>     org.apache.lucene.analysis.uima.BaseUIMATokenizer.analyzeInput(BaseUI
>     MATokenizer.java:63)
>
>         at
>
>     org.apache.lucene.analysis.uima.UIMAAnnotationsTokenizer.initializeIterato
>
>     r(UIMAAnnotationsTokenizer.java:60)
>
>         at
>
>     org.apache.lucene.analysis.uima.UIMAAnnotationsTokenizer.incrementToke
>
>     n(UIMAAnnotationsTokenizer.java:74)
>
>         at
>
>     org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerF
>
>     ield.java:98)
>
>         [...]
>
>     Tests pass with previous versions of JDK8. As this is not our
>     code, it is hard
>
>     for me to understand (UIMA uses maaaaaaaaaany interfaces...). I
>     just found
>     out:
>
>     This code fails:
>
>     http://grepcode.com/file/repo1.maven.org/maven2/org.apache.uima/uimaj
>     -
>     core/2.3.1/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase
>
>
>     .java#163
>
>     The interface used here declares clone() correctly and public:
>
>     http://grepcode.com/file/repo1.maven.org/maven2/org.apache.uima/uimaj
>     -
>     core/2.3.1/org/apache/uima/resource/metadata/MetaDataObject.java#Met
>     aD
>
>     ataObject.clone%28%29 To me it looks like the access flag check is
>     done on the "this" instance and not on the local variable "md".
>     "md" is
>
>     definitely not of type
>     org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase like the
>     Exception suggests. The class in the Exception for sure does not
>     implement
>     clone, so it is protected (from Object). It looks like hotspot
>     mixes up the call
>     stack.
>
>     How should I proceed with opening bug reports? As first step, I
>     think I will
>
>     now download Apache UIMA and run their tests. This failure is not
>     related to
>     Apache Lucene its just a referenced library in one of our modules.
>
>     Uwe
>
>     -----
>     Uwe Schindler
>     uschindler@apache.org <ma...@apache.org>
>     Apache Lucene PMC Chair / Committer
>     Bremen, Germany
>     http://lucene.apache.org/
>
> -- 
> Rgds,
> Rory O'Donnell
>   
> Senior Quality Engineering Manager
> Java Platform Group
> Oracle EMEA , Block P5,
> East Point Business Park, Dublin 3
> Phone: +353 (0)1 8033887

-- 
Rgds,
Rory O'Donnell

Senior Quality Engineering Manager
Java Platform Group
Oracle EMEA , Block P5,
East Point Business Park, Dublin 3
Phone: +353 (0)1 8033887


Re: Testing Java Updates with your projects.

Posted by Dalibor Topic <da...@oracle.com>.
On 10/23/13 3:03 PM, Uwe Schindler wrote:
> Thanks Rory for the info!
> 
>  
> 
> I am changing the recipients of this mail, so it no longer goes to the private list.
> 
>  
> 
> @ dev@lao: FYI, the clone() bug seems to be fixed so we can soon upgrade to JDK8 latest and run tests again.
> 

b112 is here now: https://twitter.com/robilad/status/393000187213279232 

cheers,
dalibor topic

-- 
Oracle <http://www.oracle.com>
Dalibor Topic | Principal Product Manager
Phone: +494089091214 <tel:+494089091214> | Mobile: +491737185961 <tel:+491737185961>
Oracle Java Platform Group

ORACLE Deutschland B.V. & Co. KG | Kühnehöfe 5 | 22761 Hamburg

ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstr. 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603
Geschäftsführer: Jürgen Kunz

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher

Green Oracle <http://www.oracle.com/commitment> Oracle is committed to developing practices and products that help protect the environment

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


RE: Testing Java Updates with your projects.

Posted by Uwe Schindler <uw...@thetaphi.de>.
Hi,

 

JDK 8 b114  is now installed on the Jenkins Linux and Windows machines. The first build already succeeded: http://jenkins.thetaphi.de/job/Lucene-Solr-trunk-Linux/8199/

So at least the Object#clone()-with-interface bug is fixed.

 

Uwe

 

-----

Uwe Schindler

H.-H.-Meier-Allee 63, D-28213 Bremen

 <http://www.thetaphi.de/> http://www.thetaphi.de

eMail: uwe@thetaphi.de

 

From: Uwe Schindler [mailto:uwe@thetaphi.de] 
Sent: Wednesday, November 06, 2013 12:06 AM
To: dev@lucene.apache.org; rory.odonnell@oracle.com
Cc: 'Dalibor Topic'; 'Donald Smith'; 'Seán Coffey'; 'Balchandra Vaidya'
Subject: RE: Testing Java Updates with your projects.

 

Hi Rory,

 

I am back at home since a few hours. Will install the new build at some time tomorrow on Jenkins. In the meantime, the MacOS SIGSEGV occurred again - I will try to open a conventional “bugs.sun.com” bug report tomorrow, if there is none already.

 

Uwe

 

-----

Uwe Schindler

H.-H.-Meier-Allee 63, D-28213 Bremen

 <http://www.thetaphi.de/> http://www.thetaphi.de

eMail: uwe@thetaphi.de

 

From: Rory O'Donnell Oracle, Dublin ireland [mailto:rory.odonnell@oracle.com] 
Sent: Tuesday, November 05, 2013 11:13 AM
To: Uwe Schindler
Cc: dev@lucene.apache.org; 'Dalibor Topic'; 'Donald Smith'; 'Seán Coffey'; 'Balchandra Vaidya'
Subject: Re: Testing Java Updates with your projects.

 

Hi Uwe,

b114 , containing the fix,is now available - https://jdk8.java.net/download.html

Very interested to hear your results of testing this build.

Rgds,Rory

On 10/23/13 02:03 PM, Uwe Schindler wrote:

Thanks Rory for the info!

 

I am changing the recipients of this mail, so it no longer goes to the private list.

 

@ dev@lao: FYI, the clone() bug seems to be fixed so we can soon upgrade to JDK8 latest and run tests again.

 

Uwe

 

-----

Uwe Schindler

H.-H.-Meier-Allee 63, D-28213 Bremen

 <http://www.thetaphi.de/> http://www.thetaphi.de

eMail: uwe@thetaphi.de

 

From: Rory O'Donnell [mailto:rory.odonnell@oracle.com] 
Sent: Wednesday, October 23, 2013 1:08 PM
To: rory.odonnell@oracle.com
Cc: Uwe Schindler; 'Dawid Weiss'; 'Robert Muir'; 'Dalibor Topic'; 'Donald Smith'; 'Seán Coffey'; 'Balchandra Vaidya'; private@lucene.apache.org
Subject: Re: Testing Java Updates with your projects.

 

Hi Uwe,

I noticed https://bugs.openjdk.java.net/browse/JDK-8026394 has moved into fixed state.
Hope to see this included in the near future, will update you.  

It is not in b112 <https://jdk8.java.net/download.html>  which is not available.

Rgds, Rory



On 18/10/2013 15:51, Rory O'Donnell Oracle, Dublin Ireland wrote:

Hi Uwe, 

It turns out this is a duplicate of https://bugs.openjdk.java.net/browse/JDK-8026394 

Rgds,Rory 

On 18/10/2013 10:09, Rory O'Donnell Oracle, Dublin Ireland wrote: 



Hi Uwe, 


Balchandra has logged a bug for this issue: 

https://bugs.openjdk.java.net/browse/JDK-8026845 

Rgds,Rory 

On 17/10/2013 18:27, Uwe Schindler wrote: 



Hi, 

I was able to reproduce with a simple test case that emulates the UIMA code. 
See attached test case, just compile it with any JDK and run with b111: 

With Java 7 or JDK8b109: 




javac TestCloneInterface.java 
java TestCloneInterface 

With JDK8b111: 




java TestCloneInterface 

Exception in thread "main" java.lang.IllegalAccessError: tried to access method java.lang.Object.clone()Ljava/lang/Object; from class TestCloneInterface 
         at TestCloneInterface.test(TestCloneInterface.java:15) 
         at TestCloneInterface.main(TestCloneInterface.java:19) 
The bug happens if the clone() method is declared in a superinterface only. Without the additional interface inbetween, test passes. 
Instead of the real interface (the "o" local variable, which is of type "FoobarIntf") it checks access flags on "this", which is of type "TestCloneInterface". 

Uwe 

----- 
Uwe Schindler 
uschindler@apache.org 
Apache Lucene PMC Chair / Committer 
Bremen, Germany 
http://lucene.apache.org/ 





-----Original Message----- 
From: Rory O'Donnell Oracle, Dublin Ireland 
[mailto:rory.odonnell@oracle.com] 
Sent: Thursday, October 17, 2013 7:19 PM 
To: Uwe Schindler 
Cc: 'Dawid Weiss'; 'Robert Muir'; 'Dalibor Topic'; 'Donald Smith'; 'Seán Coffey'; 
private@lucene.apache.org; Balchandra Vaidya 
Subject: Re: Testing Java Updates with your projects. 

Hi Uwe, 

The more info you can provide the better. 
Adding Balchandra to email. 

Rgds,Rory 

On 17/10/2013 17:41, Uwe Schindler wrote: 



Hi Rory, 

we found a new bug in 8 b111, not appearing in Java 7 and Java 8 b109: 
It seems to be related to one recent commit, reproduces all the time 

(reproduces with bytecode compiled with JDK8b111 and ran with JDK8b111, 
but also with bytecode compiled with JDK7 and ran with JDK8b111). I am 
trying to understand what's happening, but it looks like the patch fails to 
check the access flags of the method on the correct instance/type/whatever. 



This is the commit that I  think causes this: 
http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/36b97be47bde 
Issue: https://bugs.openjdk.java.net/browse/JDK-8011311 

What happens: 
When running Apache Lucene's UIMA tests (UIMA is foreign code, not part 

of Lucene): 



cd lucene/analysis/uima 
ant test 

*All* tests fail here: 

java.lang.IllegalAccessError: tried to access method 

java.lang.Object.clone()Ljava/lang/Object; from class 
org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase 



    at 

__randomizedtesting.SeedInfo.seed([BC36C2DC5FC6C107:4A94D14D35381F8 
8]:0) 



    at 

org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.initialize(Anal 
ysisEngineImplBase.java:163) 



    at 

org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initializ 
e(AggregateAnalysisEngine_impl.java:127) 



    at 

org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(Analysi 
sEngineFactory_impl.java:94) 



    at 

org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(C 
ompositeResourceFactory_impl.java:62) 



    at 

org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java: 
267) 



    at 

org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework 
.java:335) 



    at 

org.apache.lucene.analysis.uima.ae.BasicAEProvider.getAE(BasicAEProvider.j 
ava:73) 



    at 

org.apache.lucene.analysis.uima.BaseUIMATokenizer.analyzeInput(BaseUI 
MATokenizer.java:63) 



    at 

org.apache.lucene.analysis.uima.UIMAAnnotationsTokenizer.initializeIterato 
r(UIMAAnnotationsTokenizer.java:60) 



    at 

org.apache.lucene.analysis.uima.UIMAAnnotationsTokenizer.incrementToke 
n(UIMAAnnotationsTokenizer.java:74) 



    at 

org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerF 
ield.java:98) 



    [...] 

Tests pass with previous versions of JDK8. As this is not our code, it is hard 

for me to understand (UIMA uses maaaaaaaaaany interfaces...). I just found 
out: 



This code fails: 

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.uima/uimaj 
- 
core/2.3.1/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase 



.java#163 

The interface used here declares clone() correctly and public: 

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.uima/uimaj 
- 
core/2.3.1/org/apache/uima/resource/metadata/MetaDataObject.java#Met 
aD 



ataObject.clone%28%29 To me it looks like the access flag check is 
done on the "this" instance and not on the local variable "md". "md" is 

definitely not of type 
org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase like the 
Exception suggests. The class in the Exception for sure does not implement 
clone, so it is protected (from Object). It looks like hotspot mixes up the call 
stack. 



How should I proceed with opening bug reports? As first step, I think I will 

now download Apache UIMA and run their tests. This failure is not related to 
Apache Lucene its just a referenced library in one of our modules. 



Uwe 

----- 
Uwe Schindler 
 <ma...@apache.org> uschindler@apache.org 
Apache Lucene PMC Chair / Committer 
Bremen, Germany 
 <http://lucene.apache.org/> http://lucene.apache.org/ 

-- 
Rgds,
Rory O'Donnell
 
Senior Quality Engineering Manager
Java Platform Group
Oracle EMEA , Block P5,
East Point Business Park, Dublin 3
Phone: +353 (0)1 8033887 

 

-- 
Rgds,
Rory O'Donnell
 
Senior Quality Engineering Manager
Java Platform Group
Oracle EMEA , Block P5,
East Point Business Park, Dublin 3
Phone: +353 (0)1 8033887 

RE: Testing Java Updates with your projects.

Posted by Uwe Schindler <uw...@thetaphi.de>.
Hi Rory,

 

I am back at home since a few hours. Will install the new build at some time tomorrow on Jenkins. In the meantime, the MacOS SIGSEGV occurred again - I will try to open a conventional “bugs.sun.com” bug report tomorrow, if there is none already.

 

Uwe

 

-----

Uwe Schindler

H.-H.-Meier-Allee 63, D-28213 Bremen

 <http://www.thetaphi.de/> http://www.thetaphi.de

eMail: uwe@thetaphi.de

 

From: Rory O'Donnell Oracle, Dublin ireland [mailto:rory.odonnell@oracle.com] 
Sent: Tuesday, November 05, 2013 11:13 AM
To: Uwe Schindler
Cc: dev@lucene.apache.org; 'Dalibor Topic'; 'Donald Smith'; 'Seán Coffey'; 'Balchandra Vaidya'
Subject: Re: Testing Java Updates with your projects.

 

Hi Uwe,

b114 , containing the fix,is now available - https://jdk8.java.net/download.html

Very interested to hear your results of testing this build.

Rgds,Rory



On 10/23/13 02:03 PM, Uwe Schindler wrote:

Thanks Rory for the info!

 

I am changing the recipients of this mail, so it no longer goes to the private list.

 

@ dev@lao: FYI, the clone() bug seems to be fixed so we can soon upgrade to JDK8 latest and run tests again.

 

Uwe

 

-----

Uwe Schindler

H.-H.-Meier-Allee 63, D-28213 Bremen

 <http://www.thetaphi.de/> http://www.thetaphi.de

eMail: uwe@thetaphi.de

 

From: Rory O'Donnell [mailto:rory.odonnell@oracle.com] 
Sent: Wednesday, October 23, 2013 1:08 PM
To: rory.odonnell@oracle.com
Cc: Uwe Schindler; 'Dawid Weiss'; 'Robert Muir'; 'Dalibor Topic'; 'Donald Smith'; 'Seán Coffey'; 'Balchandra Vaidya'; private@lucene.apache.org
Subject: Re: Testing Java Updates with your projects.

 

Hi Uwe,

I noticed https://bugs.openjdk.java.net/browse/JDK-8026394 has moved into fixed state.
Hope to see this included in the near future, will update you.  

It is not in b112 <https://jdk8.java.net/download.html>  which is not available.

Rgds, Rory




On 18/10/2013 15:51, Rory O'Donnell Oracle, Dublin Ireland wrote:

Hi Uwe, 

It turns out this is a duplicate of https://bugs.openjdk.java.net/browse/JDK-8026394 

Rgds,Rory 

On 18/10/2013 10:09, Rory O'Donnell Oracle, Dublin Ireland wrote: 




Hi Uwe, 


Balchandra has logged a bug for this issue: 

https://bugs.openjdk.java.net/browse/JDK-8026845 

Rgds,Rory 

On 17/10/2013 18:27, Uwe Schindler wrote: 




Hi, 

I was able to reproduce with a simple test case that emulates the UIMA code. 
See attached test case, just compile it with any JDK and run with b111: 

With Java 7 or JDK8b109: 





javac TestCloneInterface.java 
java TestCloneInterface 

With JDK8b111: 





java TestCloneInterface 

Exception in thread "main" java.lang.IllegalAccessError: tried to access method java.lang.Object.clone()Ljava/lang/Object; from class TestCloneInterface 
         at TestCloneInterface.test(TestCloneInterface.java:15) 
         at TestCloneInterface.main(TestCloneInterface.java:19) 
The bug happens if the clone() method is declared in a superinterface only. Without the additional interface inbetween, test passes. 
Instead of the real interface (the "o" local variable, which is of type "FoobarIntf") it checks access flags on "this", which is of type "TestCloneInterface". 

Uwe 

----- 
Uwe Schindler 
uschindler@apache.org 
Apache Lucene PMC Chair / Committer 
Bremen, Germany 
http://lucene.apache.org/ 






-----Original Message----- 
From: Rory O'Donnell Oracle, Dublin Ireland 
[mailto:rory.odonnell@oracle.com] 
Sent: Thursday, October 17, 2013 7:19 PM 
To: Uwe Schindler 
Cc: 'Dawid Weiss'; 'Robert Muir'; 'Dalibor Topic'; 'Donald Smith'; 'Seán Coffey'; 
private@lucene.apache.org; Balchandra Vaidya 
Subject: Re: Testing Java Updates with your projects. 

Hi Uwe, 

The more info you can provide the better. 
Adding Balchandra to email. 

Rgds,Rory 

On 17/10/2013 17:41, Uwe Schindler wrote: 




Hi Rory, 

we found a new bug in 8 b111, not appearing in Java 7 and Java 8 b109: 
It seems to be related to one recent commit, reproduces all the time 

(reproduces with bytecode compiled with JDK8b111 and ran with JDK8b111, 
but also with bytecode compiled with JDK7 and ran with JDK8b111). I am 
trying to understand what's happening, but it looks like the patch fails to 
check the access flags of the method on the correct instance/type/whatever. 




This is the commit that I  think causes this: 
http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/36b97be47bde 
Issue: https://bugs.openjdk.java.net/browse/JDK-8011311 

What happens: 
When running Apache Lucene's UIMA tests (UIMA is foreign code, not part 

of Lucene): 




cd lucene/analysis/uima 
ant test 

*All* tests fail here: 

java.lang.IllegalAccessError: tried to access method 

java.lang.Object.clone()Ljava/lang/Object; from class 
org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase 




    at 

__randomizedtesting.SeedInfo.seed([BC36C2DC5FC6C107:4A94D14D35381F8 
8]:0) 




    at 

org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.initialize(Anal 
ysisEngineImplBase.java:163) 




    at 

org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initializ 
e(AggregateAnalysisEngine_impl.java:127) 




    at 

org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(Analysi 
sEngineFactory_impl.java:94) 




    at 

org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(C 
ompositeResourceFactory_impl.java:62) 




    at 

org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java: 
267) 




    at 

org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework 
.java:335) 




    at 

org.apache.lucene.analysis.uima.ae.BasicAEProvider.getAE(BasicAEProvider.j 
ava:73) 




    at 

org.apache.lucene.analysis.uima.BaseUIMATokenizer.analyzeInput(BaseUI 
MATokenizer.java:63) 




    at 

org.apache.lucene.analysis.uima.UIMAAnnotationsTokenizer.initializeIterato 
r(UIMAAnnotationsTokenizer.java:60) 




    at 

org.apache.lucene.analysis.uima.UIMAAnnotationsTokenizer.incrementToke 
n(UIMAAnnotationsTokenizer.java:74) 




    at 

org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerF 
ield.java:98) 




    [...] 

Tests pass with previous versions of JDK8. As this is not our code, it is hard 

for me to understand (UIMA uses maaaaaaaaaany interfaces...). I just found 
out: 




This code fails: 

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.uima/uimaj 
- 
core/2.3.1/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase 




.java#163 

The interface used here declares clone() correctly and public: 

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.uima/uimaj 
- 
core/2.3.1/org/apache/uima/resource/metadata/MetaDataObject.java#Met 
aD 




ataObject.clone%28%29 To me it looks like the access flag check is 
done on the "this" instance and not on the local variable "md". "md" is 

definitely not of type 
org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase like the 
Exception suggests. The class in the Exception for sure does not implement 
clone, so it is protected (from Object). It looks like hotspot mixes up the call 
stack. 




How should I proceed with opening bug reports? As first step, I think I will 

now download Apache UIMA and run their tests. This failure is not related to 
Apache Lucene its just a referenced library in one of our modules. 




Uwe 

----- 
Uwe Schindler 
 <ma...@apache.org> uschindler@apache.org 
Apache Lucene PMC Chair / Committer 
Bremen, Germany 
 <http://lucene.apache.org/> http://lucene.apache.org/ 

-- 
Rgds,
Rory O'Donnell
 
Senior Quality Engineering Manager
Java Platform Group
Oracle EMEA , Block P5,
East Point Business Park, Dublin 3
Phone: +353 (0)1 8033887 





-- 
Rgds,
Rory O'Donnell
 
Senior Quality Engineering Manager
Java Platform Group
Oracle EMEA , Block P5,
East Point Business Park, Dublin 3
Phone: +353 (0)1 8033887 

Re: Testing Java Updates with your projects.

Posted by "Rory O'Donnell Oracle, Dublin ireland" <ro...@oracle.com>.
Hi Uwe,

b114 , containing the fix,is now available - 
https://jdk8.java.net/download.html

Very interested to hear your results of testing this build.

Rgds,Rory


On 10/23/13 02:03 PM, Uwe Schindler wrote:
>
> Thanks Rory for the info!
>
> I am changing the recipients of this mail, so it no longer goes to the 
> private list.
>
> @ dev@lao: FYI, the clone() bug seems to be fixed so we can soon 
> upgrade to JDK8 latest and run tests again.
>
> Uwe
>
> -----
>
> Uwe Schindler
>
> H.-H.-Meier-Allee 63, D-28213 Bremen
>
> http://www.thetaphi.de <http://www.thetaphi.de/>
>
> eMail: uwe@thetaphi.de
>
> *From:*Rory O'Donnell [mailto:rory.odonnell@oracle.com]
> *Sent:* Wednesday, October 23, 2013 1:08 PM
> *To:* rory.odonnell@oracle.com
> *Cc:* Uwe Schindler; 'Dawid Weiss'; 'Robert Muir'; 'Dalibor Topic'; 
> 'Donald Smith'; 'Seán Coffey'; 'Balchandra Vaidya'; 
> private@lucene.apache.org
> *Subject:* Re: Testing Java Updates with your projects.
>
> Hi Uwe,
>
> I noticed https://bugs.openjdk.java.net/browse/JDK-8026394 has moved 
> into fixed state.
> Hope to see this included in the near future, will update you.
>
> It is not in b112 <https://jdk8.java.net/download.html> which is not 
> available.
>
> Rgds, Rory
>
> On 18/10/2013 15:51, Rory O'Donnell Oracle, Dublin Ireland wrote:
>
>     Hi Uwe,
>
>     It turns out this is a duplicate of
>     https://bugs.openjdk.java.net/browse/JDK-8026394
>
>     Rgds,Rory
>
>     On 18/10/2013 10:09, Rory O'Donnell Oracle, Dublin Ireland wrote:
>
>     Hi Uwe,
>
>
>     Balchandra has logged a bug for this issue:
>
>     https://bugs.openjdk.java.net/browse/JDK-8026845
>
>     Rgds,Rory
>
>     On 17/10/2013 18:27, Uwe Schindler wrote:
>
>     Hi,
>
>     I was able to reproduce with a simple test case that emulates the
>     UIMA code.
>     See attached test case, just compile it with any JDK and run with
>     b111:
>
>     With Java 7 or JDK8b109:
>
>
>     javac TestCloneInterface.java
>     java TestCloneInterface
>
>     With JDK8b111:
>
>
>     java TestCloneInterface
>
>     Exception in thread "main" java.lang.IllegalAccessError: tried to
>     access method java.lang.Object.clone()Ljava/lang/Object; from
>     class TestCloneInterface
>              at TestCloneInterface.test(TestCloneInterface.java:15)
>              at TestCloneInterface.main(TestCloneInterface.java:19)
>     The bug happens if the clone() method is declared in a
>     superinterface only. Without the additional interface inbetween,
>     test passes.
>     Instead of the real interface (the "o" local variable, which is of
>     type "FoobarIntf") it checks access flags on "this", which is of
>     type "TestCloneInterface".
>
>     Uwe
>
>     -----
>     Uwe Schindler
>     uschindler@apache.org <ma...@apache.org>
>     Apache Lucene PMC Chair / Committer
>     Bremen, Germany
>     http://lucene.apache.org/
>
>
>
>     -----Original Message-----
>     From: Rory O'Donnell Oracle, Dublin Ireland
>     [mailto:rory.odonnell@oracle.com]
>     Sent: Thursday, October 17, 2013 7:19 PM
>     To: Uwe Schindler
>     Cc: 'Dawid Weiss'; 'Robert Muir'; 'Dalibor Topic'; 'Donald Smith';
>     'Seán Coffey';
>     private@lucene.apache.org <ma...@lucene.apache.org>;
>     Balchandra Vaidya
>     Subject: Re: Testing Java Updates with your projects.
>
>     Hi Uwe,
>
>     The more info you can provide the better.
>     Adding Balchandra to email.
>
>     Rgds,Rory
>
>     On 17/10/2013 17:41, Uwe Schindler wrote:
>
>     Hi Rory,
>
>     we found a new bug in 8 b111, not appearing in Java 7 and Java 8
>     b109:
>     It seems to be related to one recent commit, reproduces all the time
>
>     (reproduces with bytecode compiled with JDK8b111 and ran with
>     JDK8b111,
>     but also with bytecode compiled with JDK7 and ran with JDK8b111).
>     I am
>     trying to understand what's happening, but it looks like the patch
>     fails to
>     check the access flags of the method on the correct
>     instance/type/whatever.
>
>     This is the commit that I  think causes this:
>     http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/36b97be47bde
>     Issue: https://bugs.openjdk.java.net/browse/JDK-8011311
>
>     What happens:
>     When running Apache Lucene's UIMA tests (UIMA is foreign code, not
>     part
>
>     of Lucene):
>
>         cd lucene/analysis/uima
>         ant test
>
>     *All* tests fail here:
>
>     java.lang.IllegalAccessError: tried to access method
>
>     java.lang.Object.clone()Ljava/lang/Object; from class
>     org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase
>
>         at
>
>     __randomizedtesting.SeedInfo.seed([BC36C2DC5FC6C107:4A94D14D35381F8
>     8]:0)
>
>         at
>
>     org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.initialize(Anal
>
>     ysisEngineImplBase.java:163)
>
>         at
>
>     org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initializ
>
>     e(AggregateAnalysisEngine_impl.java:127)
>
>         at
>
>     org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(Analysi
>
>     sEngineFactory_impl.java:94)
>
>         at
>
>     org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(C
>     ompositeResourceFactory_impl.java:62)
>
>         at
>
>     org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:
>     267)
>
>         at
>
>     org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework
>     .java:335)
>
>         at
>
>     org.apache.lucene.analysis.uima.ae.BasicAEProvider.getAE(BasicAEProvider.j
>
>     ava:73)
>
>         at
>
>     org.apache.lucene.analysis.uima.BaseUIMATokenizer.analyzeInput(BaseUI
>     MATokenizer.java:63)
>
>         at
>
>     org.apache.lucene.analysis.uima.UIMAAnnotationsTokenizer.initializeIterato
>
>     r(UIMAAnnotationsTokenizer.java:60)
>
>         at
>
>     org.apache.lucene.analysis.uima.UIMAAnnotationsTokenizer.incrementToke
>
>     n(UIMAAnnotationsTokenizer.java:74)
>
>         at
>
>     org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerF
>
>     ield.java:98)
>
>         [...]
>
>     Tests pass with previous versions of JDK8. As this is not our
>     code, it is hard
>
>     for me to understand (UIMA uses maaaaaaaaaany interfaces...). I
>     just found
>     out:
>
>     This code fails:
>
>     http://grepcode.com/file/repo1.maven.org/maven2/org.apache.uima/uimaj
>     -
>     core/2.3.1/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase
>
>
>     .java#163
>
>     The interface used here declares clone() correctly and public:
>
>     http://grepcode.com/file/repo1.maven.org/maven2/org.apache.uima/uimaj
>     -
>     core/2.3.1/org/apache/uima/resource/metadata/MetaDataObject.java#Met
>     aD
>
>     ataObject.clone%28%29 To me it looks like the access flag check is
>     done on the "this" instance and not on the local variable "md".
>     "md" is
>
>     definitely not of type
>     org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase like the
>     Exception suggests. The class in the Exception for sure does not
>     implement
>     clone, so it is protected (from Object). It looks like hotspot
>     mixes up the call
>     stack.
>
>     How should I proceed with opening bug reports? As first step, I
>     think I will
>
>     now download Apache UIMA and run their tests. This failure is not
>     related to
>     Apache Lucene its just a referenced library in one of our modules.
>
>     Uwe
>
>     -----
>     Uwe Schindler
>     uschindler@apache.org <ma...@apache.org>
>     Apache Lucene PMC Chair / Committer
>     Bremen, Germany
>     http://lucene.apache.org/
>
> -- 
> Rgds,
> Rory O'Donnell
>   
> Senior Quality Engineering Manager
> Java Platform Group
> Oracle EMEA , Block P5,
> East Point Business Park, Dublin 3
> Phone: +353 (0)1 8033887

-- 
Rgds,
Rory O'Donnell

Senior Quality Engineering Manager
Java Platform Group
Oracle EMEA , Block P5,
East Point Business Park, Dublin 3
Phone: +353 (0)1 8033887