[ http://issues.apache.org/jira/browse/COCOON-1183?page=all ] Pier Fumagalli deleted COCOON-1183: -----------------------------------
> can't use singleton classes in Continuable > ------------------------------------------ > > Key: COCOON-1183 > URL: http://issues.apache.org/jira/browse/COCOON-1183 > Project: Cocoon > Type: Bug > 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