Hi Bob,

let me first say that ImageJ is free software and part of its success is based on the user community making plugins and other information freely available. Using ProGuard to obfuscate the bytecode of plugins is in stark contrast to this spirit.

Anyhow, to answer the more generic question how to modify the java options for ImageJ:

The Java options are in ImageJ.cfg. You can edit that file.
Under Linux and Windows, it is in the ImageJ directory.

On MacOS (at least the very old version that I have available), right-click ImageJ, Show Package Contents, then open Info.plist. There, the Java options are under "Java" (you may have to un-collapse that item).


Michael
________________________________________________________________
On 10.08.24 01:40, Robert Dougherty wrote:
Wayne (most likely),

Is it easy to provide an option to start ImageJ with the -noverify option, as in
java -jar -noverify -Xmx4096m Contents/Java/ij.jar

?

I'm trying to work around what seems like a bug using ProGuard to obfuscate 
some plugins, and using -noverify is the only way I can find to prevent the 
Exception quoted below when I try to run an obfuscated plugin.  No error 
without obfuscation and no error with obfuscation if I start ImageJ from the 
command line with -noverify.  Oddly, I have a few plugins that do not show this 
problem and I can't find any obvious differentiating features. This flakiness 
is why I think it is a bug.

Bob

java.lang.VerifyError: Expecting a stackmap frame at branch target 32
Exception Details:
   Location:
     Beamform_File_Prefs.run(Ljava/lang/String;)V @25: if_icmpge
   Reason:
     Expected stackmap frame at this location.
   Bytecode:
     0000000: 2a12 3d12 4eb8 008e b500 8312 4014 0076
     0000010: b800 8d8e 3d1c 1101 68a2 0007 1101 683d
     0000020: 1244 0eb8 008d 4a12 450e b800 8d39 0512

  ...
     at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
     at 
java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3138)
     at java.base/java.lang.Class.getConstructor0(Class.java:3343)
     at java.base/java.lang.Class.newInstance(Class.java:572)
     at ij.IJ.runUserPlugIn(IJ.java:242)
     at ij.IJ.runPlugIn(IJ.java:210)
     at ij.Executer.runCommand(Executer.java:152)
     at ij.Executer.run(Executer.java:70)
     at java.base/java.lang.Thread.run(Thread.java:830)



--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html

Reply via email to