Issue2606

classification
Title: jython launch problem sun.misc.InvalidJarIndexException
Type: behaviour Severity: normal
Components: None Versions: Jython 2.7
Milestone:
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: jeff.allen, rafpar
Priority: Keywords:

Created on 2017-07-17.13:06:09 by rafpar, last changed 2018-03-10.23:00:32 by jeff.allen.

Messages
msg11476 (view) Author: rafpar (rafpar) Date: 2017-07-17.13:06:07
I am facing problem with invoking jython.exe. I have installed Java 8 and jython 2.7.0. Installation went successful. 

I can start jython with a command:
java -jar jython.jar 

but when I want to launch jython.exe in ..bin/java.exe I got following exception:

Exception in thread "main" Traceback (most recent call last):
  File "C:\jython2.7.0\Lib\site.py", line 585, in <module>
    main()
  File "C:\jython2.7.0\Lib\site.py", line 560, in main
    abs__file__()
  File "C:\jython2.7.0\Lib\site.py", line 112, in abs__file__
    if hasattr(m, '__loader__') or (
sun.misc.InvalidJarIndexException: Invalid index
        at sun.misc.URLClassPath$JarLoader.getResource(Unknown Source)
        at sun.misc.URLClassPath$JarLoader.getResource(Unknown Source)
        at sun.misc.URLClassPath.getResource(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at org.python.core.Py.loadAndInitClass(Py.java:991)
        at org.python.core.Py.findClassInternal(Py.java:926)
        at org.python.core.Py.findClassEx(Py.java:977)
        at org.python.core.packagecache.SysPackageManager.findClass(SysPackageMa
        at org.python.core.packagecache.PackageManager.findClass(PackageManager.
        at org.python.core.packagecache.SysPackageManager.findClass(SysPackageMa
        at org.python.core.PyJavaPackage.__findattr_ex__(PyJavaPackage.java:134)
        at org.python.core.PyObject.__findattr__(PyObject.java:946)
        at org.python.core.__builtin__.hasattr(__builtin__.java:661)
        at org.python.core.BuiltinFunctions.__call__(__builtin__.java:151)
        at org.python.core.PyObject.__call__(PyObject.java:482)
        at site$py.abs__file__$2(C:\jython2.7.0\Lib\site.py:111)
        at site$py.call_function(C:\jython2.7.0\Lib\site.py)
        at org.python.core.PyTableCode.call(PyTableCode.java:167)
        at org.python.core.PyBaseCode.call(PyBaseCode.java:124)
        at org.python.core.PyFunction.__call__(PyFunction.java:403)
        at site$py.main$34(C:\jython2.7.0\Lib\site.py:583)
        at site$py.call_function(C:\jython2.7.0\Lib\site.py)
        at org.python.core.PyTableCode.call(PyTableCode.java:167)
        at org.python.core.PyBaseCode.call(PyBaseCode.java:124)
        at org.python.core.PyFunction.__call__(PyFunction.java:403)
        at site$py.f$0(C:\jython2.7.0\Lib\site.py:637)
        at site$py.call_function(C:\jython2.7.0\Lib\site.py)
        at org.python.core.PyTableCode.call(PyTableCode.java:167)
        at org.python.core.PyCode.call(PyCode.java:18)
        at org.python.core.imp.createFromCode(imp.java:436)
        at org.python.core.imp.createFromPyClass(imp.java:236)
        at org.python.core.imp.createFromPyClass(imp.java:205)
        at org.python.core.imp.loadFromSource(imp.java:651)
        at org.python.core.imp.find_module(imp.java:543)
        at org.python.core.imp.import_next(imp.java:840)
        at org.python.core.imp.import_first(imp.java:861)
        at org.python.core.imp.load(imp.java:716)
        at org.python.core.Py.importSiteIfSelected(Py.java:1558)
        at org.python.util.PythonInterpreter.<init>(PythonInterpreter.java:116)
        at org.python.util.PythonInterpreter.<init>(PythonInterpreter.java:94)
        at org.python.util.InteractiveInterpreter.<init>(InteractiveInterpreter.
        at org.python.util.InteractiveInterpreter.<init>(InteractiveInterpreter.
        at org.python.util.InteractiveConsole.<init>(InteractiveConsole.java:68)
        at org.python.util.InteractiveConsole.<init>(InteractiveConsole.java:54)
        at org.python.util.InteractiveConsole.<init>(InteractiveConsole.java:34)
        at org.python.util.jython.run(jython.java:284)
        at org.python.util.jython.main(jython.java:142)

sun.misc.InvalidJarIndexException: sun.misc.InvalidJarIndexException: Invalid index


my path set is:

jython.exe --print

"C:\Program Files\Java\jdk1.8.0_91\bin\java" -Xmx512m -Xss1024k -classpath C:\jython2.7.0\jython.jar;C:\PROGRA~1\Java\JDK18~1.0_9\lib\tools.jar;C:\Users\m015990\Utils\WebLogic\wls12210\wlserver\modules\features\wlst.wls.classpath.jar;C:\Users\m015990\Utils\WebLogic\wls12210\wlserver\server\lib\weblogic.jar -Dpython.home=C:\jython2.7.0 -Dpython.executable=C:\jython2.7.0\bin\jython.exe -Dpython.launcher.uname=windows -Dpython.launcher.tty=true org.python.util.jython


Any ideas??
msg11777 (view) Author: Jeff Allen (jeff.allen) Date: 2018-03-10.23:00:31
Looks like nobody had any ideas ... :) This is probably too late as a reply.

I notice that the java home directory (leading to tools.jar) has a windows 8.3 form. If at the point of the error Jython is going for a file in that path, it might be unable to cope with the 8.3 name as part of (say) a URL.

This is probably from an environment variable, but if not, it may be happening in the launcher. We've made several adjustments to jython.exe, so a later Jython may do better.

Or he cause may be entirely different.
History
Date User Action Args
2018-03-10 23:00:32jeff.allensetnosy: + jeff.allen
messages: + msg11777
2017-07-17 13:06:09rafparcreate