Groovy
  1. Groovy
  2. GROOVY-4951

VerifyError - Expecting to find integer on stack

    Details

      Description

      The line
      result = prime * result + (int) (_tagReservationDate ^ (_tagReservationDate >>> 32))
      produces bytecode that fails to run in the accompanying test.

      <error message="(class: com/peersaver/model/Breaking, method: hashCode signature: ()I) Expecting to find integer on stack" type="java.lang.VerifyError">java.lang.VerifyError: (class: com/peersaver/model/Breaking, method: hashCode signature: ()I) Expecting to find integer on stack
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:169)
      at com.peersaver.model.BreakingTest.class$(BreakingTest.groovy)
      at com.peersaver.model.BreakingTest.$get$$class$com$peersaver$model$Breaking(BreakingTest.groovy)
      at com.peersaver.model.BreakingTest.testBreaking(BreakingTest.groovy:55)
      </error>

      The email conversation that covers drilling down into details can be found here:
      http://groovy.329449.n5.nabble.com/VerifyError-when-upgrading-from-Groovy-1-7-6-to-1-8-1-td4632721.html

      The relevant bit, quoting BlackDragon:
      "
      > L13
      > ILOAD 3: prime
      > [int] ILOAD 5: result
      > [int,int] IMUL
      > [int] ALOAD 0: this
      > [int, this] GETFIELD TrackingTagReservation._tagReservationDate : long
      > [int, long] ALOAD 0: this
      > [int, long, this] GETFIELD TrackingTagReservation._tagReservationDate : long
      > [int, long, long] LDC 32
      > [int, long, long, int] I2L
      > [int, long, long, long] LUSHR

      here is a problem, LUSHR expects [..., long, int], but we have 2 longs
      here. The I2L should not have happened. So I can confirm a problem here. "

      Thanks!
      Jason

        Activity

        Jason Griffith created issue -
        Jason Griffith made changes -
        Field Original Value New Value
        Attachment BreakingTest.groovy [ 56200 ]
        Jason Griffith made changes -
        Attachment BreakingTest.groovy [ 56199 ]
        Guillaume Delcroix made changes -
        Assignee Guillaume Laforge [ guillaume ]
        Guillaume Delcroix made changes -
        Assignee Guillaume Laforge [ guillaume ] Jochen Theodorou [ blackdrag ]
        Guillaume Delcroix made changes -
        Fix Version/s 1.8.2 [ 17495 ]
        Fix Version/s 1.9-beta-2 [ 17494 ]
        Jochen Theodorou made changes -
        Component/s primtive opts [ 14763 ]
        Jochen Theodorou made changes -
        Resolution Fixed [ 1 ]
        Status Open [ 1 ] Closed [ 6 ]
        Mark Thomas made changes -
        Project Import Sun Apr 05 13:32:57 UTC 2015 [ 1428240777691 ]
        Mark Thomas made changes -
        Workflow jira [ 12733877 ] Default workflow, editable Closed status [ 12745701 ]
        Mark Thomas made changes -
        Project Import Mon Apr 06 02:11:23 UTC 2015 [ 1428286283443 ]
        Mark Thomas made changes -
        Workflow jira [ 12973718 ] Default workflow, editable Closed status [ 12980887 ]

          People

          • Assignee:
            Jochen Theodorou
            Reporter:
            Jason Griffith
          • Votes:
            2 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development