-
Notifications
You must be signed in to change notification settings - Fork 6
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
VerifyError thrown when ij.jar is built targeting Java 1.8 #53
Comments
This issue has been mentioned on Image.sc Forum. There might be relevant details there: https://forum.image.sc/t/fiji-fails-to-launch-after-upgrade-to-imagej-daily-build/47125/8 |
From an ImageJ mailing list thread:
|
There might be a hint here: |
Even though ij1-patcher now successfully applies all its patches as of ImageJ 1.51p, the bytecode verifier still throws
VerifyError
if theij.jar
targets bytecode version 52 (i.e. Java 8) or later. This is discussed in #50. To avoid the problem, all releases ofij.jar
are built targeting Java 6 bytecode, which is fine for now since ImageJ does not use any Java >6 APIs. But it restricts ImageJ from ever updating to a Java 8 minimum and using things like lambdas or the streaming API, which is unfortunate.The proper thing would be to dig into why the bytecode verifier still dislikes the patched ImageJ classes, and address it, so that ImageJ patched by ij1-patcher + imagej-legacy is still considered valid by the Java runtime without needing a workaround like
-Xverify:none
.The text was updated successfully, but these errors were encountered: