[jboss-jira] [JBoss JIRA] (WFLY-4406) Undertow which uses ECJ 4.4.1 Compiler crash with ArrayIndexOutOfBoundsException when there is unused double or long

Radim Hatlapatka (JIRA) issues at jboss.org
Thu Mar 5 05:24:49 EST 2015


Radim Hatlapatka created WFLY-4406:
--------------------------------------

             Summary: Undertow which uses ECJ 4.4.1 Compiler crash with ArrayIndexOutOfBoundsException when there is unused double or long
                 Key: WFLY-4406
                 URL: https://issues.jboss.org/browse/WFLY-4406
             Project: WildFly
          Issue Type: Bug
          Components: Web (Undertow)
            Reporter: Radim Hatlapatka
            Assignee: Stuart Douglas


ECJ compiler crashes with ArrayIndexOutOfBoundsException when it contains unused long or double, for details see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=448112]. 

Note: this issue is fixed in ECJ 4.4.2.

The error log:
{noformat}
11:19:49,861 ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /jsp-cast-to-double-test/cast-to-double.jsp: org.apache.jasper.JasperException: JBWEB004001: Unable to compile class for JSP
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:616)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:309)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86)
	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
	at io.undertow.jsp.JspFileHandler.handleRequest(JspFileHandler.java:32)
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
	at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
	at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261)
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:247)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:76)
	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:166)
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:769)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
	at org.eclipse.jdt.internal.compiler.codegen.StackMapFrame.addStackItem(StackMapFrame.java:92)
	at org.eclipse.jdt.internal.compiler.ClassFile.traverse(ClassFile.java:5546)
	at org.eclipse.jdt.internal.compiler.ClassFile.generateStackMapTableAttribute(ClassFile.java:4305)
	at org.eclipse.jdt.internal.compiler.ClassFile.completeCodeAttribute(ClassFile.java:1380)
	at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:338)
	at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:270)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:566)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:635)
	at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode(CompilationUnitDeclaration.java:368)
	at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:781)
	at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:470)
	at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:449)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:361)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:339)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:326)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:604)
	... 32 more

{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)


More information about the jboss-jira mailing list