[ImageJ-bugs] [Bug 1107] Cannot run commands from the ijpb/MorphoLibJ plugin in --headless mode using --jython script option
bugzilla at fiji.sc
bugzilla at fiji.sc
Wed Jul 8 07:28:37 CDT 2015
http://fiji.sc/bugzilla/show_bug.cgi?id=1107
--- Comment #5 from Greg Von Kuster <ghv2 at psu.edu> ---
Here is the full stack trace of one of the calls I've made to the MorphoLibJ
library available at
http://sites.imagej.net/IJPB-plugins/plugins/MorphoLibJ_-1.0.7.jar-20150323104329.
All of the calls I've tried to this library end with the
java.lang.NullPointerException line shown here. This is slightly different
behavior from the Edge Detection plugin.
$ ImageJ-macosx --ij2 --headless --debug --plugins
/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932/plugins
--jar-path
/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932/plugins
--jython
/Users/gvk/work/ts_install/shed_tools/localhost/repos/iuc/imagej2_fast_morphology/49bc2ac31165/imagej2_fast_morphology/jython_script.py
/var/folders/qm/p6jt97wj4239jx8gdv7jy75m0000gn/T/tmp-imagej-JaTMwv/tmpYAH3Fo.gif
/Users/gvk/Desktop/tmpeowVC0.png png
Available RAM: 10633MB, using 3/4 of that: 7975MB
JRE not found in
'/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932/jre'
JAVA_HOME contains a JRE:
'/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home//jre'
Re-executing with correct library lookup path
(/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932/lib/macosx:/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932/mm/macosx)
Available RAM: 10632MB, using 3/4 of that: 7974MB
JRE not found in
'/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932/jre'
JAVA_HOME contains a JRE:
'/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home//jre'
java
-Djava.ext.dirs=/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932/java/macosx-java3d/Home/lib/ext:/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Home/lib/ext
-Dpython.cachedir.skip=true
-Dplugins.dir=/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932/plugins
-Xmx7974m -Djava.awt.headless=true -Dapple.awt.UIElement=true -Xincgc
-XX:PermSize=128m
-Djava.class.path=/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932/jars/imagej-launcher-3.1.6.jar
-Dimagej.dir=/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932
-Dij.dir=/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932
-Dfiji.dir=/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932
-Dfiji.executable=ImageJ-macosx -Dij.executable=ImageJ-macosx
-Djava.library.path=/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932/lib/macosx:/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932/mm/macosx
-Dij.debug=true -Dscijava.log.level=debug net.imagej.launcher.ClassLauncher
-jarpath
/Users/gvk/work/ts_install/tool_dependency_dir/fiji/20141125/iuc/package_fiji_20141125/a9ee9bebf932/plugins
-classpath /usr/share/java/jython.jar -classpath . -ijjarpath jars -ijjarpath
plugins org.python.util.jython
/Users/gvk/work/ts_install/shed_tools/localhost/repos/iuc/imagej2_fast_morphology/49bc2ac31165/imagej2_fast_morphology/jython_script.py
/var/folders/qm/p6jt97wj4239jx8gdv7jy75m0000gn/T/tmp-imagej-JaTMwv/tmpYAH3Fo.gif
/Users/gvk/Desktop/tmpeowVC0.png png
Using JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home//jre
Work around attempt at MacOSX world domination:
/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home//jre/lib/jli/libjli.dylib
Opening Java library
/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home//jre/lib/server/libjvm.dylib
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m;
support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated
and will likely be removed in a future release
Adding option:
-Djava.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/
ij1.plugin.dirs: null
$HOME/.plugins: /Users/gvk/.plugins does not exist
java.lang.IllegalArgumentException: Cannot handle replace call to list in
ij.Menus's public static synchronized java.lang.String[] getPlugins()
at net.imagej.patcher.CodeHacker.replaceCallInMethod(CodeHacker.java:724)
at net.imagej.patcher.CodeHacker.replaceCallInMethod(CodeHacker.java:649)
at
net.imagej.patcher.LegacyExtensions.addExtraPlugins(LegacyExtensions.java:475)
at
net.imagej.patcher.LegacyExtensions.injectHooks(LegacyExtensions.java:175)
at net.imagej.patcher.LegacyInjector.inject(LegacyInjector.java:308)
at net.imagej.patcher.LegacyInjector.injectHooks(LegacyInjector.java:109)
at
net.imagej.patcher.LegacyEnvironment.initialize(LegacyEnvironment.java:101)
at
net.imagej.patcher.LegacyEnvironment.applyPatches(LegacyEnvironment.java:495)
at net.imagej.patcher.LegacyInjector.preinit(LegacyInjector.java:397)
at net.imagej.patcher.LegacyInjector.preinit(LegacyInjector.java:376)
at fiji.IJ1Patcher.run(IJ1Patcher.java:37)
at net.imagej.launcher.ClassLauncher.patchIJ1(ClassLauncher.java:195)
at net.imagej.launcher.ClassLauncher.run(ClassLauncher.java:154)
at net.imagej.launcher.ClassLauncher.main(ClassLauncher.java:76)
Caused by: java.lang.RuntimeException: java.io.IOException: invalid constant
type: 18 at 168
at javassist.CtClassType.getClassFile2(CtClassType.java:204)
at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:98)
at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:84)
at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:711)
at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:688)
at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:157)
at javassist.compiler.ast.CallExpr.accept(CallExpr.java:46)
at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:242)
at javassist.compiler.CodeGen.atStmnt(CodeGen.java:330)
at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:391)
at javassist.compiler.CodeGen.atStmnt(CodeGen.java:355)
at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
at javassist.compiler.Javac.compileStmnt(Javac.java:569)
at javassist.expr.MethodCall.replace(MethodCall.java:235)
at net.imagej.patcher.CodeHacker$7.edit(CodeHacker.java:685)
at javassist.expr.ExprEditor.loopBody(ExprEditor.java:192)
at javassist.expr.ExprEditor.doit(ExprEditor.java:91)
at javassist.CtBehavior.instrument(CtBehavior.java:679)
at
net.imagej.patcher.CodeHacker$EagerExprEditor.instrument(CodeHacker.java:1278)
at net.imagej.patcher.CodeHacker.replaceCallInMethod(CodeHacker.java:669)
... 13 more
Caused by: java.io.IOException: invalid constant type: 18 at 168
at javassist.bytecode.ConstPool.readOne(ConstPool.java:1044)
at javassist.bytecode.ConstPool.read(ConstPool.java:984)
at javassist.bytecode.ConstPool.<init>(ConstPool.java:125)
at javassist.bytecode.ClassFile.read(ClassFile.java:770)
at javassist.bytecode.ClassFile.<init>(ClassFile.java:114)
at javassist.CtClassType.getClassFile2(CtClassType.java:191)
... 33 more
java.lang.IllegalArgumentException: Cannot modify method: public void run()
at net.imagej.patcher.CodeHacker.insertAtTopOfMethod(CodeHacker.java:167)
at
net.imagej.patcher.LegacyExtensions.injectHooks(LegacyExtensions.java:229)
at net.imagej.patcher.LegacyInjector.inject(LegacyInjector.java:308)
at net.imagej.patcher.LegacyInjector.injectHooks(LegacyInjector.java:109)
at
net.imagej.patcher.LegacyEnvironment.initialize(LegacyEnvironment.java:101)
at
net.imagej.patcher.LegacyEnvironment.applyPatches(LegacyEnvironment.java:495)
at net.imagej.patcher.LegacyInjector.preinit(LegacyInjector.java:397)
at net.imagej.patcher.LegacyInjector.preinit(LegacyInjector.java:376)
at fiji.IJ1Patcher.run(IJ1Patcher.java:37)
at net.imagej.launcher.ClassLauncher.patchIJ1(ClassLauncher.java:195)
at net.imagej.launcher.ClassLauncher.run(ClassLauncher.java:154)
at net.imagej.launcher.ClassLauncher.main(ClassLauncher.java:76)
Caused by: java.lang.IllegalArgumentException: No such class:
JavaScriptEvaluator
at net.imagej.patcher.CodeHacker.getClass(CodeHacker.java:880)
at net.imagej.patcher.CodeHacker.getMethod(CodeHacker.java:906)
at net.imagej.patcher.CodeHacker.getBehavior(CodeHacker.java:896)
at net.imagej.patcher.CodeHacker.insertAtTopOfMethod(CodeHacker.java:158)
... 11 more
Caused by: javassist.NotFoundException: JavaScriptEvaluator
at javassist.ClassPool.get(ClassPool.java:450)
at net.imagej.patcher.CodeHacker.getClass(CodeHacker.java:875)
... 14 more
java.lang.IllegalArgumentException: Cannot handle app name in ij.ImageJ's
public <init>(java.applet.Applet applet, int mode)
at net.imagej.patcher.CodeHacker.replaceAppNameInCall(CodeHacker.java:445)
at
net.imagej.patcher.LegacyExtensions.insertAppNameHooks(LegacyExtensions.java:404)
at
net.imagej.patcher.LegacyExtensions.injectHooks(LegacyExtensions.java:290)
at net.imagej.patcher.LegacyInjector.inject(LegacyInjector.java:308)
at net.imagej.patcher.LegacyInjector.injectHooks(LegacyInjector.java:109)
at
net.imagej.patcher.LegacyEnvironment.initialize(LegacyEnvironment.java:101)
at
net.imagej.patcher.LegacyEnvironment.applyPatches(LegacyEnvironment.java:495)
at net.imagej.patcher.LegacyInjector.preinit(LegacyInjector.java:397)
at net.imagej.patcher.LegacyInjector.preinit(LegacyInjector.java:376)
at fiji.IJ1Patcher.run(IJ1Patcher.java:37)
at net.imagej.launcher.ClassLauncher.patchIJ1(ClassLauncher.java:195)
at net.imagej.launcher.ClassLauncher.run(ClassLauncher.java:154)
at net.imagej.launcher.ClassLauncher.main(ClassLauncher.java:76)
Caused by: java.lang.RuntimeException: java.io.IOException: invalid constant
type: 18 at 1
at javassist.CtClassType.getClassFile2(CtClassType.java:204)
at javassist.CtClassType.subtypeOf(CtClassType.java:304)
at javassist.CtClassType.subtypeOf(CtClassType.java:319)
at
javassist.compiler.MemberResolver.compareSignature(MemberResolver.java:235)
at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:107)
at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:84)
at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:711)
at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:688)
at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:157)
at javassist.compiler.ast.CallExpr.accept(CallExpr.java:46)
at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:242)
at javassist.compiler.CodeGen.atStmnt(CodeGen.java:330)
at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
at javassist.compiler.Javac.compileStmnt(Javac.java:569)
at javassist.expr.MethodCall.replace(MethodCall.java:235)
at net.imagej.patcher.CodeHacker$4.edit(CodeHacker.java:426)
at net.imagej.patcher.CodeHacker$4.edit(CodeHacker.java:440)
at javassist.expr.ExprEditor.loopBody(ExprEditor.java:220)
at javassist.expr.ExprEditor.doit(ExprEditor.java:91)
at javassist.CtBehavior.instrument(CtBehavior.java:679)
at
net.imagej.patcher.CodeHacker$EagerExprEditor.instrument(CodeHacker.java:1278)
at net.imagej.patcher.CodeHacker.replaceAppNameInCall(CodeHacker.java:401)
... 12 more
Caused by: java.io.IOException: invalid constant type: 18 at 1
at javassist.bytecode.ConstPool.readOne(ConstPool.java:1044)
at javassist.bytecode.ConstPool.read(ConstPool.java:984)
at javassist.bytecode.ConstPool.<init>(ConstPool.java:125)
at javassist.bytecode.ClassFile.read(ClassFile.java:770)
at javassist.bytecode.ClassFile.<init>(ClassFile.java:114)
at javassist.CtClassType.getClassFile2(CtClassType.java:191)
... 33 more
Launching main class org.python.util.jython with parameters
[/Users/gvk/work/ts_install/shed_tools/localhost/repos/iuc/imagej2_fast_morphology/49bc2ac31165/imagej2_fast_morphology/jython_script.py,
/var/folders/qm/p6jt97wj4239jx8gdv7jy75m0000gn/T/tmp-imagej-JaTMwv/tmpYAH3Fo.gif,
/Users/gvk/Desktop/tmpeowVC0.png, png]
Class loader = sun.misc.Launcher$AppClassLoader at c387f44
java.lang.NullPointerException
at
net.imagej.patcher.EssentialLegacyHooks.missingSubdirectories(EssentialLegacyHooks.java:164)
at
net.imagej.patcher.EssentialLegacyHooks.missingSubdirectories(EssentialLegacyHooks.java:167)
at
net.imagej.patcher.EssentialLegacyHooks.missingSubdirectories(EssentialLegacyHooks.java:167)
at
net.imagej.patcher.EssentialLegacyHooks.missingSubdirectories(EssentialLegacyHooks.java:167)
at
net.imagej.patcher.EssentialLegacyHooks.missingSubdirs(EssentialLegacyHooks.java:146)
at ij.IJ.getClassLoader(IJ.java)
at ij.io.Opener.<clinit>(Opener.java:55)
at ij.IJ.openImage(IJ.java:1609)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at
org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186)
at
org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:204)
at org.python.core.PyObject.__call__(PyObject.java:387)
at org.python.core.PyObject.__call__(PyObject.java:391)
at
org.python.pycode._pyx0.f$0(/Users/gvk/work/ts_install/shed_tools/localhost/repos/iuc/imagej2_fast_morphology/49bc2ac31165/imagej2_fast_morphology/jython_script.py:28)
at
org.python.pycode._pyx0.call_function(/Users/gvk/work/ts_install/shed_tools/localhost/repos/iuc/imagej2_fast_morphology/49bc2ac31165/imagej2_fast_morphology/jython_script.py)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1275)
at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:235)
at org.python.util.jython.run(jython.java:247)
at org.python.util.jython.main(jython.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
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)
java.lang.NullPointerException
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://imagej.net/pipermail/imagej-bugs/attachments/20150708/fcc7c0ab/attachment-0001.html>
More information about the Imagej-bugs
mailing list