[ 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

Reply via email to