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: u...@thetaphi.de
*From:*Rory O'Donnell [mailto:rory.odonn...@oracle.com]
*Sent:* Wednesday, October 23, 2013 1:08 PM
*To:* rory.odonn...@oracle.com
*Cc:* Uwe Schindler; 'Dawid Weiss'; 'Robert Muir'; 'Dalibor Topic';
'Donald Smith'; 'Seán Coffey'; 'Balchandra Vaidya';
priv...@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
uschind...@apache.org <mailto:uschind...@apache.org>
Apache Lucene PMC Chair / Committer
Bremen, Germany
http://lucene.apache.org/
-----Original Message-----
From: Rory O'Donnell Oracle, Dublin Ireland
[mailto:rory.odonn...@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';
priv...@lucene.apache.org <mailto:priv...@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
uschind...@apache.org <mailto:uschind...@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