[ http://issues.apache.org/jira/browse/COCOON-1660?page=all ]
Pier Fumagalli moved CTEMP-1183 to COCOON-1660:
-----------------------------------------------
Project: Cocoon (was: Cocoon 2)
Key: COCOON-1660 (was: CTEMP-1183)
Workflow: Cocoon Workflow (was: jira)
Component: Blocks: (Unspecified)
(was: blocks)
Version: 2.1.5
(was: 2.1.5)
> can't use singleton classes in Continuable
> ------------------------------------------
>
> Key: COCOON-1660
> URL: http://issues.apache.org/jira/browse/COCOON-1660
> Project: Cocoon
> Type: Bug
> Components: Blocks: (Unspecified)
> Versions: 2.1.5
> Environment: Operating System: Windows XP
> Platform: PC
> Reporter: Johan Coens
> Assignee: Cocoon Developers Team
>
> When using a singleton class in a continuation the error below occurs. I
> tried
> to save the instance of the singleton class in the context and retrieve it in
> the continuable, but the same error occurs. I tried to work with the latest
> bcel jar, but this is not compliant with the current javaflow implementation.
> I use cocoon 2.1.5 (built from source)
> Tomcat 5.0.18
> JDK 1.4.2_04
> Message: Instruction INVOKEVIRTUAL constraint violated:
> Class 'com.mypackage.security.SecurityFactory' is referenced, but cannot be
> loaded and resolved: 'VERIFIED_REJECTED Number of LocalVariableTable
> attributes
> of Code attribute '' (method 'public static
> com.mypackage.security.SecurityFactory getInstance()') exceeds number of
> local
> variable slots '0' ('There may be no more than one LocalVariableTable
> attribute
> per local variable in the Code attribute.'). '. InstructionHandle: 33:
> invokevirtual[182](3) 55 Execution Frame: Local Variables: 0:
> com.mypackage.cocoon.security.AuthenticationHandler 1: 2: 3: OperandStack:
> Slots used: 1 MaxStack: 4. com.mypackage.cocoon.ResourceHelper (Size: 1)
> Execution flow: 0: aload_0 [InstructionContext] 1: getfield 22
> [InstructionContext] 4: invokevirtual 31 [InstructionContext] 7: ifne -> 104
> [InstructionContext] 10: aload_0 [InstructionContext] 11: invokevirtual 35
> [InstructionContext] 14: ldc 37 [InstructionContext] 16: invokeinterface 43
> [InstructionContext] 21: ldc 45 [InstructionContext] 23: invokevirtual 51
> [InstructionContext] 26: ifeq -> 98 [InstructionContext] 29: aload_0
> [InstructionContext] 30: getfield 22 [InstructionContext] 33: invokevirtual
> 55
> [InstructionContext]
> Description: org.apache.bcel.verifier.exc.StructuralCodeConstraintException:
> Instruction INVOKEVIRTUAL constraint violated:
> Class 'com.mypackage.security.SecurityFactory' is referenced, but cannot be
> loaded and resolved: 'VERIFIED_REJECTED Number of LocalVariableTable
> attributes
> of Code attribute '' (method 'public static
> com.mypackage.security.SecurityFactory getInstance()') exceeds number of
> local
> variable slots '0' ('There may be no more than one LocalVariableTable
> attribute
> per local variable in the Code attribute.'). '. InstructionHandle: 33:
> invokevirtual[182](3) 55 Execution Frame: Local Variables: 0:
> com.mypackage.cocoon.security.AuthenticationHandler 1: 2: 3: OperandStack:
> Slots used: 1 MaxStack: 4. com.mypackage.cocoon.ResourceHelper (Size: 1)
> Execution flow: 0: aload_0 [InstructionContext] 1: getfield 22
> [InstructionContext] 4: invokevirtual 31 [InstructionContext] 7: ifne -> 104
> [InstructionContext] 10: aload_0 [InstructionContext] 11: invokevirtual 35
> [InstructionContext] 14: ldc 37 [InstructionContext] 16: invokeinterface 43
> [InstructionContext] 21: ldc 45 [InstructionContext] 23: invokevirtual 51
> [InstructionContext] 26: ifeq -> 98 [InstructionContext] 29: aload_0
> [InstructionContext] 30: getfield 22 [InstructionContext] 33: invokevirtual
> 55
> [InstructionContext]
> Sender: org.apache.cocoon.servlet.CocoonServlet
> Source: Cocoon Servlet
> Request URI
> edit/general/test
> cause
> org.apache.bcel.verifier.exc.StructuralCodeConstraintException: Instruction
> INVOKEVIRTUAL constraint violated:
> Class 'com.mypackage.security.SecurityFactory' is referenced, but cannot be
> loaded and resolved: 'VERIFIED_REJECTED
> Number of LocalVariableTable attributes of Code attribute '' (method 'public
> static com.mypackage.security.SecurityFactory getInstance()') exceeds number
> of
> local variable slots '0' ('There may be no more than one LocalVariableTable
> attribute per local variable in the Code attribute.').
> '.
> InstructionHandle: 33: invokevirtual[182](3) 55
> Execution Frame:
> Local Variables:
> 0: com.mypackage.cocoon.security.AuthenticationHandler
> 1:
> 2:
> 3:
> OperandStack:
> Slots used: 1 MaxStack: 4.
> com.mypackage.cocoon.ResourceHelper (Size: 1)
> Execution flow:
> 0: aload_0 [InstructionContext]
> 1: getfield 22 [InstructionContext]
> 4: invokevirtual 31 [InstructionContext]
> 7: ifne -> 104 [InstructionContext]
> 10: aload_0 [InstructionContext]
> 11: invokevirtual 35 [InstructionContext]
> 14: ldc 37 [InstructionContext]
> 16: invokeinterface 43 [InstructionContext]
> 21: ldc 45 [InstructionContext]
> 23: invokevirtual 51 [InstructionContext]
> 26: ifeq -> 98 [InstructionContext]
> 29: aload_0 [InstructionContext]
> 30: getfield 22 [InstructionContext]
> 33: invokevirtual 55 [InstructionContext]
> request-uri
> /edit/general/test
> stacktrace
> org.apache.bcel.verifier.exc.StructuralCodeConstraintException: Instruction
> INVOKEVIRTUAL constraint violated:
> Class 'com.mypackage.security.SecurityFactory' is referenced, but cannot be
> loaded and resolved: 'VERIFIED_REJECTED
> Number of LocalVariableTable attributes of Code attribute '' (method 'public
> static com.mypackage.security.SecurityFactory getInstance()') exceeds number
> of
> local variable slots '0' ('There may be no more than one LocalVariableTable
> attribute per local variable in the Code attribute.').
> '.
> InstructionHandle: 33: invokevirtual[182](3) 55
> Execution Frame:
> Local Variables:
> 0: com.mypackage.cocoon.security.AuthenticationHandler
> 1:
> 2:
> 3:
> OperandStack:
> Slots used: 1 MaxStack: 4.
> com.mypackage.cocoon.ResourceHelper (Size: 1)
> Execution flow:
> 0: aload_0 [InstructionContext]
> 1: getfield 22 [InstructionContext]
> 4: invokevirtual 31 [InstructionContext]
> 7: ifne -> 104 [InstructionContext]
> 10: aload_0 [InstructionContext]
> 11: invokevirtual 35 [InstructionContext]
> 14: ldc 37 [InstructionContext]
> 16: invokeinterface 43 [InstructionContext]
> 21: ldc 45 [InstructionContext]
> 23: invokevirtual 51 [InstructionContext]
> 26: ifeq -> 98 [InstructionContext]
> 29: aload_0 [InstructionContext]
> 30: getfield 22 [InstructionContext]
> 33: invokevirtual 55 [InstructionContext]
> at
> org.apache.bcel.verifier.structurals.InstConstraintVisitor.constraintViolated
> (InstConstraintVisitor.java:148)
> at
> org.apache.bcel.verifier.structurals.InstConstraintVisitor.visitINVOKEVIRTUAL
> (InstConstraintVisitor.java:1917)
> at org.apache.bcel.generic.INVOKEVIRTUAL.accept(INVOKEVIRTUAL.java:110)
> at org.apache.bcel.generic.InstructionHandle.accept
> (InstructionHandle.java:282)
> at
> org.apache.bcel.verifier.structurals.ControlFlowGraph$InstructionContextImpl.exe
> cute(ControlFlowGraph.java:229)
> at
> org.apache.cocoon.components.flow.java.ContinuationClassLoader.analyse
> (ContinuationClassLoader.java:234)
> at
> org.apache.cocoon.components.flow.java.ContinuationClassLoader.transform
> (ContinuationClassLoader.java:146)
> at
> org.apache.cocoon.components.flow.java.ContinuationClassLoader.loadClass
> (ContinuationClassLoader.java:114)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
> at org.apache.cocoon.components.flow.java.JavaInterpreter.initialize
> (JavaInterpreter.java:93)
> at org.apache.cocoon.components.flow.java.JavaInterpreter.callFunction
> (JavaInterpreter.java:130)
> at
> org.apache.cocoon.components.treeprocessor.sitemap.CallFunctionNode.invoke
> (CallFunctionNode.java:130)
> at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNo
> des(AbstractParentProcessingNode.java:49)
> at
> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke
> (PreparableMatchNode.java:130)
> at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNo
> des(AbstractParentProcessingNode.java:72)
> at
> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke
> (PipelineNode.java:126)
> at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNo
> des(AbstractParentProcessingNode.java:72)
> at
> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke
> (PipelinesNode.java:101)
> at org.apache.cocoon.components.treeprocessor.TreeProcessor.process
> (TreeProcessor.java:336)
> at org.apache.cocoon.components.treeprocessor.TreeProcessor.process
> (TreeProcessor.java:277)
> at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke
> (MountNode.java:103)
> at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNo
> des(AbstractParentProcessingNode.java:49)
> at
> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke
> (PreparableMatchNode.java:130)
> at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNo
> des(AbstractParentProcessingNode.java:72)
> at
> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke
> (PipelineNode.java:126)
> at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNo
> des(AbstractParentProcessingNode.java:72)
> at
> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke
> (PipelinesNode.java:101)
> at org.apache.cocoon.components.treeprocessor.TreeProcessor.process
> (TreeProcessor.java:336)
> at org.apache.cocoon.components.treeprocessor.TreeProcessor.process
> (TreeProcessor.java:277)
> at org.apache.cocoon.Cocoon.process(Cocoon.java:639)
> at org.apache.cocoon.servlet.CocoonServlet.service
> (CocoonServlet.java:1098)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (ApplicationFilterChain.java:284)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter
> (ApplicationFilterChain.java:204)
> at org.apache.catalina.core.StandardWrapperValve.invoke
> (StandardWrapperValve.java:257)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:151)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:564)
> at org.apache.catalina.core.StandardContextValve.invokeInternal
> (StandardContextValve.java:245)
> at org.apache.catalina.core.StandardContextValve.invoke
> (StandardContextValve.java:199)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:151)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:564)
> at org.apache.catalina.core.StandardHostValve.invoke
> (StandardHostValve.java:195)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:151)
> at org.apache.catalina.valves.ErrorReportValve.invoke
> (ErrorReportValve.java:164)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:149)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:564)
> at org.apache.catalina.core.StandardEngineValve.invoke
> (StandardEngineValve.java:156)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:151)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:564)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
> at org.apache.coyote.tomcat5.CoyoteAdapter.service
> (CoyoteAdapter.java:206)
> at org.apache.coyote.http11.Http11Processor.process
> (Http11Processor.java:828)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnectio
> n(Http11Protocol.java:700)
> at org.apache.tomcat.util.net.TcpWorkerThread.runIt
> (PoolTcpEndpoint.java:584)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
> (ThreadPool.java:683)
> at java.lang.Thread.run(Thread.java:534)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira