Java 11: IllegalArgumentException: Can't remap constant index [63]
Java class file shrinker, optimizer, obfuscator, and preverifier
Brought to you by:
guardsquare
Using Proguard 6.1.0beta2 with support for java 11.
I've configured jmodsusing openjdk-11 on ubuntu 18.04. But when I run proguard I get a cryptic error:
[proguard] Initializing...
[proguard] Ignoring unused library classes...
[proguard] Original number of library classes: 30175
[proguard] Final number of library classes: 662
[proguard] Printing kept classes, fields, and methods...
[proguard] Inlining subroutines...
[proguard] java.lang.IllegalArgumentException: Can't remap constant index [63]
[proguard] at proguard.classfile.editor.ConstantPoolRemapper.remapConstantIndex(ConstantPoolRemapper.java:818)
[proguard] at proguard.classfile.editor.ConstantPoolRemapper.remapConstantIndexArray(ConstantPoolRemapper.java:802)
[proguard] at proguard.classfile.editor.ConstantPoolRemapper.visitNestMembersAttribute(ConstantPoolRemapper.java:352)
[proguard] at proguard.classfile.attribute.NestMembersAttribute.accept(NestMembersAttribute.java:64)
[proguard] at proguard.classfile.ProgramClass.attributesAccept(ProgramClass.java:619)
[proguard] at proguard.classfile.editor.ConstantPoolRemapper.visitProgramClass(ConstantPoolRemapper.java:102)
[proguard] at proguard.shrink.ClassShrinker.visitProgramClass(ClassShrinker.java:122)
[proguard] at proguard.classfile.visitor.MultiClassVisitor.visitProgramClass(MultiClassVisitor.java:67)
[proguard] at proguard.shrink.UsedClassFilter.visitProgramClass(UsedClassFilter.java:62)
[proguard] at proguard.classfile.ProgramClass.accept(ProgramClass.java:430)
[proguard] at proguard.classfile.ClassPool.classesAccept(ClassPool.java:125)
[proguard] at proguard.shrink.Shrinker.execute(Shrinker.java:158)
[proguard] at proguard.ProGuard.shrink(ProGuard.java:392)
[proguard] at proguard.ProGuard.execute(ProGuard.java:146)
[proguard] at proguard.ProGuard.main(ProGuard.java:586)
[proguard] Shrinking...
What am I missing?
Please let me know if you need me to provide further details!
Update: If I provide the option
-dontshrinkthis error is not thrown.Thanks. I can now reproduce the issue. It has been fixed for the upcoming ProGuard 6.1.0 beta3. I'm attaching the patch.
Any idea when 6.1.0beta3 (or full 6.1.0) will be released to address this issue?
We are encountering the same problem. I would love to give the patch a try and/or rebuild the latest ProGuard binaries myself, but it seems sources are not available anymore?