I don't know if this can help, but verify the javassist version you have in
your application is conformed to the latest Tapestry version => 3.9.0.GA

Regards
Christophe.

2009/10/21 Xuan Tran Le <xua...@myvietnam.net>

> Hi dear,
>
> I'm running Tapestry 5.1.0.5 on IBM Websphere Portal 6.1 and I have an
> error: when create object "ActionResponse", it throws java.lang.VerifyError
> (please ignore why it cause java.lang.VerifyError). I wanna say that in
> RecursiveServiceCreationCheckWrapper.createObject() method you catch only
> RuntimeException, this is your code:
> ----------------
>    public Object createObject()
>    {
>        if (locked)
>            throw new
> IllegalStateException(IOCMessages.recursiveServiceBuild(serviceDef));
>
>        // Set the lock, to ensure that recursive service construction
> fails.
>
>        locked = true;
>
>        try
>        {
>            return delegate.createObject();
>        }
>        catch (RuntimeException ex)
>        {
>            logger.error(IOCMessages.serviceConstructionFailed(serviceDef,
> ex), ex);
>
>            // Release the lock on failure; the service is now in an unknown
> state, but we may
>            // be able to continue from here.
>
>            locked = false;
>
>            throw ex;
>        }
>
>    }
> ----------------
> and it cause "locked" variable not be changed to "false", it means that
> "locked" is "true" now. Then when later it try to create this object again,
> then it cause
> IllegalStateException(IOCMessages.recursiveServiceBuild(serviceDef)).
>
> I think that you should change
> RecursiveServiceCreationCheckWrapper.createObject() method by catch
> Throwable insteads of RuntimeException.
>
> This is the full stacktrace:
>
> [10/21/09 11:16:29:015 ICT] 00000039 SystemOut     O 2009-10-21
> 11:16:28,968
> ERROR [WebContainer : 0] TapestryModule.RequestExceptionHandler
> (DefaultRequestExceptionHandler.java:62)     - Processing of request failed
> with uncaught exception: class loading constraint violated (class:
> $ActionResponse_124754f5af3 method:
> setEvent(Ljavax/xml/namespace/QName;Ljava/io/Serializable;)V) at pc: 0
> java.lang.VerifyError: class loading constraint violated (class:
> $ActionResponse_124754f5af3 method:
> setEvent(Ljavax/xml/namespace/QName;Ljava/io/Serializable;)V) at pc: 0
>    at java.lang.J9VMInternals.verifyImpl(Native Method)
>    at java.lang.J9VMInternals.verify(J9VMInternals.java:68)
>    at java.lang.J9VMInternals.initialize(J9VMInternals.java:129)
>    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>    at
>
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:67)
>    at
>
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>    at java.lang.reflect.Constructor.newInstance(Constructor.java:522)
>    at
>
> org.apache.tapestry5.ioc.internal.ModuleImpl.createProxyInstance(ModuleImpl.java:490)
>    at
>
> org.apache.tapestry5.ioc.internal.ModuleImpl.createProxy(ModuleImpl.java:449)
>    at
> org.apache.tapestry5.ioc.internal.ModuleImpl.access$900(ModuleImpl.java:32)
>    at
> org.apache.tapestry5.ioc.internal.ModuleImpl$4.invoke(ModuleImpl.java:297)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68)
>    at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>    at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941)
>    at
> org.apache.tapestry5.ioc.internal.ModuleImpl.create(ModuleImpl.java:321)
>    at
> org.apache.tapestry5.ioc.internal.ModuleImpl.access$100(ModuleImpl.java:32)
>    at
> org.apache.tapestry5.ioc.internal.ModuleImpl$1.invoke(ModuleImpl.java:181)
>    at
>
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withWrite(ConcurrentBarrier.java:140)
>    at
> org.apache.tapestry5.ioc.internal.ModuleImpl$2.invoke(ModuleImpl.java:197)
>    at
>
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
>    at
>
> org.apache.tapestry5.ioc.internal.ModuleImpl.findOrCreate(ModuleImpl.java:203)
>    at
> org.apache.tapestry5.ioc.internal.ModuleImpl.getService(ModuleImpl.java:98)
>    at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:320)
>    at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:566)
>    at
>
> org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getService(ObjectLocatorImpl.java:44)
>    at
>
> org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl$1.invoke(MasterObjectProviderImpl.java:56)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68)
>    at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>    at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941)
>    at
>
> org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:41)
>    at
>
> $MasterObjectProvider_124754f5a1a.provide($MasterObjectProvider_124754f5a1a.java)
>    at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:696)
>    at
>
> org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:49)
>    at
>
> org.apache.tapestry5.ioc.internal.util.InternalUtils$4.run(InternalUtils.java:319)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:52)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:50)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:48)
>    at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:56)
>    at
> org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:936)
>    at
>
> org.apache.tapestry5.ioc.internal.util.InternalUtils.injectIntoFields(InternalUtils.java:304)
>    at
>
> org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:64)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68)
>    at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>    at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
>    at
>
> org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29)
>    at
>
> org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:46)
>    at
>
> org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:60)
>    at
>
> org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:52)
>    at
>
> org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68)
>    at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>    at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
>    at
>
> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:68)
>    at
>
> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:57)
>    at
>
> $GenericRequestResponseService_124754f5a89.delegate($GenericRequestResponseService_124754f5a89.java)
>    at
>
> $GenericRequestResponseService_124754f5a89.getGenericResponse($GenericRequestResponseService_124754f5a89.java)
>    at
>
> com.mvnsoft.mvncms.tapestry5.base.BasePage.getGenericResponse(BasePage.java:69)
>    at
> com.mvnsoft.mvncms.tapestry5.base.BasePage.activate(BasePage.java:105)
>    at
>
> com.mvnsoft.mvncms.tapestry5.base.BasePage.dispatchComponentEvent(BasePage.java)
>    at
>
> com.mvnsoft.mvncms.tapestry5.pages.publishadmin.Index.dispatchComponentEvent(Index.java)
> .......................
> [10/21/09 11:27:44:890 ICT] 00000039 SystemOut     O
> ===java.lang.RuntimeException: Exception constructing service
> 'GenericRequestResponseService': Construction of service
> 'GenericRequestResponseService' has failed due to recursion: the service
> depends on itself in some way. Please check
>
> com.mvnsoft.mvncms.tapestry5.services.GenericRequestResponseServiceImplPortlet()
> (at GenericRequestResponseServiceImplPortlet.java:30) via
>
> com.mvnsoft.mvncms.tapestry5.services.MvnPublishAdminPortletModule.bind(ServiceBinder)
> (at MvnPublishAdminPortletModule.java:30) for references to another service
> that is itself dependent on service 'GenericRequestResponseService'.
>

Reply via email to