puniverse / quasar

Fibers, Channels and Actors for the JVM
http://docs.paralleluniverse.co/quasar/
Other
4.56k stars 575 forks source link

ABI incompatible in quasar-kotlin 0.7.3 #139

Closed flmn closed 8 years ago

flmn commented 8 years ago

quasar-kotlin-0.7.3 is compiled with Kotlin 1.0.0-beta-1103(ABI version is 0.23.0?), when I use it in a 1.0.0-beta-2423(ABI version is 1.0.0) project, shows these error:

Error:Kotlin: Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath:
    class co.paralleluniverse.actors.Actor, unresolved supertypes: SuspendableCallable<V>, Joinable<V>, Stranded, ReceivePort<Message>
circlespainter commented 8 years ago

Can you try with 0.7.4-SNAPSHOT (see https://github.com/puniverse/quasar/issues/132 and then https://github.com/puniverse/quasar/commit/954c914aaf5d206e4fdf5635d292f6197e57d024)?

circlespainter commented 8 years ago

The latest 0.7.4-SNAPSHOT now supports Kotlin 1.0.0-beta-3593.

Jire commented 8 years ago

@circlespainter Does not work for me. My Gradle build script: https://gist.github.com/Jire/2bd979d298674eeb7e92

QUASAR WARNING: Quasar Java Agent isn't running. If you're using another instrumentation method you can ignore this message; otherwise, please refer to the Getting Started section in the Quasar documentation.
WARNING: Uninstrumented methods (marked '**') or call-sites (marked '!!') detected on the call stack: 
    at co.paralleluniverse.common.util.ExtendedStackTrace.here (ExtendedStackTrace.java:44 bci: 8)
    at co.paralleluniverse.fibers.Fiber.checkInstrumentation (Fiber.java:1618 bci: 0)
    at co.paralleluniverse.fibers.Fiber.verifySuspend (Fiber.java:1591 bci: 6)
    at co.paralleluniverse.fibers.Fiber.verifySuspend (Fiber.java:1586 bci: 3)
    at co.paralleluniverse.fibers.Fiber.sleep (Fiber.java:635 bci: 0)
    at intro.IntroductionKt$main$$inlined$every$1.invoke) (Abendigo.kt:17 bci: 14) **
    at intro.IntroductionKt$main$$inlined$every$1.invoke (Abendigo.kt bci: 1) **
    at co.paralleluniverse.kotlin.KotlinKt$fiber$sc$1.run (Kotlin.kt:29 bci: 76)
    at co.paralleluniverse.fibers.Fiber.run (Fiber.java:1024 bci: 11)
    at co.paralleluniverse.fibers.Fiber.run1 (Fiber.java:1019 bci: 1)
WARNING: Uninstrumented methods (marked '**') or call-sites (marked '!!') detected on the call stack: 
    at co.paralleluniverse.common.util.ExtendedStackTrace.here (ExtendedStackTrace.java:44 bci: 8)
    at co.paralleluniverse.fibers.Fiber.checkInstrumentation (Fiber.java:1618 bci: 0)
    at co.paralleluniverse.fibers.Fiber.verifySuspend (Fiber.java:1591 bci: 6)
    at co.paralleluniverse.fibers.Fiber.verifySuspend (Fiber.java:1586 bci: 3)
    at co.paralleluniverse.fibers.Fiber.sleep (Fiber.java:635 bci: 0)
    at intro.IntroductionKt$main$$inlined$every$1.invoke) (Abendigo.kt:17 bci: 14) **
    at intro.IntroductionKt$main$$inlined$every$1.invoke (Abendigo.kt bci: 1) **
    at co.paralleluniverse.kotlin.KotlinKt$fiber$sc$1.run (Kotlin.kt:29 bci: 76)
    at co.paralleluniverse.fibers.Fiber.run (Fiber.java:1024 bci: 11)
    at co.paralleluniverse.fibers.Fiber.run1 (Fiber.java:1019 bci: 1)
WARNING: Uninstrumented methods (marked '**') or call-sites (marked '!!') detected on the call stack: 
    at co.paralleluniverse.common.util.ExtendedStackTrace.here (ExtendedStackTrace.java:44 bci: 8)
    at co.paralleluniverse.fibers.Fiber.checkInstrumentation (Fiber.java:1618 bci: 0)
    at co.paralleluniverse.fibers.Fiber.verifySuspend (Fiber.java:1591 bci: 6)
    at co.paralleluniverse.fibers.Fiber.verifySuspend (Fiber.java:1586 bci: 3)
    at co.paralleluniverse.fibers.Fiber.sleep (Fiber.java:635 bci: 0)
    at co.paralleluniverse.fibers.Fiber.sleep (Fiber.java:627 bci: 4)
    at intro.IntroductionKt$main$$inlined$every$1.invoke) (Abendigo.kt:95 bci: 970) **
    at intro.IntroductionKt$main$$inlined$every$1.invoke (Abendigo.kt bci: 1) **
    at co.paralleluniverse.kotlin.KotlinKt$fiber$sc$1.run (Kotlin.kt:29 bci: 76)
    at co.paralleluniverse.fibers.Fiber.run (Fiber.java:1024 bci: 11)
    at co.paralleluniverse.fibers.Fiber.run1 (Fiber.java:1019 bci: 1)
co.paralleluniverse.fibers.SuspendExecution: Oops. Forgot to instrument a method. Run your program with -Dco.paralleluniverse.fibers.verifyInstrumentation=true to catch the culprit!
WARNING: Uninstrumented methods (marked '**') or call-sites (marked '!!') detected on the call stack: 
    at co.paralleluniverse.common.util.ExtendedStackTrace.here (ExtendedStackTrace.java:44 bci: 8)
    at co.paralleluniverse.fibers.Fiber.checkInstrumentation (Fiber.java:1618 bci: 0)
    at co.paralleluniverse.fibers.Fiber.verifySuspend (Fiber.java:1591 bci: 6)
    at co.paralleluniverse.fibers.Fiber.verifySuspend (Fiber.java:1586 bci: 3)
    at co.paralleluniverse.fibers.Fiber.sleep (Fiber.java:635 bci: 0)
    at intro.IntroductionKt$main$$inlined$every$1.invoke) (Abendigo.kt:17 bci: 14) **
    at intro.IntroductionKt$main$$inlined$every$1.invoke (Abendigo.kt bci: 1) **
    at co.paralleluniverse.kotlin.KotlinKt$fiber$sc$1.run (Kotlin.kt:29 bci: 76)
    at co.paralleluniverse.fibers.Fiber.run (Fiber.java:1024 bci: 11)
    at co.paralleluniverse.fibers.Fiber.run1 (Fiber.java:1019 bci: 1)
Exception in Fiber "fiber-10000001" java.lang.AssertionError: Illegal task state: -2
circlespainter commented 8 years ago

The agent seems not to be running. quasar-kotlin is a regular dependency, instead quasar-core is the Java agent and should be under the quasar configuration.

Jire commented 8 years ago

@circlespainter Tried replacing the line with both quasar 'co.paralleluniverse:quasar-core:0.7.4-SNAPSHOT' and quasar 'co.paralleluniverse:quasar-core:0.7.4' and the same problem occurs.

Jire commented 8 years ago

@circlespainter I think the problem is that my Kotlin plugin is version 1.0.0-beta-3595-IJ143-26 and IntelliJ still has no option to configure the Kotlin compilation. Is it possible for you to update to this version?

circlespainter commented 8 years ago

Have you tried with Gradle from the command line? Does it work?

circlespainter commented 8 years ago

@Jire If running from Idea you need to setup the run configuration so that it uses the Java agent. Else you can run it from the command line. Any progress on this?

circlespainter commented 8 years ago

@Jire See also #140 and let me know if this one can be closed or if there's something more here.

Jire commented 8 years ago

@circlespainter Yes the issue is fixed now.