New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for JDK 1.8.0 #74

Closed
szegedi opened this Issue Jan 17, 2013 · 63 comments

Comments

Projects
None yet
@szegedi

szegedi commented Jan 17, 2013

Status Overview

Latest snapshot build: Snapshot Repository

[x] ASM5: Release Required

We need a new ASM version which supports class file version 52.0. ASM 5.0_BETA is released to Maven central repo.

[x] Adjust JaCoCo to new ASM APIs: Done

JaCoCo needs to be adjusted to ASM5 APIs. This has been done on a experimental branch.

[x] Select proper runtime implementation: Done

The ModifiedSystemClassRuntime does not work any more with JRE 8. So an alternative Runtime has to be selected. The UrlStreamHandlerRuntime seems to do the job.

[x] Maven JavaDoc: Workaround

With JDK 8 JavaDoc generated by Maven fails to compile due to Lint checks. As a workaround we can disable this check for the Maven plugin.

[x] Invalid Line Numbers: Fixed with JDK Build 103

The JDK 8 compiler missed line number information in certain cases which makes our integration tests fail (and also leads to wrong line coverage results).

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Jan 29, 2013

Member

Java 8 is not yet supported by ASM, see feature request http://forge.ow2.org/tracker/index.php?func=detail&aid=316375&group_id=23&atid=350023

The other problem is that ModifiedSystemClassRuntime() is not working any more.

Member

marchof commented Jan 29, 2013

Java 8 is not yet supported by ASM, see feature request http://forge.ow2.org/tracker/index.php?func=detail&aid=316375&group_id=23&atid=350023

The other problem is that ModifiedSystemClassRuntime() is not working any more.

@karianna

This comment has been minimized.

Show comment
Hide comment
@karianna

karianna May 22, 2013

I might be mistaken, but IIRC ASM is now included as part of Java 8 (since Nashorn went in).

karianna commented May 22, 2013

I might be mistaken, but IIRC ASM is now included as part of Java 8 (since Nashorn went in).

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof May 22, 2013

Member

@karianna Do you have any background information or links? Is it public API and compatible with ASM 4.1?

Member

marchof commented May 22, 2013

@karianna Do you have any background information or links? Is it public API and compatible with ASM 4.1?

@szegedi

This comment has been minimized.

Show comment
Hide comment
@szegedi

szegedi May 22, 2013

Well, ASM is embedded as a package-renamed "jdk.internal.org.objectweb.asm" version. It's not really useful to rely on its presence like that. It was actually not Nashorn that triggered the embedding - JDK8 has other needs for runtime code generators (e.g. lambda forms).

