quasar
quasar copied to clipboard
Seemingly harmless instrumentation failure in Kotlin's stdlib/runtime
[quasar] ERROR: while transforming org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl$packageFragmentProviderForWholeModuleWithDependencies$1: -1
java.lang.ArrayIndexOutOfBoundsException: -1
at co.paralleluniverse.asm.Frame.a(Unknown Source)
at co.paralleluniverse.asm.MethodWriter.visitMaxs(Unknown Source)
at co.paralleluniverse.fibers.instrument.InstrumentMethod.accept(InstrumentMethod.java:527)
at co.paralleluniverse.fibers.instrument.InstrumentClass.visitEnd(InstrumentClass.java:255)
at co.paralleluniverse.asm.ClassReader.accept(Unknown Source)
at co.paralleluniverse.asm.ClassReader.accept(Unknown Source)
at co.paralleluniverse.fibers.instrument.QuasarInstrumentor.instrumentClass(QuasarInstrumentor.java:109)
at co.paralleluniverse.fibers.instrument.QuasarInstrumentor.instrumentClass(QuasarInstrumentor.java:85)
at co.paralleluniverse.fibers.instrument.JavaAgent$Transformer.transform(JavaAgent.java:185)
at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl.<init>(ModuleDescriptorImpl.kt:58)
at org.jetbrains.kotlin.builtins.KotlinBuiltIns.<init>(KotlinBuiltIns.java:113)
at org.jetbrains.kotlin.builtins.KotlinBuiltIns.initialize(KotlinBuiltIns.java:72)
at org.jetbrains.kotlin.builtins.KotlinBuiltIns.getInstance(KotlinBuiltIns.java:95)
at org.jetbrains.kotlin.platform.JavaToKotlinClassMap.<init>(JavaToKotlinClassMap.java:45)
at org.jetbrains.kotlin.platform.JavaToKotlinClassMap.<clinit>(JavaToKotlinClassMap.java:36)
at kotlin.reflect.jvm.internal.RuntimeTypeMapper.mapJvmClassToKotlinClassId(RuntimeTypeMapper.kt:79)
at kotlin.reflect.jvm.internal.KClassImpl.getClassId(KClassImpl.kt:40)
at kotlin.reflect.jvm.internal.KClassImpl.access$getClassId$0(KClassImpl.kt:26)
at kotlin.reflect.jvm.internal.KClassImpl$descriptor$1.invoke(KClassImpl.kt:31)
at kotlin.reflect.jvm.internal.KClassImpl$descriptor$1.invoke(KClassImpl.kt:26)
at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.get(ReflectProperties.java:88)
at kotlin.reflect.jvm.internal.KClassImpl.getDescriptor(KClassImpl.kt)
at kotlin.reflect.jvm.internal.KClassImpl.getScope(KClassImpl.kt:42)
at kotlin.reflect.jvm.internal.KCallableContainerImpl.findPropertyDescriptor(KCallableContainerImpl.kt:45)
at kotlin.reflect.jvm.internal.DescriptorBasedProperty$descriptor$1.invoke(DescriptorBasedProperty.kt:54)
at kotlin.reflect.jvm.internal.DescriptorBasedProperty$descriptor$1.invoke(DescriptorBasedProperty.kt:30)
at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.get(ReflectProperties.java:88)
at kotlin.reflect.jvm.internal.DescriptorBasedProperty.getDescriptor(DescriptorBasedProperty.kt)
at kotlin.reflect.jvm.internal.DescriptorBasedProperty$protoData$1.invoke(DescriptorBasedProperty.kt:59)
at kotlin.reflect.jvm.internal.DescriptorBasedProperty$protoData$1.invoke(DescriptorBasedProperty.kt:30)
at kotlin.reflect.jvm.internal.ReflectProperties$LazyWeakVal.get(ReflectProperties.java:115)
at kotlin.reflect.jvm.internal.DescriptorBasedProperty.getProtoData(DescriptorBasedProperty.kt)
at kotlin.reflect.jvm.internal.DescriptorBasedProperty.access$getProtoData$0(DescriptorBasedProperty.kt:30)
at kotlin.reflect.jvm.internal.DescriptorBasedProperty$getter$1.invoke(DescriptorBasedProperty.kt:77)
at kotlin.reflect.jvm.internal.DescriptorBasedProperty$getter$1.invoke(DescriptorBasedProperty.kt:30)
at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.get(ReflectProperties.java:88)
at kotlin.reflect.jvm.internal.DescriptorBasedProperty.getGetter(DescriptorBasedProperty.kt)
at kotlin.reflect.jvm.internal.KMemberPropertyImpl.get(KMemberPropertyImpl.kt:33)
at co.paralleluniverse.kotlin.fibers.lang.OOTest$testOODelegVarPropRefGet$1.run(OOTest.kt:395)
at co.paralleluniverse.kotlin.fibers.lang.OOTest$testOODelegVarPropRefGet$1.run(OOTest.kt:393)
at co.paralleluniverse.fibers.Fiber.run(Fiber.java:1019)
at co.paralleluniverse.fibers.Fiber.run1(Fiber.java:1014)
at co.paralleluniverse.fibers.Fiber.exec(Fiber.java:729)
at co.paralleluniverse.fibers.FiberForkJoinScheduler$FiberForkJoinTask.exec1(FiberForkJoinScheduler.java:257)
at co.paralleluniverse.concurrent.forkjoin.ParkableForkJoinTask.doExec(ParkableForkJoinTask.java:116)
at co.paralleluniverse.concurrent.forkjoin.ParkableForkJoinTask.exec(ParkableForkJoinTask.java:73)
at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:261)
at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:988)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1628)
at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Reproducible only by changing the Kotlin classifier as of #146 fix in https://github.com/puniverse/quasar/commit/b0a3ca09179d29aa3f5b7364f73128db3291236f.