I upgraded our organization to 3.12.0.GA javassist and a lot of issues went away. Still a few issues, and I think the guy who patched it for us submitted that patch to javassist, but it's light-years less problematic than 3.9.

Christian

On Jul 9, 2010, at 5:37 AM, Halil Karakose wrote:

After a jboss restart and clean deploy, the application is deployed fine.
Below is what I did:

- javassist.jar is removed from JBOSS_HOME/server/default/lib folder.
  - javassist-3.9.0-GA.jar is put inside JBOSS_HOME/server/default/lib
  folder.
  - javassist-3.9.0-GA.jar is removed from WEB-INF/lib directory.

Thanks for your response.

On Fri, Jul 9, 2010 at 11:12 AM, Halil Karakose <halilkarak...@gmail.com >wrote:

Actually this is the default Appfuse User class. And the class has no-arg
constructor.

I've been debuggin jboss now. During jboss startup,
javassist.util.proxy.ProxyFactory.setField() method throws the exception in
the following highlighted line.

           private void setField(String fieldName, Object value) {
       if(thisClass != null && value != null)

           try { Field f = thisClass.getField(fieldName);
               SecurityActions.setAccessible(f, true);
               *f.set(null, value);*
               SecurityActions.setAccessible(f, false);
                   }
           catch(Exception e) {
               throw new RuntimeException(e);
                   }
           }
*
Values Of setField() Parameters:*
value= instance of
"org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer"
fieldName="_method_filter"

In the highlighted line, JavassistLazyInitializer cannot be set to null.

If I set a breakpoint to the highlighted line and set the
JavassistLazyInitializer instance to null, exception does not occur.

On Thu, Jul 8, 2010 at 11:58 AM, Dmitry Gusev <dmitry.gu...@gmail.com>wrote:

Make sure com.mycompany.model.User has non-args public constructor.

On Thu, Jul 8, 2010 at 12:49, Halil Karakose <halilkarak...@gmail.com
wrote:

Changing javassist jar didn't work. I still receive the errors.

By the way, the exception is thrown by
"org.hibernate.tuple.entity.PojoEntityTuplizer".
Is there a incompatibility with the hibernate jars?

One more issue is that the logging level of the stack trace is in WARN
level. And I still haven't encountered anything weird in runtime.

On Thu, Jul 1, 2010 at 9:50 AM, Joachim Van der Auwera <
joac...@progs.be
wrote:

I think you should update the javassist in jboss/server/default/ lib/
folder.

Joachim


On 07/01/2010 08:08 AM, Halil Karakose wrote:

Hi,
I receive an error in my Tapestry webapp. I use Tapestry 5.1.0.5 and
Jboss
4.2.3-GA.


*Scenario 1:*
My web application contains javassist 3.9.0.GA in WEB-INF/lib
folder.
And
there is also another javassist.jar(3.6.0.GA) file inside
jboss/server/default/lib folder.

During deployment of the web application, I receive such an
exception:

22:12:28,373 WARN  buildProxyFactory
[org.hibernate.tuple.entity.PojoEntityTuplizer] could not create
proxy
factory for:com.mycompany.model.User
org.hibernate.HibernateException: Javassist Enhancement failed:
com.mycompany.model.User
   at



org .hibernate .proxy .pojo .javassist .JavassistLazyInitializer .getProxyFactory(JavassistLazyInitializer.java:145)
   at



org .hibernate .proxy .pojo .javassist .JavassistProxyFactory.postInstantiate(JavassistProxyFactory.java: 42)
   at



org .hibernate .tuple .entity .PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162)
   at



org .hibernate .tuple .entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java: 135)
   at



org .hibernate .tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
   at



org .hibernate .tuple .entity .EntityEntityModeToTuplizerMapping .<init>(EntityEntityModeToTuplizerMapping.java:56)
   at



org .hibernate .tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:302)
Caused by: java.lang.RuntimeException:
java.lang.IllegalArgumentException:
Can not set static javassist.util.proxy.MethodFilter field
com.mycompany.model.User_$$_javassist_5._method_filter to
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer$1
   at
javassist.util.proxy.ProxyFactory.setField(ProxyFactory.java:356)
   at
javassist .util.proxy.ProxyFactory.createClass3(ProxyFactory.java:339)
   at
javassist .util.proxy.ProxyFactory.createClass2(ProxyFactory.java:312)
   at
javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java: 271)
   at



org .hibernate .proxy .pojo .javassist .JavassistLazyInitializer .getProxyFactory(JavassistLazyInitializer.java:138)
   ... 171 more


This error doesn't prevent deployment. And I have no idea what the
impact
of
this error is or will be. I can select, and insert via webapp.


*Scenario 2:*
If I exclude javassist 3.9.0.GA from my Tapestry webapp and leave
jboss's
javassist.jar in place, the application deploys without exception.
But,
in
this case, I encounter an exception in runtime:

org.apache.tapestry5.internal.services.TransformationException:
javassist.CannotCompileException: broken method

InternalClassTransformation[

public com.mycompany.webapp.pages.PasswordHint extends
com.mycompany.webapp.pages.BasePage



add method: private void _$write_logger_2(org.slf4j.Logger $1)

throw new java.lang.RuntimeException("Field
com.mycompany.webapp.pages.PasswordHint.logger is read-only.");



replace write logger: _$write_logger_2();
..........


I am now following scenario 1, and I have not faced anything weird in
runtime? Any suggestions are appreciated:),


Thanks...






--
Dmitry Gusev

AnjLab Team
http://anjlab.com





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to