You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
at proguard.classfile.ProgramClass.attributesAccept(ProgramClass.java:613)
at proguard.classfile.editor.ConstantPoolShrinker.visitDynamicConstant(ConstantPoolShrinker.java:142)
at proguard.classfile.constant.DynamicConstant.accept(DynamicConstant.java:109)
at proguard.classfile.ProgramClass.constantPoolEntryAccept(ProgramClass.java:555)
at proguard.classfile.attribute.BootstrapMethodInfo.methodArgumentsAccept(BootstrapMethodInfo.java:57)
at proguard.classfile.editor.ConstantPoolShrinker.visitBootstrapMethodInfo(ConstantPoolShrinker.java:403)
at proguard.classfile.attribute.BootstrapMethodsAttribute.bootstrapMethodEntriesAccept(BootstrapMethodsAttribute.java:58)
at proguard.classfile.editor.ConstantPoolShrinker.visitBootstrapMethodsAttribute(ConstantPoolShrinker.java:209)
at proguard.classfile.attribute.BootstrapMethodsAttribute.accept(BootstrapMethodsAttribute.java:49)
at proguard.classfile.ProgramClass.attributesAccept(ProgramClass.java:613)
It seems to be triggered by Dynamic entry (and probably InvokeDynamic) in any of the arguments in BootstrapMethods attribute. Code in visitDynamicConstant seems to pass visitor back to class, which visits all attributes, eventually running back into BootstrapMethods and repeating whole process.
The text was updated successfully, but these errors were encountered:
I've encountered the exact same issue.
It can still be reproduced on proguard 7.6.1 and JDK 21.0.2.
Here attached is a simple project that allows to reproduce the issue:
unzip it
run gradlew obfuscate --stacktrace
(Basically, it wraps the class above in a gradle project)
Replicated in Proguard 7.6.0 and JDK 21.0.2.
Reproduction case:
Repeated stacktrace section looks like this:
It seems to be triggered by
Dynamic
entry (and probablyInvokeDynamic
) in any of the arguments inBootstrapMethods
attribute. Code invisitDynamicConstant
seems to pass visitor back to class, which visits all attributes, eventually running back intoBootstrapMethods
and repeating whole process.The text was updated successfully, but these errors were encountered: