Skip to content
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

Release with customClasspath change #67

Closed
oehme opened this issue Aug 27, 2016 · 25 comments
Closed

Release with customClasspath change #67

oehme opened this issue Aug 27, 2016 · 25 comments

Comments

@oehme
Copy link

oehme commented Aug 27, 2016

There has been no release since the customClasspath method was introduced. This makes it pretty much impossible to use degraph in a Gradle build for instance. Could you please push a release with the latest changes? :)

@sbrannen
Copy link

@schauder, it looks like we could benefit from this in the JUnit 5 builds. 😉

@schauder
Copy link
Collaborator

Great excuse to get the project out of hibernation mode. I'll take a look.

@sbrannen
Copy link

@schauder, cool. Thanks!

@schauder
Copy link
Collaborator

I need your help. Can you try and build the current version (#8feb933ce928b20)

I get the following exception in the jdk8 test, but only on my local machine, not on travis (and I'm prette sure I also didn't get that on my old machine). So I'm looking for ideas, what might be triggering this exception.

I already found out that it is from the analysis of ClassWithTypeAnnotations

java.lang.ArrayIndexOutOfBoundsException: 65535

at org.objectweb.asm.ClassReader.readLabel(Unknown Source)
at org.objectweb.asm.ClassReader.a(Unknown Source)
at org.objectweb.asm.ClassReader.a(Unknown Source)
at org.objectweb.asm.ClassReader.b(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at de.schauderhaft.degraph.analysis.asm.Analyzer$.de$schauderhaft$degraph$analysis$asm$Analyzer$$analyze$1(Analyzer.scala:18)
at de.schauderhaft.degraph.analysis.asm.Analyzer$$anonfun$analyze$1$$anonfun$apply$1.apply(Analyzer.scala:36)
at de.schauderhaft.degraph.analysis.asm.Analyzer$$anonfun$analyze$1$$anonfun$apply$1.apply(Analyzer.scala:35)
at scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:322)
at scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:978)
at de.schauderhaft.degraph.analysis.asm.Analyzer$$anonfun$analyze$1.apply(Analyzer.scala:35)
at de.schauderhaft.degraph.analysis.asm.Analyzer$$anonfun$analyze$1.apply(Analyzer.scala:32)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
at de.schauderhaft.degraph.analysis.asm.Analyzer$.analyze(Analyzer.scala:32)
at de.schauderhaft.degraph.jdk8tests.AnalyzerTest.<init>(AnalyzerTest.scala:18)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at org.scalatest.junit.JUnitRunner.<init>(JUnitRunner.scala:64)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:96)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:262)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

@oehme
Copy link
Author

oehme commented Aug 27, 2016

I see the same exception, but have no idea right now what might be causing it.

@sbrannen
Copy link

Well, if you upgrade ASM to 6.0_ALPHA you'll get past that error, but then you run into the following (which are also caused by ASM):

de.schauderhaft.degraph.check.DependencyTest > Check identifies cycles in junit FAILED
    java.lang.RuntimeException

de.schauderhaft.degraph.check.JavaCheckApiTest > degraphHonoursItsConstraintsJavaStyle FAILED
    java.lang.RuntimeException at JavaCheckApiTest.java:57

So... it looks like an issue with ASM, but I also don't have any further input.

@sbrannen
Copy link

OK, I found some information:

So, it sounds like ASM might be blowing up if you use Java 8 type annotations.

@oehme
Copy link
Author

oehme commented Aug 28, 2016

So it's not really related to degraph I guess. Maybe it broke in a minor
JDK update and that's why it worked on your old machine?

Am 28.08.2016 19:38 schrieb "Sam Brannen" notifications@github.com:

OK, I found some information:

So, it sounds like ASM might be blowing up if you use Java 8 type
annotations.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#67 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABIvdS3RKkO3ZP4QwnNUKhpylQHoa3ySks5qkcd6gaJpZM4JuqG2
.

@sbrannen
Copy link

my sentiments exactly

@sbrannen
Copy link

I just got a successful build with ASM 5.0.3 and the following.

------------------------------------------------------------
Gradle 2.3
------------------------------------------------------------

Build time:   2015-02-16 05:09:33 UTC
Build number: none
Revision:     586be72bf6e3df1ee7676d1f2a3afd9157341274

Groovy:       2.3.9
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_25 (Oracle Corporation 25.25-b02)
OS:           Mac OS X 10.11.6 x86_64

Note the downgrade to JDK 1.8.0_25!

I tried it on JDK 1.8 update 50 and above, and it always failed.

@sbrannen
Copy link

So perhaps your Travis build is using a very old version of JDK 1.8.

@sbrannen
Copy link

FYI: ASM 5.1 also works with JDK 1.8.0_25.

@oehme
Copy link
Author

oehme commented Aug 28, 2016

Minor aside: You're missing out on some major performance upgrades since
Gradle 2.3. Time to upgrade ;)

Am 28.08.2016 20:07 schrieb "Sam Brannen" notifications@github.com:

FYI: ASM 5.1 also works with JDK 1.8.0_25.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#67 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABIvdUT3K7JAXp3GmsIRkNF1hwM9sWR7ks5qkc55gaJpZM4JuqG2
.

@sbrannen
Copy link

I'd also advise an upgrade to Gradle 2.14.1 or 3.0. 😉

Disclaimer: I didn't upgrade Gradle locally in order to pin down the combination that started failing.

@oehme
Copy link
Author

oehme commented Aug 28, 2016

My proposal would be to ignore that test case, let the ASM folks know and carry on with the release

@sbrannen
Copy link

Pinned down!

JDK versions that work:

  • ✅ 1.8.0_25-b17
  • ✅ 1.8.0_31-b13
  • ❌ 1.8.0_40-b27

@sbrannen
Copy link

So just stick with JDK 1.8 update 31 for building... or @Ignore that test like @oehme suggested. 😉

@schauder
Copy link
Collaborator

Wow, thanks for the great work. I'll document everything in an easy to digest form and release a new version.

Note: I didn't try it again, but I think upgrading to 6.x actually breaks tests BEFORE the one that is causing the trouble with 5.x

@schauder
Copy link
Collaborator

Created a separate issue for tracking the problem: #68

@sbrannen
Copy link

thanks

@marcphilipp
Copy link
Contributor

@schauder Any news on the release? 😇

@schauder
Copy link
Collaborator

@marcphilipp I'm working on it, put since my last release I'm now behind a proxy, and that is a major PITA.

@schauder
Copy link
Collaborator

I just released version 0.1.4

It should appear on maven central and in BinTree as soon as their caches refresh.

Want to do some tests and some documentation updates before I shout it out into the world.
Please, let me know if it works for you.

@marcphilipp
Copy link
Contributor

Works for us (see junit-team/junit5@5b9fee4), thanks a lot!

@sbrannen
Copy link

👍

@oehme oehme closed this as completed Oct 14, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants