Message136
I think the compiler used when compile the classes in jpython.jar
generated illegal bytecodes for __builtin__.java.
Decompiling the classfile with:
javap -classpath jpython.jar -c org.python.core.__builtin__ > out.log
stops in midclass with an error:
Error: No binary file 'PyObject;'
Running the class cause the problem detected by dsyer.
JPython 1.1 on java1.3.0rc1 (JIT: null)
Copyright (C) 1997-1999 Corporation for National Research Initiatives
>>> map(None,[0],[0])
Traceback (innermost last):
File "<console>", line 1, in ?
java.lang.IllegalAccessError: try to access method [Lorg.python.core.PyObject;.c
lone()Ljava/lang/Object; from class org.python.core.__builtin__
Recompiling the class with javac or jikes 1.06 solves the problem.
(I recall a problem with earlier (jan-99) versions of jikes where a
methodcall-cast-clone combination caused problems in the generated bytecode.
System.out.println((Integer[])arr.clone());
Rewriting the line to:
Integer[] a = (Integer[])arr.clone();
System.out.println(a);
did not trigger the bug in jikes. Upgrading to a later jikes version
also helped)
|
|
| Date |
User |
Action |
Args |
| 2008-02-20 17:16:42 | admin | link | issue222845 messages |
| 2008-02-20 17:16:42 | admin | create | |
|