[jython] Problem with an huge dictionary

keobox keobox at gmail.com
Mon May 17 11:09:59 EDT 2010


Hi,
I apologize if this is not the right group for posting question
related to jython.
Please give me the right directions if this is the case.

The question is:
Is there a limit on the number of entries a dictionary can have i
jython?

I wrote a little app where my data is stored in a huge dictionary
(11746 entries) generated with a python script.
When I try to import the dictionary, jython complains with the
following message:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\ceplacan\My Documents\Documents\Source\source
\Python\j
moco-test>jython
Jython 2.5.1 (Release_2_5_1:6813, Sep 26 2009, 13:47:54)
[Java HotSpot(TM) Client VM (Sun Microsystems Inc.)] on java1.5.0_13
Type "help", "copyright", "credits" or "license" for more information.
>>> import jmoco_event_data
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
java.lang.ClassFormatError: Invalid this class index 3241 in constant
pool in cl
ass file _1076
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at org.python.core.BytecodeLoader
$Loader.loadClassFromBytes(BytecodeLoad
er.java:119)
        at
org.python.core.BytecodeLoader.makeClass(BytecodeLoader.java:37)
        at org.python.core.BytecodeLoader.makeCode(BytecodeLoader.java:
67)
        at org.python.core.imp.createFromSource(imp.java:288)
        at org.python.core.imp.loadFromSource(imp.java:514)
        at org.python.core.imp.find_module(imp.java:411)
        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.__builtin__.__import__(__builtin__.java:
1185)
        at org.python.core.imp.importOne(imp.java:817)
        at org.python.pycode._pyx1.f$0(<stdin>:1)
        at org.python.pycode._pyx1.call_function(<stdin>)
        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.Py.exec(Py.java:1248)
        at
org.python.util.PythonInterpreter.exec(PythonInterpreter.java:181)
        at
org.python.util.InteractiveInterpreter.runcode(InteractiveInterpreter
.java:89)
        at
org.python.util.InteractiveInterpreter.runsource(InteractiveInterpret
er.java:70)
        at
org.python.util.InteractiveInterpreter.runsource(InteractiveInterpret
er.java:46)
        at
org.python.util.InteractiveConsole.push(InteractiveConsole.java:110)
        at
org.python.util.InteractiveConsole.interact(InteractiveConsole.java:9
0)
        at org.python.util.jython.run(jython.java:316)
        at org.python.util.jython.main(jython.java:129)

java.lang.ClassFormatError: java.lang.ClassFormatError: Invalid this
class index
 3241 in constant pool in class file _1076

What can I do to avoid this?

Regards,
Cesare



More information about the Python-list mailing list