ZeroTurnaround Support Forum » General Discussion

Integration with cocoon

(2 posts)

Tags:


  1. der011

    Member
    Posts: 1

    Hi, I am trying to use JRebel on cocoon+lenya+tomcat application. I have configured JRebel to replace classes generated by eclipse:

    <classpath>
    <dir name="C:/eclipse/git-mirrors/channel/ncno/build/eclipseclasses">
    </classpath>

    When JRebel replaces classes, cocoon doesn't like it and fails with strange error (see below).

    I am using cocoon 2.1.9. It seems like apache bcel verifier doesn't like the replaced class. Do you have any idea what could be wrong and how to make it work?

    Thanks

    Error:
    Caused by: org.apache.avalon.framework.configuration.ConfigurationException: Cannot initialize JavaInterpreter
    at org.apache.cocoon.components.flow.java.JavaInterpreter.initialize(JavaInterpreter.java:103)
    at org.apache.cocoon.components.flow.java.JavaInterpreter.callFunction(JavaInterpreter.java:123)
    at org.apache.cocoon.components.treeprocessor.sitemap.CallFunctionNode.invoke(CallFunctionNode.java:138)
    ... 175 more
    Caused by: org.apache.bcel.verifier.exc.StructuralCodeConstraintException: Instruction INVOKESTATIC constraint violated: Class 'no.netcom.channel.common.User' is referenced, but cannot be loaded and resolved: 'VERIFIED_REJECTED
    Number of LocalVariableTable attributes of Code attribute '' (method 'static void <clinit>()') exceeds number of local variable slots '0' ('There may be no more than one LocalVariableTable attribute per local variable in the Code attribute.').
    '.
    InstructionHandle: 18: invokestatic[184](3) 6

    Execution Frame:
    Local Variables:
    0: no.netcom.channel.bansearch.BanSearchFlow
    1: org.apache.avalon.framework.logger.Logger
    2: <unknown object>
    3: <unknown object>
    4: <unknown object>
    5: <unknown object>
    6: <unknown object>
    7: <unknown object>
    OperandStack:
    Slots used: 2 MaxStack: 3.
    org.apache.cocoon.environment.Request (Size: 1)
    no.netcom.channel.bansearch.BanSearchFlow (Size: 1)
    Execution flow:
    0: aload_0 [InstructionContext]
    1: invokevirtual 2 [InstructionContext]
    4: astore_1 [InstructionContext]
    5: aload_1 [InstructionContext]
    6: ldc 3 [InstructionContext]
    8: invokeinterface 4 [InstructionContext]
    13: aload_0 [InstructionContext]
    14: aload_0 [InstructionContext]
    15: invokevirtual 5 [InstructionContext]
    18: invokestatic 6 [InstructionContext]
    at org.apache.bcel.verifier.structurals.InstConstraintVisitor.constraintViolated(InstConstraintVisitor.java:148)
    at org.apache.bcel.verifier.structurals.InstConstraintVisitor.visitLoadClass(InstConstraintVisitor.java:265)
    at org.apache.bcel.generic.INVOKESTATIC.accept(INVOKESTATIC.java:104)
    at org.apache.bcel.generic.InstructionHandle.accept(InstructionHandle.java:282)
    at org.apache.bcel.verifier.structurals.ControlFlowGraph$InstructionContextImpl.execute(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:252)
    at org.apache.cocoon.components.flow.java.JavaInterpreter.initialize(JavaInterpreter.java:93)
    ... 177 more

    Posted 7 months ago #
  2. lauri

    Member
    Posts: 480

    At first glance this does not look like a jrebel issue. It seems that bcel doesn't like classes compiled by eclipse. Maybe upgrading bcel will help.

    Posted 7 months ago #

RSS feed for this topic

Reply

(required)

(required)

(optional)

(required)

Allowed markup: a blockquote code em strong ul ol li.
Put code in between `backticks`.

Olark Livehelp