-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Even though ij1-patcher now successfully applies all its patches as of ImageJ 1.51p, the bytecode verifier still throws VerifyError
if the ij.jar
targets bytecode version 52 (i.e. Java 8) or later. This is discussed in #50. To avoid the problem, all releases of ij.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
.
Activity
imagesc-bot commentedon Mar 29, 2022
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
ctrueden commentedon May 10, 2022
From an ImageJ mailing list thread:
mkitti commentedon May 16, 2022
There might be a hint here:
powermock/powermock#1043