Skip to content
This repository has been archived by the owner on Jun 23, 2020. It is now read-only.

Attempt to load superclasses of shading subject #21

Open
stuhood opened this issue Aug 1, 2016 · 0 comments
Open

Attempt to load superclasses of shading subject #21

stuhood opened this issue Aug 1, 2016 · 0 comments
Labels

Comments

@stuhood
Copy link
Sponsor Member

stuhood commented Aug 1, 2016

In some codepaths, ASM will attempt to call ClassWriter.getCommonSuperClass for a class referenced from a class it is shading. The class is available in the subject classpath, but is not available on the jarjar tool's classpath, and so the lookup fails.

Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: com.example.shaded.Thing
at org.objectweb.asm.ClassWriter.getCommonSuperClass(Unknown Source)
at org.objectweb.asm.ClassWriter.a(Unknown Source)
at org.objectweb.asm.Frame.a(Unknown Source)
at org.objectweb.asm.Frame.a(Unknown Source)
at org.objectweb.asm.MethodWriter.visitMaxs(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 org.objectweb.asm.ClassWriter.toByteArray(Unknown Source)
at org.pantsbuild.jarjar.util.GetNameClassWriter.toByteArray(GetNameClassWriter.java:41)
at org.pantsbuild.jarjar.util.JarTransformer.process(JarTransformer.java:39)
at org.pantsbuild.jarjar.util.JarProcessorChain.process(JarProcessorChain.java:38)
at org.pantsbuild.jarjar.MainProcessor.process(MainProcessor.java:115)
at org.pantsbuild.jarjar.util.StandaloneJarProcessor.run(StandaloneJarProcessor.java:46)
at org.pantsbuild.jarjar.Main.process(Main.java:95)
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 org.pantsbuild.jarjar.MainUtil.runMain(MainUtil.java:37)
at org.pantsbuild.jarjar.Main.main(Main.java:50)

Original investigation was by @baroquebobcat

@stuhood stuhood added the bug label Aug 1, 2016
@stuhood stuhood changed the title Attempt to load super classes of shading subject Attempt to load superclasses of shading subject Aug 1, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant