Menu

#612 Adobe Air - Captive Runtime - Unexpected error while performing partial evaluation

v5.2
open-works-for-me
None
5
2016-07-10
2016-06-06
No

I have an issue using a JAR library attached to my Android project. The JAR is a library for include Adobe Air (captive runtime). Necessary for certain media technologies.

Does not work:
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*,!class/unboxing/*,!method/removal/*,!method/marking/*,!code/removal/advanced

Works:
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*,!class/unboxing/*,!method/removal/*,!method/marking/*

I checked for multiple occurences of AIRGestureListener. However, even by grepping every single file, I found no duplicates.

Can it be that there is something else causing the exception? I haven't managed to create an MCVE.

Stacktrace / Log

Proguard returned with error code 1. See console
Note: there were 366 duplicate class definitions.
(http://proguard.sourceforge.net/manual/troubleshooting.html#duplicateclass)
Unexpected error while evaluating instruction:
Class = [com/adobe/air/gestures/AIRGestureListener]
Method = [onScroll(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z]
Instruction = [711] fload v10
Exception = [java.lang.NullPointerException] (null)
Unexpected error while performing partial evaluation:
Class = [com/adobe/air/gestures/AIRGestureListener]
Method = [onScroll(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z]
Exception = [java.lang.NullPointerException] (null)
java.lang.NullPointerException
at proguard.evaluation.Variables.fload(Variables.java:245)
at proguard.evaluation.Processor.visitVariableInstruction(Processor.java:678)
at proguard.classfile.instruction.VariableInstruction.accept(VariableInstruction.java:306)
at proguard.optimize.evaluation.PartialEvaluator.evaluateSingleInstructionBlock(PartialEvaluator.java:761)
at proguard.optimize.evaluation.PartialEvaluator.evaluateInstructionBlock(PartialEvaluator.java:609)
at proguard.optimize.evaluation.PartialEvaluator.evaluateInstructionBlockAndExceptionHandlers(PartialEvaluator.java:567)
at proguard.optimize.evaluation.PartialEvaluator.visitCodeAttribute0(PartialEvaluator.java:271)
at proguard.optimize.evaluation.PartialEvaluator.visitCodeAttribute(PartialEvaluator.java:188)
at proguard.optimize.evaluation.LivenessAnalyzer.visitCodeAttribute(LivenessAnalyzer.java:205)
at proguard.optimize.evaluation.VariableOptimizer.visitCodeAttribute(VariableOptimizer.java:105)
at proguard.classfile.attribute.CodeAttribute.accept(CodeAttribute.java:101)
at proguard.classfile.ProgramMethod.attributesAccept(ProgramMethod.java:79)
at proguard.classfile.attribute.visitor.AllAttributeVisitor.visitProgramMember(AllAttributeVisitor.java:95)
at proguard.classfile.util.SimplifiedVisitor.visitProgramMethod(SimplifiedVisitor.java:92)
at proguard.classfile.ProgramMethod.accept(ProgramMethod.java:71)
at proguard.classfile.ProgramClass.methodsAccept(ProgramClass.java:516)
at proguard.classfile.visitor.AllMethodVisitor.visitProgramClass(AllMethodVisitor.java:47)
at proguard.classfile.ProgramClass.accept(ProgramClass.java:358)
at proguard.classfile.ClassPool.classesAccept(ClassPool.java:124)
at proguard.optimize.Optimizer.execute(Optimizer.java:954)
at proguard.ProGuard.optimize(ProGuard.java:328)
at proguard.ProGuard.execute(ProGuard.java:127)
at proguard.ProGuard.main(ProGuard.java:538)

Discussion

  • Eric Lafortune

    Eric Lafortune - 2016-07-10

    Thanks for your report. I haven't been able to reproduce it yet. Chances are that the advanced code removal removes some unused code. Disabling this optimization may be triggering some problem processing this unused code.

     
  • Eric Lafortune

    Eric Lafortune - 2016-07-10
    • status: open --> open-works-for-me
    • assigned_to: Eric Lafortune
     

Log in to post a comment.