[
https://issues.apache.org/jira/browse/SLING-6502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15878380#comment-15878380
]
Felix Meschberger commented on SLING-6502:
------------------------------------------
Hmm, I think the things you are doing here are becoming fragile and needs
proper vetting.
The Launchpad bundle basically has two artifacts:
* Standalone Java Application just bridging into the JVM in a controlled way
* Web Application Archive (WAR), where we bridge to servlet container in
controlled way by adding the Servlet API (and only the Servlet API) to the
framework system packages. The EL and JSP API are not bridged because we have
our own implementation.
I am not sure how the Karaf integration works, but I assume that you have to
control the API deployed in the Karaf system as you are probably not making use
of the Launchpad but directly deploy the Sling bundles into the Karaf framework
as a Karaf feature, right ?
> JSP: java.lang.VerifyError (Bad type on operand stack)
> ------------------------------------------------------
>
> Key: SLING-6502
> URL: https://issues.apache.org/jira/browse/SLING-6502
> Project: Sling
> Issue Type: Bug
> Components: Scripting
> Affects Versions: Scripting JSP 2.2.6
> Environment: Apache Karaf 4.1.0-SNAPSHOT (Pax Web 6.0.2)
> Reporter: Oliver Lietz
> Assignee: Oliver Lietz
> Fix For: Scripting JSP 2.2.8
>
> Attachments: apis.patch
>
>
> {{org.apache.sling.scripting.jsp}} embeds {{jsp-api}} and {{el-api}} from
> Apache Tomcat ({{6.0.14}}) which causes this error.
> {noformat}
> [...]
> [httpclient.wire.header] : << "HTTP/1.1 500 Server Error[\r][\n]"
> [httpclient.wire.header] : << "Content-Type: text/html;charset=utf-8[\r][\n]"
> [httpclient.wire.header] : << "Transfer-Encoding: chunked[\r][\n]"
> [httpclient.wire.header] : << "Server: Jetty(9.3.15.v20161220)[\r][\n]"
> [httpclient.wire.header] : << "[\r][\n]"
> [httpclient.wire.content] : << "B"
> [httpclient.wire.content] : << "5"
> [httpclient.wire.content] : << "1"
> [httpclient.wire.content] : << "[\r]"
> [httpclient.wire.content] : << "[\n]"
> [httpclient.wire.content] : << "<html><head><title>[\n]"
> [httpclient.wire.content] : << "java.lang.VerifyError: Bad type on operand
> stack[\n]"
> [httpclient.wire.content] : << "Exception Details:[\n]"
> [httpclient.wire.content] : << " Location:[\n]"
> [httpclient.wire.content] : << "
> org/apache/sling/scripting/jsp/jasper/runtime/JspApplicationContextImpl.createELResolver()Ljavax/el/ELResolver;
> @28: invokevirtual[\n]"
> [httpclient.wire.content] : << " Reason:[\n]"
> [httpclient.wire.content] : << " Type
> 'javax/servlet/jsp/el/ImplicitObjectELResolver' (current frame,
> stack[1]) is not assignable to 'javax/el/ELResolver'[\n]"
> [httpclient.wire.content] : << " Current Frame:[\n]"
> [httpclient.wire.content] : << " bci: @28[\n]"
> [httpclient.wire.content] : << " flags: { }[\n]"
> [httpclient.wire.content] : << " locals: {
> 'org/apache/sling/scripting/jsp/jasper/runtime/JspApplicationContextImpl',
> 'javax/el/CompositeELResolver' }[\n]"
> [httpclient.wire.content] : << " stack: {
> 'javax/el/CompositeELResolver',
> 'javax/servlet/jsp/el/ImplicitObjectELResolver' }[\n]"
> [httpclient.wire.content] : << " Bytecode:[\n]"
> [httpclient.wire.content] : << " 0x0000000: 2a04 b500 062a b400 1dc7 0080
> bb00 1e59[\n]"
> [httpclient.wire.content] : << " 0x0000010: b700 1f4c 2bbb 0020 59b7 0021
> b600 222a[\n]"
> [httpclient.wire.content] : << " 0x0000020: b400 05b9 0023 0100 4d2c b900
> 2401 0099[\n]"
> [httpclient.wire.content] : << " 0x0000030: 0013 2b2c b900 2501 00c0 0026
> b600 22a7[\n]"
> [httpclient.wire.content] : << " 0x0000040: ffea 2bbb 0027 59b7 0028 b600
> 222b bb00[\n]"
> [httpclient.wire.content] : << " 0x0000050: 2959 b700 2ab6 0022 2bbb 002b
> 59b7 002c[\n]"
> [httpclient.wire.content] : << " 0x0000060: b600 222b bb00 2d59 b700 2eb6
> 0022 2bbb[\n]"
> [httpclient.wire.content] : << " 0x0000070: 002f 59b7 0030 b600 222b bb00
> 3159 b700[\n]"
> [httpclient.wire.content] : << " 0x0000080: 32b6 0022 2a2b b500 1d2a b400
> 1db0 [\n]"
> [httpclient.wire.content] : << " Stackmap Table:[\n]"
> [httpclient.wire.content] : << "
> append_frame(@41,Object[#112],Object[#113])[\n]"
> [httpclient.wire.content] : << " chop_frame(@66,1)[\n]"
> [httpclient.wire.content] : << " chop_frame(@137,1)[\n]"
> [httpclient.wire.content] : << "[\n]"
> [httpclient.wire.content] : << "</title></head><body><h1>[\n]"
> [...]
> {noformat}
> {noformat}
> java.lang.VerifyError: Bad type on operand stack
> Exception Details:
> Location:
>
> org/apache/sling/scripting/jsp/jasper/runtime/JspApplicationContextImpl.createELResolver()Ljavax/el/ELResolver;
> @28: invokevirtual
> Reason:
> Type 'javax/servlet/jsp/el/ImplicitObjectELResolver' (current
> frame, stack[1]) is not assignable to 'javax/el/ELResolver'
> Current Frame:
> bci: @28
> flags: { }
> locals: {
> 'org/apache/sling/scripting/jsp/jasper/runtime/JspApplicationContextImpl',
> 'javax/el/CompositeELResolver' }
> stack: { 'javax/el/CompositeELResolver',
> 'javax/servlet/jsp/el/ImplicitObjectELResolver' }
> Bytecode:
> 0x0000000: 2a04 b500 062a b400 1dc7 0080 bb00 1e59
> 0x0000010: b700 1f4c 2bbb 0020 59b7 0021 b600 222a
> 0x0000020: b400 05b9 0023 0100 4d2c b900 2401 0099
> 0x0000030: 0013 2b2c b900 2501 00c0 0026 b600 22a7
> 0x0000040: ffea 2bbb 0027 59b7 0028 b600 222b bb00
> 0x0000050: 2959 b700 2ab6 0022 2bbb 002b 59b7 002c
> 0x0000060: b600 222b bb00 2d59 b700 2eb6 0022 2bbb
> 0x0000070: 002f 59b7 0030 b600 222b bb00 3159 b700
> 0x0000080: 32b6 0022 2a2b b500 1d2a b400 1db0
> Stackmap Table:
> append_frame(@41,Object[#112],Object[#113])
> chop_frame(@66,1)
> chop_frame(@137,1)
> at
> org.apache.sling.scripting.jsp.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:150)
> at
> org.apache.sling.scripting.jsp.jasper.compiler.JspRuntimeContext$JspFactoryHandler.getJspApplicationContext(JspRuntimeContext.java:123)
> at
> org.apache.jsp.apps.nt.unstructured.html_jsp._jspInit(html_jsp.java:22)
> at
> org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
> at
> org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.loadServlet(JspServletWrapper.java:191)
> at
> org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.prepareServlet(JspServletWrapper.java:434)
> at
> org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:486)
> at
> org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:449)
> at
> org.apache.sling.scripting.jsp.JspScriptEngineFactory.callJsp(JspScriptEngineFactory.java:346)
> at
> org.apache.sling.scripting.jsp.JspScriptEngineFactory.access$100(JspScriptEngineFactory.java:101)
> at
> org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:607)
> at
> org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:388)
> at
> org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:184)
> at
> org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:491)
> at
> org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:552)
> at
> org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:44)
> at
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:77)
> at
> org.apache.sling.engine.impl.SlingRequestProcessorImpl.processComponent(SlingRequestProcessorImpl.java:282)
> at
> org.apache.sling.engine.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:49)
> at
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:71)
> at
> org.apache.sling.launchpad.testservices.filters.TestFilter.doFilter(TestFilter.java:47)
> at
> org.apache.sling.launchpad.testservices.filters.NoPropertyFilter.doFilter(NoPropertyFilter.java:25)
> at
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
> at
> org.apache.sling.launchpad.testservices.filters.TestFilter.doFilter(TestFilter.java:47)
> at
> org.apache.sling.launchpad.testservices.filters.SlingFilter.doFilter(SlingFilter.java:25)
> at
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
> at
> org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter.doFilter(RequestProgressTrackerLogFilter.java:107)
> at
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
> at
> org.apache.sling.engine.impl.SlingRequestProcessorImpl.doProcessRequest(SlingRequestProcessorImpl.java:151)
> at
> org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:219)
> at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:837)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1772)
> at
> org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:193)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
> at
> org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
> at
> org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> at
> org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
> at org.eclipse.jetty.server.Server.handle(Server.java:534)
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
> at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
> at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
> at
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
> at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
> at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
> at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)