[MAGNOLIA-1426] Magnolia 3.0.1 CE - magnoliaPublic throws exception org.apache.jasper.JasperException: Unable to compile class for JSP Created: 08/Mar/07  Updated: 26/Mar/07  Resolved: 26/Mar/07

Status: Closed
Project: Magnolia
Component/s: samples
Affects Version/s: 3.0.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: zaid haque Assignee: Magnolia International
Resolution: Not an issue Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Fedora Core 4 & Tomcat 5.0.30


Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

magnoliaPublic when accessed after installation throws following exception. However I can access http://localhost:8080/magnoliaPublic/.magnolia without any problem.

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

Generated servlet error:
/opt/jakarta-tomcat-5.0.30/work/Catalina/localhost/magnoliaPublic/org/apache/jsp/templates/samples/templates/sample_002dtwocolumns_jsp.java:7: org.apache.jsp.templates.samples.templates.sample_002dtwocolumns_jsp is not abstract and does not override abstract method getDependants() in org.apache.jasper.runtime.JspSourceDependent
public final class sample_002dtwocolumns_jsp extends org.apache.jasper.runtime.HttpJspBase
^

Generated servlet error:
/opt/jakarta-tomcat-5.0.30/work/Catalina/localhost/magnoliaPublic/org/apache/jsp/templates/samples/templates/sample_002dtwocolumns_jsp.java:26: getDependants() in org.apache.jsp.templates.samples.templates.sample_002dtwocolumns_jsp cannot implement getDependants() in org.apache.jasper.runtime.JspSourceDependent; attempting to use incompatible return type
found : java.util.List
required: java.lang.Object
public java.util.List getDependants() {
^
2 errors

org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:437)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:497)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:476)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:464)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
info.magnolia.module.templating.renderers.JspTemplateRenderer.renderTemplate(JspTemplateRenderer.java:74)
info.magnolia.cms.filters.MgnlCmsFilter.handle(MgnlCmsFilter.java:142)
info.magnolia.cms.filters.MgnlCmsFilter.doFilter(MgnlCmsFilter.java:99)
info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
info.magnolia.cms.cache.CacheFilter.doFilter(CacheFilter.java:77)
info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
info.magnolia.cms.filters.MgnlInterceptFilter.doFilter(MgnlInterceptFilter.java:132)
info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
info.magnolia.cms.filters.MgnlContextFilter.doFilter(MgnlContextFilter.java:45)
info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
info.magnolia.cms.security.SecurityFilter.doFilter(SecurityFilter.java:100)
info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
info.magnolia.cms.filters.MultipartRequestFilter.doFilter(MultipartRequestFilter.java:80)
info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
info.magnolia.cms.filters.MgnlVirtualUriFilter.doFilter(MgnlVirtualUriFilter.java:83)
info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:66)
info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
info.magnolia.cms.filters.MagnoliaManagedFilter.doFilter(MagnoliaManagedFilter.java:65)

note The full stack trace of the root cause is available in the Apache Tomcat/5.0.30 logs.
Apache Tomcat/5.0.30



 Comments   
Comment by zaid haque [ 13/Mar/07 ]

I managed to resolve this issue. I upgraded the jasper libraries to latest in commons/lib directory in Tomcat. I hope this will be useful to any others facing the similar issues.

Comment by Magnolia International [ 26/Mar/07 ]

Looks to me like your original tomcat installation was somehow corrupt. The error message is pretty explicitely saying that there's a mismatch between tomcat/jasper libraries.
If you've been able to reproduce this on a clean install, let us know (eventhough it seems more of a tomcat issue)

Generated at Mon Feb 12 03:26:48 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.