NOTICE! This is a static HTML version of a legacy Fiji BugZilla bug.

The Fiji project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Bug 732 - "Subtract Background" exception via macro/batch mode
"Subtract Background" exception via macro/batch mode
Status: RESOLVED FIXED
Product: Fiji
Classification: Unclassified
Component: ImageJ2
unspecified
PC All
: P3 major
Assigned To: ImageJ Developers Mailing List
Depends on:
Blocks:
 
Reported: 2014-04-27 21:20 CDT by bryan.callahan
Modified: 2014-06-16 13:37 CDT
2 users (show)

See Also:


Attachments
Macro Log (6.77 KB, text/plain)
2014-04-27 21:20 CDT, bryan.callahan

Description bryan.callahan 2014-04-27 21:20:15 CDT
Created attachment 144
Macro Log

When running subtract background via macro...

run("Subtract Background...", "rolling=50 light separate");

...the follow exception appears consistently across all platforms/builds. I wanted to start trying to fix this exception on my end but I can't seem to find the source for BackgroundSubtracter.java in any of the repos. I would appreciate help in this area (url to source) or if this defect can be expedited that would also be great. I'm a resource to you so please let me know how I can be a part of this solution. It's really important for me as it's currently a blocking defect and has been for the past two weeks. Any input would be /greatly/ appreciated.

java.lang.VerifyError: (class: ij/gui/GenericDialog, method: setLocation signature: (II)V) Illegal use of nonvirtual function call
	at ij.plugin.filter.BackgroundSubtracter.showDialog(BackgroundSubtracter.java:82)
	at ij.plugin.filter.PlugInFilterRunner.<init>(PlugInFilterRunner.java:61)
	at ij.IJ.runPlugIn(IJ.java:171)
	at ij.Executer.runCommand(Executer.java:131)
	at ij.Executer.run(Executer.java:64)
	at ij.IJ.run(IJ.java:269)
	at ij.macro.Functions.doRun(Functions.java:590)
	at ij.macro.Functions.doFunction(Functions.java:89)
	at ij.macro.Interpreter.doStatement(Interpreter.java:226)
	at ij.macro.Interpreter.doStatements(Interpreter.java:214)
	at ij.macro.Interpreter.run(Interpreter.java:111)
	at ij.macro.Interpreter.run(Interpreter.java:81)
	at ij.macro.Interpreter.run(Interpreter.java:92)
	at ij.plugin.Macro_Runner.runMacro(Macro_Runner.java:153)
	at ij.plugin.Macro_Runner.runMacroFile(Macro_Runner.java:137)
	at ij.IJ.runMacroFile(IJ.java:130)
	at ij.ImageJ.main(ImageJ.java:678)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at imagej.patcher.LegacyEnvironment.main(LegacyEnvironment.java:190)
	at fiji.Main.main(Main.java:155)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at imagej.ClassLauncher.launch(ClassLauncher.java:222)
	at imagej.ClassLauncher.run(ClassLauncher.java:159)
	at imagej.ClassLauncher.main(ClassLauncher.java:72)
Comment 1 Johannes Schindelin 2014-04-29 10:37:08 CDT
To clarify: this happens *only* in headless mode, and *only* if ImageJ 1.48t or newer is used.

As a work-around, you can download http://jenkins.imagej.net/job/ImageJ-1.x-patcher/lastSuccessfulBuild/artifact/target/ij1-patcher-0.3.3-SNAPSHOT.jar and replace your local Fiji.app/jars/ij1-patcher-0.1.1.jar with it.
Comment 2 bryan.callahan 2014-04-29 10:53:41 CDT
Thank you so much for your quick help Johannes! I can verify that this is now working as expected on my end via the provided patch solution. Thanks again! Please let me know if I can ever be of any help.

All the best,

Bryan
Comment 3 Curtis Rueden 2014-06-16 13:37:03 CDT
Thanks Bryan. Bug closed.