Message4109

Author rvalyi
Recipients ericmoore, kevinbutler, leouserz, p2sam, rvalyi
Date 2009-01-29.23:23:56
SpamBayes Score 3.76676e-12
Marked as misclassified No
Message-id <1233271440.99.0.225474448786.issue527524@psf.upfronthosting.co.za>
In-reply-to
Content
This bug seems to be still there by 2009.
This is a blocker preventing to load the best oss ERP - OpenERP - on
Jython cause it uses the reportlab reporting engine and reportlab sets
up large table of char sequences when loading.
Included is the file causing the problem for me. I could verify that
this problem is caused by large lists too.
Indeed, I trimmed all the datastructures intinialized in the _fondata.py
and then it loaded (not attached ws just a test).

The command leading to a crash (either from command line or in OpenERP) is:

from reportlab.platypus import SimpleDocTemplate

of course to try this you should put the reportlab package in your path,
either the last 2.2 release, either trunk from here:
http://www.reportlab.org/downloads.html

The the shown command will result in that stack trace:

>>> from reportlab.platypus import SimpleDocTemplate
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File
"/home/rvalyi/DEV/jython/dist/Lib/reportlab/platypus/__init__.py", line
10, in <module>
    from reportlab.platypus.paragraph import Paragraph,
cleanBlockQuotedText, ParaLines
  File
"/home/rvalyi/DEV/jython/dist/Lib/reportlab/platypus/paragraph.py", line
9, in <module>
    from reportlab.pdfbase.pdfmetrics import stringWidth, getFont,
getAscentDescent
  File
"/home/rvalyi/DEV/jython/dist/Lib/reportlab/pdfbase/pdfmetrics.py", line
23, in <module>
    from reportlab.pdfbase import _fontdata
java.lang.ClassFormatError: Invalid method Code length 66082 in class
file reportlab/pdfbase/_fontdata$py
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:642)
	at
org.python.core.BytecodeLoader$Loader.loadClassFromBytes(BytecodeLoader.java:116)
	at org.python.core.BytecodeLoader.makeClass(BytecodeLoader.java:35)
	at org.python.core.BytecodeLoader.makeCode(BytecodeLoader.java:65)
	at org.python.core.imp.createFromSource(imp.java:231)
	at org.python.core.imp.loadFromSource(imp.java:448)
	at org.python.core.imp.find_module(imp.java:354)
	at org.python.core.PyModule.impAttr(PyModule.java:109)
	at org.python.core.imp.import_next(imp.java:554)
	at org.python.core.imp.import_name(imp.java:682)
	at org.python.core.imp.importName(imp.java:712)
	at org.python.core.ImportFunction.__call__(__builtin__.java:1265)
	at org.python.core.PyObject.__call__(PyObject.java:337)
	at org.python.core.__builtin__.__import__(__builtin__.java:1236)
	at org.python.core.imp.importFromAs(imp.java:788)
	at org.python.core.imp.importFrom(imp.java:765)
	at
reportlab.pdfbase.pdfmetrics$py.f$0(/home/rvalyi/DEV/jython/dist/Lib/reportlab/pdfbase/pdfmetrics.py:822)
	at
reportlab.pdfbase.pdfmetrics$py.call_function(/home/rvalyi/DEV/jython/dist/Lib/reportlab/pdfbase/pdfmetrics.py)
	at org.python.core.PyTableCode.call(PyTableCode.java:199)
	at org.python.core.PyCode.call(PyCode.java:14)
	at org.python.core.imp.createFromCode(imp.java:269)
	at org.python.core.imp.createFromPyClass(imp.java:117)
	at org.python.core.imp.loadFromSource(imp.java:441)
	at org.python.core.imp.find_module(imp.java:354)
	at org.python.core.PyModule.impAttr(PyModule.java:109)
	at org.python.core.imp.import_next(imp.java:554)
	at org.python.core.imp.import_logic(imp.java:611)
	at org.python.core.imp.import_name(imp.java:667)
	at org.python.core.imp.importName(imp.java:712)
	at org.python.core.ImportFunction.__call__(__builtin__.java:1265)
	at org.python.core.PyObject.__call__(PyObject.java:337)
	at org.python.core.__builtin__.__import__(__builtin__.java:1236)
	at org.python.core.imp.importFromAs(imp.java:788)
	at org.python.core.imp.importFrom(imp.java:765)
	at
