#438 VerifyError: Register pair 1/2 contains wrong type

v4.7
closed-fixed
6
2012-05-28
2012-02-20
No

In the help forum, Horschi reports a runtime exception, after running ProGuard with a series of optimization passes:

Exception in thread "main" java.lang.VerifyError: (class: aq, method: a signature: (JS)V) Register pair 1/2 contains wrong type
at fi.<init>(Unknown Source)
at TestClientMain.main(Unknown Source)

Test case received.

Discussion

  • Eric Lafortune

    Eric Lafortune - 2012-02-20
    • status: open --> open-accepted
     
  • Horschi

    Horschi - 2012-03-01

    Hi Eric,

    any update on this? Did my testcase help?

    Ch

     
  • Eric Lafortune

    Eric Lafortune - 2012-03-01

    I can reproduce the problem, but I haven't had the time yet to look into it further.

     
  • Eric Lafortune

    Eric Lafortune - 2012-03-31

    This bug has now been fixed for the upcoming ProGuard 4.8 beta1.

     
  • Eric Lafortune

    Eric Lafortune - 2012-03-31
    • status: open-accepted --> open-fixed
     
  • Horschi

    Horschi - 2012-04-01

    Thats great, I cant wait to test! Can you give some details what it was? When will 4.8b1 be released?

     
  • Eric Lafortune

    Eric Lafortune - 2012-04-02

    After 3 optimization passes, the somewhat unusual instruction sequence
    lload_1
    iload_3
    istore_2
    lstore 4
    ...
    lload 4
    was simplified by the 4th optimization pass to
    iload_3
    istore_2
    ...
    lload_1
    This is not correct, since the second half of the 64-bits value in register pair 1/2 has been overwritten at this point.

    I prefer not to make any promises about future releases.

     
  • Horschi

    Horschi - 2012-04-14

    Ok, 4.8beta works fine so far. Thanks!

     
  • Eric Lafortune

    Eric Lafortune - 2012-05-28
    • status: open-fixed --> closed-fixed
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks