Hi Martino
We are seeing these stack traces too, but the applications doesn't hang.
http://jira.opensymphony.com/browse/OGNL-115
The error happens when a getter method doesn't have the matching setter method.
Does the page still work? or it brakes your app?
In case you don't need a setter method an option to avoid the stack
traces is to explicitly call the getter, like this:
<component id="mobile" type="Insert">
<binding name="value" value="ognl:getMobile()"/>
</component>
Salutti.
Alejandro.
On 10/23/07, Martino Piccinato <[EMAIL PROTECTED]> wrote:
> Hi,
>
> we are experiencing a very strange problem just on our production
> server, from time to time bindings/ognl starts giving strange
> exceptions it does not give on our dev workstations. The problem is
> also difficult to reproduce on production server so I think it might
> be some race condition problem.
>
>
> We are using tapetry 4.1.2 and latest stable OGNL. It might be worth
> mentioning that the production server is 64bit (and obviously much
> faster) than our poor workstations.
>
> as an example of these exception take this component:
>
> <component id="mobile" type="Insert">
> <binding name="value">mobile</binding>
> </component>
>
> the component is used on a page called ViewPoSPage having a
> String getMobile() method.
>
>
> This is the exception that comes out from time to time:
>
> 2007-10-23 09:41:35,947 ERROR
> [org.apache.tapestry.services.impl.HiveMindExpressionCompiler] - Error
> generating OGNL getter for expression mobile with root $ViewPoSPag
> [EMAIL PROTECTED] and body:
> { return (($ViewPoSPage_149)$2).mobile();}
> org.apache.hivemind.ApplicationRuntimeException: Unable to add method
> java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class
> $ASTProperty_115c9fd5cb4: [sour
> ce error] mobile() not found in $ViewPoSPage_149
> at
> org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)
> at
> org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:172)
> at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:498)
> at ognl.Ognl.compileExpression(Ognl.java:141)
> at
> org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(ExpressionCacheImpl.java:152)
> at
> org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression(ExpressionCacheImpl.java:115)
> at
> $ExpressionCache_115c9fd5801.getCompiledExpression($ExpressionCache_115c9fd5801.java)
> at
> org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
> at
> org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:125)
> at
> org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
> at $Insert_6.getValue($Insert_6.java)
> at
> org.apache.tapestry.components.Insert.renderComponent(Insert.java:48)
> at
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725)
> at
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:180)
>
> ....
>
>
> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
> at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
> at
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: javassist.CannotCompileException: [source error] mobile()
> not found in $ViewPoSPage_149
> at javassist.CtBehavior.setBody(CtBehavior.java:347)
> at javassist.CtBehavior.setBody(CtBehavior.java:316)
> at
> org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:272)
> ... 91 more
> Caused by: compile error: mobile() not found in $ViewPoSPage_149
> at
> javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:716)
> at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:681)
> at
> javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156)
> at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45)
> at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:235)
> at javassist.compiler.CodeGen.compileExpr(CodeGen.java:222)
> at javassist.compiler.CodeGen.atReturnStmnt2(CodeGen.java:591)
> at javassist.compiler.JvstCodeGen.atReturnStmnt(JvstCodeGen.java
>
> the only "strange" thing I can see on the page is a
>
> String mobile(Person person)
>
> so I thought it might have been
> http://jira.opensymphony.com/browse/OGNL-129 but the signature as you
> can see is different and the problem is not happening everytime...
>
> Any suggestion?
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]