Login  Register

Error in headless mode on Windows 7 with current FIJI/ImageJ installation

Posted by John Minter on Nov 02, 2014; 2:29am
URL: http://imagej.273.s1.nabble.com/Error-in-headless-mode-on-Windows-7-with-current-FIJI-ImageJ-installation-tp5010280.html

I have a large number of images to process and would like to use headless
mode. I need to use Windows because that is the approved platform in the
lab. I spent most of the day today getting things working on my macbook
(easier to test code) and tried the working scripts on a Windows system I
have at home and get the same errors on Win 7 x64 with both 64 and 32 bit
installs of Fiji with all updates. I am using Jython scripts and have
pulled all the display functions out. I can't even get a simple
print("Hello World") script to run on Windows in headless mode. Of course,
all the scripts run fine from the Script Editor (and on the macbook.). I am
hoping someone who has headless working on a current install can tell me
what I am doing wrong or if I found a real bug....

This is the command I am running
ImageJ-win64.exe --java-home
"C:\Apps\Fiji.app.win64\java\win64\jdk1.6.0_24\jre" --headless --jython
--console --mem=1000m HelloWorld.py

The executable is in my path. The error is below. I get it with both 64 and
32 bit (with the appropriate JAVA_HOME) and with or without the "--jython"
switch. Nothing happens at all if I leave out "--console". Everything runs
fine on the mac.

Error while executing the main() method of class 'org.python.util.jython':
java.lang.UnsatisfiedLinkError:
C:\Users\jrminter\AppData\Local\Temp\org.scijava
.jython.shaded.jline_2_5_3.dll: The process cannot access the file because
it is
 being used by another process
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1699)
        at java.lang.Runtime.load0(Runtime.java:770)
        at java.lang.System.load(System.java:1003)
        at
org.scijava.jython.shaded.jline.WindowsTerminal.loadLibrary(WindowsTerminal.java:315)
        at
org.scijava.jython.shaded.jline.WindowsTerminal.initializeTerminal(WindowsTerminal.java:240)
        at
org.scijava.jython.shaded.jline.Terminal.setupTerminal(Terminal.java:75)
        at org.python.util.JLineConsole.<init>(JLineConsole.java:74)
        at org.python.util.JLineConsole.<init>(JLineConsole.java:58)
        at org.python.util.JLineConsole.<init>(JLineConsole.java:54)
        at org.python.util.jython.newInterpreter(jython.java:347)
        at org.python.util.jython.run(jython.java:168)
        at org.python.util.jython.main(jython.java:129)
        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 net.imagej.launcher.ClassLauncher.launch(ClassLauncher.java:258)
        at net.imagej.launcher.ClassLauncher.run(ClassLauncher.java:184)
        at net.imagej.launcher.ClassLauncher.main(ClassLauncher.java:76)

Note: Fiji/ImageJ is creating this each time somewhere i the processing
chain.

Best regards,
John Minter

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