You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by bu...@apache.org on 2004/02/27 03:02:29 UTC

DO NOT REPLY [Bug 27278] New: - class file generated by xsltc is too large to run: java.lang.ClassFormatError

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=27278>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=27278

class file generated by xsltc is too large to run: java.lang.ClassFormatError

           Summary: class file generated by xsltc is too large to run:
                    java.lang.ClassFormatError
           Product: XalanJ2
           Version: 2.5
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: Blocker
          Priority: Other
         Component: org.apache.xalan.xsltc
        AssignedTo: xalan-dev@xml.apache.org
        ReportedBy: dan_holman@netrefresh.com


There is a master stylesheet that imports other stylesheets and they in turn 
import others and so on for a total of 390 xsl files (there are a large number 
of stylesheets partially because some of the files are duplicated for multiple 
language outputs). Using XSLTC from the command line, a single class file is 
generated without error or warning. It has a size of 1.76 MB.

SHELL SCRIPT USED TO COMPILE:
classpath=lib/xalan.jar:lib/xercesImpl.jar:lib/xml-apis.jar
java -Xmx250MB -classpath $classpath org.apache.xalan.xsltc.cmdline.Compile -x 
xsl/html_master.xsl

However, it won't transform from the command line.

SHELL SCRIPT USED TO TRANSFORM:
classpath=lib/xalan.jar:lib/xercesImpl.jar:lib/xml-apis.jar:class
java -classpath $classpath org.apache.xalan.xsltc.cmdline.Transform $1 
html_master

The following error occurs:

Exception in thread "main" java.lang.ClassFormatError: html_master (Code of a 
method longer than 65535 bytes)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:246)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:207)
    at org.apache.xalan.xsltc.runtime.TransletLoader.loadTranslet
(TransletLoader.java:120)
    at org.apache.xalan.xsltc.cmdline.Transform.loadTranslet(Transform.java:152)
    at org.apache.xalan.xsltc.cmdline.Transform.doTransform(Transform.java:158)
    at org.apache.xalan.xsltc.cmdline.Transform.main(Transform.java:370)

I could send the xsl file bundle upon request. dan_holman@netrefresh.com