Issue931129

classification
Title: jython -jar some-path/test.jar fails
Type: Severity: normal
Components: None Versions:
Milestone:
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: carlkl, cgroves
Priority: low Keywords:

Created on 2004-04-07.15:27:11 by carlkl, last changed 2007-07-07.23:06:23 by cgroves.

Messages
msg899 (view) Author: carlkl (carlkl) Date: 2004-04-07.15:27:11
Hello developers,

running a python (__run__.py) script 
from  within a jar archive with:

  jython -jar prog.jar

fails if prog.jar is located outside
the working folder AND the path 
contains special characters AND 
__run__.py contains code like the
testcase above:

Here is a simple testcase:

# __run__.py  begin --
from java.lang import Thread
class PythonThread(Thread): pass
# __run__.py   end  -- 

Calling:

  jython -jar folder/prog.jar

will work, whereas

  jython -jar folder-2/prog.jar

fails with:

Exception in thread "main" Traceback (innermost last):
  File "__run__", line 8, in ?
java.lang.ClassFormatError: 
  org/python/proxies/folder-2/jycon/jar$PythonThread$0 
  (Illegal Class name 
   "org/python/proxies/folder-
2/jycon/jar$PythonThread$0")
        at java.lang.ClassLoader.defineClass0(Native 
Method)
        at java.lang.ClassLoader.defineClass
(ClassLoader.java:502)
        at 
org.python.core.BytecodeLoader2.loadClassFromBytes
(Unknown Source)
        at org.python.core.BytecodeLoader.makeClass
(Unknown Source)
        at org.python.core.MakeProxies.makeClass
(Unknown Source)
        at org.python.core.MakeProxies.makeProxy
(Unknown Source)
        at org.python.core.PyClass.init(Unknown Source)
        at org.python.core.PyClass.<init>(Unknown Source)
        at org.python.core.Py.makeClass(Unknown Source)
        at org.python.core.Py.makeClass(Unknown Source)
        at org.python.pycode._pyx0.f$0(__run__:8)
        at org.python.pycode._pyx0.call_function(__run__)
        at org.python.core.PyTableCode.call(Unknown 
Source)
        at org.python.core.PyCode.call(Unknown Source)
        at org.python.core.Py.runCode(Unknown Source)
        at org.python.util.jython.runJar(Unknown Source)
        at org.python.util.jython.main(Unknown Source)

java.lang.ClassFormatError: 
  java.lang.ClassFormatError: 
  org/python/proxies/folder-2/jycon/jar$PythonThread$0 
  (Illegal Class name 
   "org/python/proxies/folder-
2/jycon/jar$PythonThread$0")

msg900 (view) Author: Charlie Groves (cgroves) Date: 2007-07-07.23:06:23
Fixed in r3283 which will be in 2.2rc2.
History
Date User Action Args
2004-04-07 15:27:11carlklcreate