reportlab.platypus.paragraph$py.f$0(/home/rvalyi/DEV/jython/dist/Lib/reportlab/platypus/paragraph.py:1626)
	at
reportlab.platypus.paragraph$py.call_function(/home/rvalyi/DEV/jython/dist/Lib/reportlab/platypus/paragraph.py)
	at org.python.core.PyTableCode.call(PyTableCode.java:199)
	at org.python.core.PyCode.call(PyCode.java:14)
	at org.python.core.imp.createFromCode(imp.java:269)
	at org.python.core.imp.createFromPyClass(imp.java:117)
	at org.python.core.imp.loadFromSource(imp.java:441)
	at org.python.core.imp.find_module(imp.java:354)
	at org.python.core.PyModule.impAttr(PyModule.java:109)
	at org.python.core.imp.import_next(imp.java:554)
	at org.python.core.imp.import_logic(imp.java:611)
	at org.python.core.imp.import_name(imp.java:667)
	at org.python.core.imp.importName(imp.java:712)
	at org.python.core.ImportFunction.__call__(__builtin__.java:1265)
	at org.python.core.PyObject.__call__(PyObject.java:337)
	at org.python.core.__builtin__.__import__(__builtin__.java:1236)
	at org.python.core.imp.importFromAs(imp.java:788)
	at org.python.core.imp.importFrom(imp.java:765)
	at
reportlab.platypus$py.f$0(/home/rvalyi/DEV/jython/dist/Lib/reportlab/platypus/__init__.py:16)
	at
reportlab.platypus$py.call_function(/home/rvalyi/DEV/jython/dist/Lib/reportlab/platypus/__init__.py)
	at org.python.core.PyTableCode.call(PyTableCode.java:199)
	at org.python.core.PyCode.call(PyCode.java:14)
	at org.python.core.imp.createFromCode(imp.java:269)
	at org.python.core.imp.createFromPyClass(imp.java:117)
	at org.python.core.imp.loadFromSource(imp.java:441)
	at org.python.core.imp.find_module(imp.java:354)
	at org.python.core.PyModule.impAttr(PyModule.java:109)
	at org.python.core.imp.import_next(imp.java:554)
	at org.python.core.imp.import_logic(imp.java:611)
	at org.python.core.imp.import_name(imp.java:667)
	at org.python.core.imp.importName(imp.java:712)
	at org.python.core.ImportFunction.__call__(__builtin__.java:1265)
	at org.python.core.PyObject.__call__(PyObject.java:337)
	at org.python.core.__builtin__.__import__(__builtin__.java:1236)
	at org.python.core.imp.importFromAs(imp.java:788)
	at org.python.core.imp.importFrom(imp.java:765)
	at org.python.pycode._pyx23.f$0(<stdin>:1)
	at org.python.pycode._pyx23.call_function(<stdin>)
	at org.python.core.PyTableCode.call(PyTableCode.java:199)
	at org.python.core.PyCode.call(PyCode.java:14)
	at org.python.core.Py.runCode(Py.java:1206)
	at org.python.core.Py.exec(Py.java:1237)
	at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:133)
	at
org.python.util.InteractiveInterpreter.runcode(InteractiveInterpreter.java:90)
	at
org.python.util.InteractiveInterpreter.runsource(InteractiveInterpreter.java:71)
	at
org.python.util.InteractiveInterpreter.runsource(InteractiveInterpreter.java:46)
	at org.python.util.InteractiveConsole.push(InteractiveConsole.java:110)
	at org.python.util.InteractiveConsole.interact(InteractiveConsole.java:90)
	at org.python.util.jython.run(jython.java:293)
	at org.python.util.jython.main(jython.java:113)

java.lang.ClassFormatError: java.lang.ClassFormatError: Invalid method
Code length 66082 in class file reportlab/pdfbase/_fontdata$py
>>> 


Hope this helps.

Guys this is really an annoying bug for us, I see no workaround, so if
you could fix it, that would just help having a super great oss ERP on
the Java platform.

Raphaƫl Valyi.
History
Date User Action Args
2009-01-29 23:24:00rvalyisetmessageid: <1233271440.99.0.225474448786.issue527524@psf.upfronthosting.co.za>
2009-01-29 23:24:00rvalyisetrecipients: + rvalyi, leouserz, kevinbutler, p2sam, ericmoore
2009-01-29 23:24:00rvalyilinkissue527524 messages
2009-01-29 23:24:00rvalyicreate