DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=39089>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=39089 Summary: java.lang.InternalError: name is too long to represent Product: Tomcat 5 Version: 5.5.0 Platform: PC OS/Version: Windows XP Status: NEW Keywords: JDK1.5 Severity: critical Priority: P2 Component: Jasper AssignedTo: tomcat-dev@jakarta.apache.org ReportedBy: [EMAIL PROTECTED] Environment: Tomcat 5.5 running embedded in JBoss 4.0.3SP1 JVM: java version "1.5.0_06" JVM args: -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n -Dprogram.name=run.bat-Xms128m -Xmx512m -XX:MaxPermSize=256m When using the JDT compiler to compile JSPs on-the-fly, a very large JSP throws the following exception: java.lang.InternalError: name is too long to represent [full stack at end of bug] This seems to be related to the follow JVM bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6294277 but this only occurs if the JDT compiler is in use. Precompiling the same JSP from an external ANT script using (1.5) javac does not cause the problem. The ANT compiled JSP's class file is 914KB while the JDT version is 1016 KB. The original java src files are 3130 KB (52701 lines) for the ANT version and 3223 (56750 lines) for the JDT version. The number of lines of source seems to be a factor here, if I turn on the trimSpaces flag for jasper, the number of lines of in the src file drops and the JSP starts to work again. As a test, I took the .java file from the container, compiled it using javac outside the container and deployed it - it worked fine. I've posted the original JSP and both versions of the .java and .class files to: http://www.3ptsoft.com/bug/jasper-bug.zip My suspicion is that JDT is stuffing too much debug data into the class file (see above bug reference) - perhaps there is a way to control the behaviour of the JDT compiler to prevent this until Sun resolves their side of the issue? Workaround: precompile the JSPs outside of Tomcat: <target name="jspc" description="compiles JSPs" if="compile.jsps" > <!-- Precompile JSPs --> <taskdef classname="org.apache.jasper.JspC" name="jasper2" > <classpath refid="build.classpath" /> </taskdef> <jasper2 compilertargetvm="1.5" compilersourcevm="1.5" classdebuginfo="true" listErrors="true" verbose="3" validateXml="false" uriroot="${output.dir}/web" webXmlFragment="${output.dir}/web/WEB-INF/generated_web.xml" outputDir="${output.dir}/web/WEB-INF/src"> </jasper2> <!-- Insert the generated paths --> <loadfile property="web.xml" srcFile="${output.dir}/web/WEB-INF/generated_web.xml"/> <replace file="${output.dir}/web/WEB-INF/web.xml" value="${web.xml}"> <replacetoken><![CDATA[<!-- @jasper-paths@ -->]]></replacetoken> </replace> <javac source="1.5" optimize="off" destdir="${output.dir}/web/WEB-INF/classes" deprecation="${javac.deprecation}" nowarn="${compile.nowarn}" debug="${compile.debug}" debuglevel="lines,vars,source" compiler="${javac.compiler}" executable="${javac.path}"> <src path="${output.dir}/web/WEB-INF/src" /> <classpath refid="build.classpath" /> </javac> </target> stack trace thrown: 12:51:49,296 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/TestAdmin].[jsp]] - Servlet.service() for servlet jsp threw exception java.lang.InternalError: name is too long to represent at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:158) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:71) at org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:589) at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:137) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:416) at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:372) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.tps.framework.servlet.NDCFilter.doFilter(NDCFilter.java:58) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.tps.framework.servlet.HibernateFilter.doFilter(HibernateFilter.java:48) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.tps.framework.servlet.HivemindFilter.doFilter(HivemindFilter.java:55) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:124) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Thread.java:595) -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]