FWIW, it's irrelevant; what we need is ASM that recognizes the 52.0 as a valid class file version, but unfortunately that alone won't be enough to make JaCoCo work with a Java 8 runtime :-(

szegedi commented May 22, 2013

Well, ASM is embedded as a package-renamed "jdk.internal.org.objectweb.asm" version. It's not really useful to rely on its presence like that. It was actually not Nashorn that triggered the embedding - JDK8 has other needs for runtime code generators (e.g. lambda forms).

FWIW, it's irrelevant; what we need is ASM that recognizes the 52.0 as a valid class file version, but unfortunately that alone won't be enough to make JaCoCo work with a Java 8 runtime :-(

@karianna

This comment has been minimized.

Show comment
Hide comment
@karianna

karianna May 23, 2013

+1 on what +szegedi said (he's at the forefront of all of this)

karianna commented May 23, 2013

+1 on what +szegedi said (he's at the forefront of all of this)

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Jul 7, 2013

Member

Some testing with ASM 5-alpha. It turned out that they changed the way how implicit stackmap frames are handled. JaCoCo needs to be adjusted to the new behaviour:

http://forge.ow2.org/tracker/?group_id=23&atid=100023&func=detail&aid=316360

Member

marchof commented Jul 7, 2013

Some testing with ASM 5-alpha. It turned out that they changed the way how implicit stackmap frames are handled. JaCoCo needs to be adjusted to the new behaviour:

http://forge.ow2.org/tracker/?group_id=23&atid=100023&func=detail&aid=316360

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof
Member

marchof commented Jul 14, 2013

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Jul 18, 2013

Member

Compiler issue with line numbers has been reported to Oracle, bug number is 9005197 (http://bugs.sun.com) -- not yet acknowledged.

Member

marchof commented Jul 18, 2013

Compiler issue with line numbers has been reported to Oracle, bug number is 9005197 (http://bugs.sun.com) -- not yet acknowledged.

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Jul 18, 2013

Member

My current Java 8 experiments are now available in branch experimental-java8. There is also a first preview build.

Warning: This build depends on a not yet released version of ASM. Therefore all Maven goals will not yet work unless you build ASM on your own and publish it in a local repo. The JaCoCo agent and the Ant tasks should be usable though.

Member

marchof commented Jul 18, 2013

My current Java 8 experiments are now available in branch experimental-java8. There is also a first preview build.

Warning: This build depends on a not yet released version of ASM. Therefore all Maven goals will not yet work unless you build ASM on your own and publish it in a local repo. The JaCoCo agent and the Ant tasks should be usable though.

@karianna

This comment has been minimized.

Show comment
Hide comment
@karianna

karianna Jul 18, 2013

Hi Marc,

We're tracking this as part of Adopt OpenJDK -
https://java.net/projects/adoptopenjdk/pages/TestingJava8 - thanks for
looking into this!

Cheers,
Martijn

On 18 July 2013 20:12, Marc R. Hoffmann notifications@github.com wrote:

My current Java 8 experiments are now available in branch
experimental-java8https://github.com/jacoco/jacoco/tree/experimental-java8.
There is also a first preview buildhttp://download.eclipselab.org/jacoco/preview/jacoco-0.6.4.201307180853.zip
.

Warning: This build depends on a not yet released version of ASM.
Therefore all Maven goals will not yet work unless you build ASM on your
own and publish it in a local repo. The JaCoCo agent and the Ant tasks
should be usable though.


Reply to this email directly or view it on GitHubhttps://github.com//issues/74#issuecomment-21207105
.

karianna commented Jul 18, 2013

Hi Marc,

We're tracking this as part of Adopt OpenJDK -
https://java.net/projects/adoptopenjdk/pages/TestingJava8 - thanks for
looking into this!

Cheers,
Martijn

On 18 July 2013 20:12, Marc R. Hoffmann notifications@github.com wrote:

My current Java 8 experiments are now available in branch
experimental-java8https://github.com/jacoco/jacoco/tree/experimental-java8.
There is also a first preview buildhttp://download.eclipselab.org/jacoco/preview/jacoco-0.6.4.201307180853.zip
.

Warning: This build depends on a not yet released version of ASM.
Therefore all Maven goals will not yet work unless you build ASM on your
own and publish it in a local repo. The JaCoCo agent and the Ant tasks
should be usable though.


Reply to this email directly or view it on GitHubhttps://github.com//issues/74#issuecomment-21207105
.

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Jul 18, 2013

Member

Thanks Martijn! We also have an issue with JDK8 itself but I didn't manage to report issue. My email to compiler-dev didn't get published on the list, my bug report 9005197 hasn't been acknowledged :-(

Member

marchof commented Jul 18, 2013

Thanks Martijn! We also have an issue with JDK8 itself but I didn't manage to report issue. My email to compiler-dev didn't get published on the list, my bug report 9005197 hasn't been acknowledged :-(

@karianna

This comment has been minimized.

Show comment
Hide comment
@karianna

karianna Jul 18, 2013

Can you send me the details? I can post on your behalf.

Cheers,
Martijn

On 18 July 2013 22:01, Marc R. Hoffmann notifications@github.com wrote:

Thanks Martijn! We also have an issue with JDK8 itself but I didn't manage
to report issue. My email to compiler-dev didn't get published on the list,
my bug report 9005197 hasn't been acknowledged :-(


Reply to this email directly or view it on GitHubhttps://github.com//issues/74#issuecomment-21214633
.

karianna commented Jul 18, 2013

Can you send me the details? I can post on your behalf.

Cheers,
Martijn

On 18 July 2013 22:01, Marc R. Hoffmann notifications@github.com wrote:

Thanks Martijn! We also have an issue with JDK8 itself but I didn't manage
to report issue. My email to compiler-dev didn't get published on the list,
my bug report 9005197 hasn't been acknowledged :-(


Reply to this email directly or view it on GitHubhttps://github.com//issues/74#issuecomment-21214633
.

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Jul 19, 2013

Member

Bugreport for JDK8 compiler: https://gist.github.com/marchof/6036631

Member

marchof commented Jul 19, 2013

Bugreport for JDK8 compiler: https://gist.github.com/marchof/6036631

@karianna

This comment has been minimized.

Show comment
Hide comment
@karianna

karianna Jul 21, 2013

Thanks Marc, that's a really great report - I've passed it onto the compiler dev team and am also chasing down why the bug is not public. Will keep you posted!

karianna commented Jul 21, 2013

Thanks Marc, that's a really great report - I've passed it onto the compiler dev team and am also chasing down why the bug is not public. Will keep you posted!

@karianna

This comment has been minimized.

Show comment
Hide comment
@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Jul 21, 2013

Member

@karianna Thanks for your support!

Member

marchof commented Jul 21, 2013

@karianna Thanks for your support!

@vertti

This comment has been minimized.

Show comment
Hide comment
@vertti

vertti Dec 16, 2013

Getting Caused by: java.lang.NoSuchFieldException: $jacocoAccess at java.lang.Class.getField(Class.java:1686) at org.jacoco.agent.rt.internal_6effb9e.core.runtime.ModifiedSystemClassRuntime.createFor(ModifiedSystemClassRuntime.java:136) ... 9 more

Example of failing build with Travis-CI, oraclejdk8 and jacoco. https://travis-ci.org/NitorCreations/matchers/jobs/15489611

vertti commented Dec 16, 2013

Getting Caused by: java.lang.NoSuchFieldException: $jacocoAccess at java.lang.Class.getField(Class.java:1686) at org.jacoco.agent.rt.internal_6effb9e.core.runtime.ModifiedSystemClassRuntime.createFor(ModifiedSystemClassRuntime.java:136) ... 9 more

Example of failing build with Travis-CI, oraclejdk8 and jacoco. https://travis-ci.org/NitorCreations/matchers/jobs/15489611

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Dec 16, 2013

Member

@vertti Make sure you use the JaCoCo preview build linked above (not yet available from a maven repo).

Member

marchof commented Dec 16, 2013

@vertti Make sure you use the JaCoCo preview build linked above (not yet available from a maven repo).

@silviu-burcea

This comment has been minimized.

Show comment
Hide comment
@silviu-burcea

silviu-burcea Jan 16, 2014

Hi!

Do you have in mind a release date for JDK 8 support? I'm not asking for the exact hour and minute :)

Thank you!

silviu-burcea commented Jan 16, 2014

Hi!

Do you have in mind a release date for JDK 8 support? I'm not asking for the exact hour and minute :)

Thank you!

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Jan 16, 2014

Member

@silviu-burcea We primarly depend on the release of ASM5. And ASM5 depends on the finalization of the JVM spec...

Member

marchof commented Jan 16, 2014

@silviu-burcea We primarly depend on the release of ASM5. And ASM5 depends on the finalization of the JVM spec...

@cowwoc

This comment has been minimized.

Show comment
Hide comment
@cowwoc

cowwoc Jan 16, 2014

Jdk8 is feature frozen for a couple of months now. I think ASM5 beta
already covers what will end up being final.
On Jan 16, 2014 7:24 AM, "Marc R. Hoffmann" notifications@github.com
wrote:

@silviu-burcea https://github.com/silviu-burcea We primarly depend on
the release of ASM5. And ASM5 depends on the finalization of the JVM spec...


Reply to this email directly or view it on GitHubhttps://github.com//issues/74#issuecomment-32464442
.

cowwoc commented Jan 16, 2014

Jdk8 is feature frozen for a couple of months now. I think ASM5 beta
already covers what will end up being final.
On Jan 16, 2014 7:24 AM, "Marc R. Hoffmann" notifications@github.com
wrote:

@silviu-burcea https://github.com/silviu-burcea We primarly depend on
the release of ASM5. And ASM5 depends on the finalization of the JVM spec...


Reply to this email directly or view it on GitHubhttps://github.com//issues/74#issuecomment-32464442
.

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Jan 16, 2014

Member

@cowwoc I know. But as we have quite a few downstream users who use JaCoCo as an API (see http://www.eclemma.org/jacoco/trunk/doc/integrations.html) we decided not to depend on a beta version. This would force all of the downstream users also to rely on a beta.

To help us out here you could contact the ASM team to check what their release plan looks like.

Member

marchof commented Jan 16, 2014

@cowwoc I know. But as we have quite a few downstream users who use JaCoCo as an API (see http://www.eclemma.org/jacoco/trunk/doc/integrations.html) we decided not to depend on a beta version. This would force all of the downstream users also to rely on a beta.

To help us out here you could contact the ASM team to check what their release plan looks like.

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Jan 16, 2014

Member

See http://mail.ow2.org/wws/arc/asm/2013-11/msg00005.html

Now about the release of ASM5, the original planning was to release ASM5, roughly at the same time as the jdk8 (2014-03-17).

Member

marchof commented Jan 16, 2014

See http://mail.ow2.org/wws/arc/asm/2013-11/msg00005.html

Now about the release of ASM5, the original planning was to release ASM5, roughly at the same time as the jdk8 (2014-03-17).

@cowwoc

This comment has been minimized.

Show comment
Hide comment
@cowwoc

cowwoc Jan 16, 2014

I guess we'll wait :) Thanks for the clarification.

cowwoc commented Jan 16, 2014

I guess we'll wait :) Thanks for the clarification.

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Feb 27, 2014

Member

@lanefeltis The JaCoCo gradle plugin is not maintained here and we have no experience with gradle. maybe you ask this question at the Gradle project?

Member

marchof commented Feb 27, 2014

@lanefeltis The JaCoCo gradle plugin is not maintained here and we have no experience with gradle. maybe you ask this question at the Gradle project?

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Mar 17, 2014

Member

Added separate pull request #199 for ASM5 upgrade on master

Member

marchof commented Mar 17, 2014

Added separate pull request #199 for ASM5 upgrade on master

@Godin

This comment has been minimized.

Show comment
Hide comment
@Godin

Godin Mar 17, 2014

Member

@marchof Do you know other differences between "asm-all" and "asm-debug-all"? Except availability of debug information and size, which is 235K vs 371K according to http://search.maven.org/

BTW I suppose that both "asm-all" and "asm-debug-all" - are just repackaged collections of all other artifacts and "asm-all" was broken during this. So another option for us - is to repackage on our own.

I'm ready to go with "asm-debug-all", if you confident in it after finding breakage in "asm-all".

Member

Godin commented Mar 17, 2014

@marchof Do you know other differences between "asm-all" and "asm-debug-all"? Except availability of debug information and size, which is 235K vs 371K according to http://search.maven.org/

BTW I suppose that both "asm-all" and "asm-debug-all" - are just repackaged collections of all other artifacts and "asm-all" was broken during this. So another option for us - is to repackage on our own.

I'm ready to go with "asm-debug-all", if you confident in it after finding breakage in "asm-all".

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Mar 17, 2014

Member

There are different 'optimizations' in asm-all, like removing generic signature information. I don't like those anyways. I could remove some casts as we now have the signatures back.

Member

marchof commented Mar 17, 2014

There are different 'optimizations' in asm-all, like removing generic signature information. I don't like those anyways. I could remove some casts as we now have the signatures back.

@marchof

This comment has been minimized.

Show comment
Hide comment
@marchof

marchof Mar 17, 2014

Member

@Godin Our distribution size increased by 200k as we package ASM in some JARs. For me this is ok.

Member

marchof commented Mar 17, 2014

@Godin Our distribution size increased by 200k as we package ASM in some JARs. For me this is ok.

@mfriedenhagen

This comment has been minimized.

Show comment
Hide comment
@mfriedenhagen

mfriedenhagen Mar 18, 2014

Member

Debug-Version sounds reasonable, getting rid of casts is good.

Regards

Mirko

Sent from my mobile
On Mar 18, 2014 12:34 AM, "Marc R. Hoffmann" notifications@github.com
wrote:

@Godin https://github.com/Godin Our distribution size increased by 200k
as we package ASM in some JARs. For me this is ok.


Reply to this email directly or view it on GitHubhttps://github.com//issues/74#issuecomment-37884099
.

Member

mfriedenhagen commented Mar 18, 2014

Debug-Version sounds reasonable, getting rid of casts is good.

Regards

Mirko

Sent from my mobile
On Mar 18, 2014 12:34 AM, "Marc R. Hoffmann" notifications@github.com
wrote:

@Godin https://github.com/Godin Our distribution size increased by 200k
as we package ASM in some JARs. For me this is ok.


Reply to this email directly or view it on GitHubhttps://github.com//issues/74#issuecomment-37884099
.

@Godin Godin added this to the 0.7.0 milestone Mar 19, 2014

@Godin Godin closed this Mar 19, 2014

@Godin

This comment has been minimized.

Show comment
Hide comment
@Godin

Godin Mar 19, 2014

Member

JaCoCo 0.7.0 with support of Java 8 has been released.

Member

Godin commented Mar 19, 2014

JaCoCo 0.7.0 with support of Java 8 has been released.

@silviu-burcea

This comment has been minimized.

Show comment
Hide comment
@silviu-burcea

silviu-burcea Mar 19, 2014

Congrats guys!

silviu-burcea commented Mar 19, 2014

Congrats guys!

@mritun

This comment has been minimized.

Show comment
Hide comment
@mritun

mritun Mar 19, 2014

Thank you!

mritun commented Mar 19, 2014

Thank you!

@eskatos

This comment has been minimized.

Show comment
Hide comment
@eskatos

eskatos Mar 21, 2014

\o/
Thank you!

eskatos commented Mar 21, 2014

\o/
Thank you!

@sinwe

This comment has been minimized.

Show comment
Hide comment
@sinwe

sinwe Mar 24, 2014

I can't find it in maven central repo. Is it published and propagated already?

sinwe commented Mar 24, 2014

I can't find it in maven central repo. Is it published and propagated already?

@Godin

This comment has been minimized.

Show comment
Hide comment
@Godin

Godin Mar 24, 2014

Member

@sinwe yes it is - see version "0.7.0.201403182114" http://central.maven.org/maven2/org/jacoco/org.jacoco.core/

Member

Godin commented Mar 24, 2014

@sinwe yes it is - see version "0.7.0.201403182114" http://central.maven.org/maven2/org/jacoco/org.jacoco.core/

@sinwe

This comment has been minimized.

Show comment
Hide comment
@sinwe

sinwe Mar 24, 2014

Thanks for your clarification, I thought the release version was 0.7.0
without any suffix.

Cheers,
Winarto
On Mar 24, 2014 5:33 PM, "Evgeny Mandrikov" notifications@github.com
wrote:

@sinwe https://github.com/sinwe yes it is - see version
"0.7.0.201403182114"
http://central.maven.org/maven2/org/jacoco/org.jacoco.core/

Reply to this email directly or view it on GitHubhttps://github.com//issues/74#issuecomment-38425107
.

sinwe commented Mar 24, 2014

Thanks for your clarification, I thought the release version was 0.7.0
without any suffix.

Cheers,
Winarto
On Mar 24, 2014 5:33 PM, "Evgeny Mandrikov" notifications@github.com
wrote:

@sinwe https://github.com/sinwe yes it is - see version
"0.7.0.201403182114"
http://central.maven.org/maven2/org/jacoco/org.jacoco.core/

Reply to this email directly or view it on GitHubhttps://github.com//issues/74#issuecomment-38425107
.

@Godin

This comment has been minimized.

Show comment
Hide comment
@Godin

Godin Mar 24, 2014

Member

@sinwe just FYI we have a pending discussion about removal of this suffix, but this wasn't done for this release.

Member

Godin commented Mar 24, 2014

@sinwe just FYI we have a pending discussion about removal of this suffix, but this wasn't done for this release.

@mritun

This comment has been minimized.

Show comment
Hide comment
@mritun

mritun Sep 12, 2014

+1, thank you!

mritun commented Sep 12, 2014

+1, thank you!

@cogmission

This comment has been minimized.

Show comment
Hide comment
@cogmission

cogmission Aug 28, 2015

Still not working... Are you guys going to ever fix this? (not being snarky - but really wondering?)

cogmission commented Aug 28, 2015

Still not working... Are you guys going to ever fix this? (not being snarky - but really wondering?)

@Godin

This comment has been minimized.

Show comment
Hide comment
@Godin

Godin Aug 28, 2015

Member

@cogmission Latest versions of JaCoCo do support Java 8. The first version with Java 8 support (0.7.0) has been released more than year ago. If you have a problem, then please start a discussion in Users Mailing List - see http://www.eclemma.org/jacoco/trunk/doc/support.html

Member

Godin commented Aug 28, 2015

@cogmission Latest versions of JaCoCo do support Java 8. The first version with Java 8 support (0.7.0) has been released more than year ago. If you have a problem, then please start a discussion in Users Mailing List - see http://www.eclemma.org/jacoco/trunk/doc/support.html

@cogmission

This comment has been minimized.

Show comment
Hide comment

cogmission commented Aug 28, 2015

@Godin

This comment has been minimized.

Show comment
Hide comment
@Godin

Godin Aug 28, 2015

Member

@cogmission Answered there. For the record - seems completely unrelated to Java 8.

Member

Godin commented Aug 28, 2015

@cogmission Answered there. For the record - seems completely unrelated to Java 8.

@jacoco jacoco locked and limited conversation to collaborators Aug 28, 2015

@pnerg pnerg referenced this issue Sep 7, 2015

Merged

Fix for issue #1 #2

@jacoco jacoco unlocked this conversation Jan 11, 2017

@jacoco jacoco locked and limited conversation to collaborators Jan 11, 2017

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.