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 -
        Hide
        Jason Griffith added a comment -

        A copy that doesn't reference "TrackingTagReservation", the original name of "Breaking"

        Show
        Jason Griffith added a comment - A copy that doesn't reference "TrackingTagReservation", the original name of "Breaking"
        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 ]
        Hide
        jwb added a comment -

        It's good to see there's attention to this. Jason and I will be away for a week and will be available starting 26 Aug to test out any updates. We're excited to get to Groovy 1.8, so please let us know if you have any requests or suggestions.

        Show
        jwb added a comment - It's good to see there's attention to this. Jason and I will be away for a week and will be available starting 26 Aug to test out any updates. We're excited to get to Groovy 1.8, so please let us know if you have any requests or suggestions.
        Hide
        Jochen Theodorou added a comment -

        fixed

        Show
        Jochen Theodorou added a comment - fixed
        Jochen Theodorou made changes -
        Resolution Fixed [ 1 ]
        Status Open [ 1 ] Closed [ 6 ]
        Hide
        Jason Griffith added a comment -

        Hi Jochen

        I downloaded today's 1.8.2 snapshot, and this test still fails for me. Is the fix in 1.8.2's snapshot?

        Thanks!
        Jason

        Show
        Jason Griffith added a comment - Hi Jochen I downloaded today's 1.8.2 snapshot, and this test still fails for me. Is the fix in 1.8.2's snapshot? Thanks! Jason
        Hide
        Jochen Theodorou added a comment -

        if the snapshot is from september, it should be in there, yes

        Show
        Jochen Theodorou added a comment - if the snapshot is from september, it should be in there, yes
        Hide
        Jochen Theodorou added a comment -

        ok, I found my mistake, I made the test with >> instead of >>> and forgot about the unassigned shift altogether... will be corrected in a sec

        Show
        Jochen Theodorou added a comment - ok, I found my mistake, I made the test with >> instead of >>> and forgot about the unassigned shift altogether... will be corrected in a sec
        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 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Closed Closed
        31d 18h 34m 1 Jochen Theodorou 29/Aug/11 15:06

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development