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]

Reply via email to