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 286 - python interpreter cannot import ij.jar classes at startup in MacOSX
python interpreter cannot import ij.jar classes at startup in MacOSX
Status: RESOLVED FIXED
Product: Fiji
Classification: Unclassified
Component: Other
unspecified
PC Mac OS
: P2 major
Assigned To: Albert Cardona
Depends on:
Blocks:
 
Reported: 2011-02-14 23:36 CST by Albert Cardona
Modified: 2011-04-27 17:39 CDT
2 users (show)

See Also:

Description Albert Cardona 2011-02-14 23:36:54 CST
Running a python script in MacOSX results in the error pasted below.
The line in question is the line at Jython_Interpreter.java:116 that I changed recently and that allows for the PythonInterpreter to return the value of the evaluated code. Apparently that doesn't work in a MacOSX.

org.python.core.PyException: null
	 at org.python.core.PyException.fillInStackTrace(PyException.java:70)
	 at java.lang.Throwable.<init>(Throwable.java:181)
	 at java.lang.Exception.<init>(Exception.java:29)
	 at java.lang.RuntimeException.<init>(RuntimeException.java:32)
	 at org.python.core.PyException.<init>(PyException.java:46)
	 at org.python.core.PyException.<init>(PyException.java:43)
	 at org.python.core.Py.JavaError(Py.java:455)
	 at org.python.core.Py.findClassEx(Py.java:836)
	 at org.python.core.packagecache.SysPackageManager.findClass(SysPackageManager.java:133)
	 at org.python.core.packagecache.PackageManager.findClass(PackageManager.java:28)
	 at org.python.core.packagecache.SysPackageManager.findClass(SysPackageManager.java:122)
	 at org.python.core.PyJavaPackage.__findattr_ex__(PyJavaPackage.java:137)
	 at org.python.core.PyObject.__findattr__(PyObject.java:869)
	 at org.python.core.packagecache.PackageManager.lookupName(PackageManager.java:136)
	 at org.python.core.JavaImporter.find_module(JavaImporter.java:39)
	 at org.python.core.JavaImporter.find_module(JavaImporter.java:25)
	 at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
	 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 org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:175)
	 at org.python.core.PyObject.__call__(PyObject.java:355)
	 at org.python.core.PyMethod.__call__(PyMethod.java:215)
	 at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:221)
	 at org.python.core.PyMethod.__call__(PyMethod.java:206)
	 at org.python.core.PyObject.__call__(PyObject.java:367)
	 at org.python.core.imp.find_module(imp.java:405)
	 at org.python.core.imp.import_next(imp.java:635)
	 at org.python.core.imp.import_name(imp.java:746)
	 at org.python.core.imp.importName(imp.java:806)
	 at org.python.core.ImportFunction.__call__(__builtin__.java:1232)
	 at org.python.core.PyObject.__call__(PyObject.java:367)
	 at org.python.core.__builtin__.__import__(__builtin__.java:1202)
	 at org.python.core.imp.importFromAs(imp.java:884)
	 at org.python.core.imp.importFrom(imp.java:860)
	 at org.python.pycode._pyx0.f$0(<string>:37)
	 at org.python.pycode._pyx0.call_function(<string>:-1)
	 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:1204)
	 at org.python.core.__builtin__.eval(__builtin__.java:504)
	 at org.python.util.PythonInterpreter.eval(PythonInterpreter.java:164)
	 at Jython.Jython_Interpreter.eval(Jython_Interpreter.java:116)
	 at common.AbstractInterpreter.importAll(AbstractInterpreter.java:962)
	 at Jython.Refresh_Jython_Scripts.runScript(Refresh_Jython_Scripts.java:71)
	 at common.RefreshScripts.runScript(RefreshScripts.java:307)
	 at fiji.scripting.TextEditor$Tab$6.execute(TextEditor.java:1194)
	 at fiji.scripting.TextEditor$Executer$1.run(TextEditor.java:1753)
Traceback (most recent call last):
  File "<iostream>", line 4, in <module>
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at fiji.FijiClassLoader.loadClass(FijiClassLoader.java:140)
	at fiji.FijiClassLoader.loadClass(FijiClassLoader.java:132)
	at fiji.FijiClassLoader.loadClass(FijiClassLoader.java:127)
	at org.python.core.Py.findClassEx(Py.java:804)
	at org.python.core.packagecache.SysPackageManager.findClass(SysPackageManager.java:133)
	at org.python.core.packagecache.PackageManager.findClass(PackageManager.java:28)
	at org.python.core.packagecache.SysPackageManager.findClass(SysPackageManager.java:122)
	at org.python.core.PyJavaPackage.__findattr_ex__(PyJavaPackage.java:137)
	at org.python.core.PyObject.__findattr__(PyObject.java:869)
	at org.python.core.packagecache.PackageManager.lookupName(PackageManager.java:136)
	at org.python.core.JavaImporter.find_module(JavaImporter.java:39)
	at org.python.core.JavaImporter.find_module(JavaImporter.java:25)
	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)

java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: ij (wrong name: ij/IJ)
Comment 1 Johannes Schindelin 2011-03-23 15:11:43 CDT
That's fixed now, correct?
Comment 2 Johannes Schindelin 2011-04-27 17:39:16 CDT
I assume that's a "yes".