Skip to content

VerifyError with lazycompute java 7 update 65 #8747

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
scabug opened this issue Jul 25, 2014 · 5 comments
Closed

VerifyError with lazycompute java 7 update 65 #8747

scabug opened this issue Jul 25, 2014 · 5 comments

Comments

@scabug
Copy link

scabug commented Jul 25, 2014

Since upgrading to update 65, I have been get a VerifyError:

Exception in thread "AWT-EventQueue-0" java.lang.VerifyError: Bad method call from inside of a branch
Exception Details:
Location:
smig/MigPanel$$anon$2.(Lsmig/MigPanel;)V @177: invokespecial
Reason:
Error exists in the bytecode
Bytecode:
0000000: 2bc7 000b bb00 4459 b700 47bf 2a2b b500
0000010: 412a bb00 4959 2bb6 004d b600 532b b400
0000020: 574d b200 5d2c 4e59 c700 0b57 2dc6 000d
0000030: a700 122d b600 6399 000b 0157 013a 04a7
0000040: 0021 2cc1 0065 9900 7d2c c000 653a 0519
0000050: 05b6 0069 c000 6b3a 0619 06b6 006e 3a04
0000060: 1904 2bb4 0071 3a07 b200 5d19 073a 0859
0000070: c700 0c57 1908 c600 0ea7 0013 1908 b600
0000080: 6399 000b 0157 013a 09a7 0023 1907 c100
0000090: 6599 0028 1907 c000 653a 0a19 0ab6 0069
00000a0: c000 733a 0b19 0bb6 0074 3a09 1909 b700
00000b0: 77b7 007a 2ab8 007e b1bb 0080 5919 07b7
00000c0: 0083 bfbb 0080 592c b700 83bf
Stackmap Table:
same_frame(@12)
full_frame(@51,{UninitializedThis,Object[#9],Object[#137],Object[#137]},{UninitializedThis,Uninitialized[#18],Uninitialized[#18],Object[#139],Object[#89]})
full_frame(@58,{UninitializedThis,Object[#9],Object[#137],Object[#137]},{UninitializedThis,Uninitialized[#18],Uninitialized[#18],Object[#139]})
full_frame(@66,{UninitializedThis,Object[#9],Object[#137],Object[#137]},{UninitializedThis,Uninitialized[#18],Uninitialized[#18],Object[#139]})
full_frame(@96,{UninitializedThis,Object[#9],Object[#137],Object[#137],Object[#141]},{UninitializedThis,Uninitialized[#18],Uninitialized[#18],Object[#139]})
full_frame(@124,{UninitializedThis,Object[#9],Object[#137],Object[#137],Object[#141],Top,Top,Object[#137],Object[#137]},{UninitializedThis,Uninitialized[#18],Uninitialized[#18],Object[#139],Object[#141],Object[#89]})
full_frame(@132,{UninitializedThis,Object[#9],Object[#137],Object[#137],Object[#141],Top,Top,Object[#137],Object[#137]},{UninitializedThis,Uninitialized[#18],Uninitialized[#18],Object[#139],Object[#141]})
full_frame(@140,{UninitializedThis,Object[#9],Object[#137],Object[#137],Object[#141],Top,Top,Object[#137],Object[#137]},{UninitializedThis,Uninitialized[#18],Uninitialized[#18],Object[#139],Object[#141]})
full_frame(@172,{UninitializedThis,Object[#9],Object[#137],Object[#137],Object[#141],Top,Top,Object[#137],Object[#137],Object[#141]},{UninitializedThis,Uninitialized[#18],Uninitialized[#18],Object[#139],Object[#141]})
full_frame(@185,{UninitializedThis,Object[#9],Object[#137],Object[#137],Object[#141],Top,Top,Object[#137],Object[#137]},{UninitializedThis,Uninitialized[#18],Uninitialized[#18],Object[#139],Object[#141]})
full_frame(@195,{UninitializedThis,Object[#9],Object[#137],Object[#137]},{UninitializedThis,Uninitialized[#18],Uninitialized[#18],Object[#139]})

at smig.MigPanel.peer$lzycompute(Smig.scala:1100)
at smig.MigPanel.peer(Smig.scala:1099)
at smig.MigPanel.peer(Smig.scala:1085)
at scala.swing.UIElement$.scala$swing$UIElement$$cache(UIElement.scala:20)
at scala.swing.UIElement$class.$init$(UIElement.scala:78)
at scala.swing.Component.<init>(Component.scala:43)
at scala.swing.Panel.<init>(Panel.scala:18)
at smig.MigPanel.<init>(Smig.scala:1085)
at smig.MigPanel.<init>(Smig.scala:1109)

The corresponding source line is:

override lazy val peer =
new JPanel(new MigLayout(
_lc.java,
rowC match { case None => null; case Some(rowC) => rowC.java },
colC match { case None => null; case Some(colC) => colC.java })
) with SuperMixin

The complete code is at https://github.com/tballard/smig/blob/master/src/smig/Smig.scala

@scabug
Copy link
Author

scabug commented Jul 25, 2014

Imported From: https://issues.scala-lang.org/browse/SI-8747?orig=1
Reporter: Kent Tong (freemant)
Affected Versions: 2.10.4
Duplicates #3832

@scabug
Copy link
Author

scabug commented Jul 25, 2014

@gourlaysama said:
Pattern matching inside a constructor? That looks like a duplicate of #6954 and #3832.

Could you test if 2.11.0 solves the issue?

@scabug
Copy link
Author

scabug commented Jul 26, 2014

Kent Tong (freemant) said:
thanks. How to run 2.11.0 with the Scala IDE (eclipse)? thanks!

@scabug
Copy link
Author

scabug commented Jul 26, 2014

Kent Tong (freemant) said:
I manually compile the code using scala 2.11.2 and it works! So, it has been fixed. But how to tell the Scala IDE to use that version?

@scabug
Copy link
Author

scabug commented Jul 26, 2014

@gourlaysama said:
Good to hear! I am closing this one then.

I don't use Scala IDE, but I think you have to update Scala IDE itself when you move from Scala 2.10 to 2.11.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant