[
https://issues.jboss.org/browse/ARQ-1769?page=com.atlassian.jira.plugin.s...
]
William Crowell commented on ARQ-1769:
--------------------------------------
I moved to phantomjs but I still have the issue. I don't think it is an issue with
the client-side code runner but I will still move to phantomjs regardless.
Using 1.0.0.Alpha7, the test WAR application starts up; however, the first request (using
the driver.navigate().to("http://localhost:8080...") to the application gives
the org.jboss.arquillian.warp.spi.exception.StoreHasAssociatedObjectsException. If I set
a breakpoint in the test case and open a browser and hit the URL directly I get the same
StoreHasAssociatedObjectsException.
In org.jboss.arquillian.warp.impl.server.lifecycle.LifecycleManagerStoreImpl on line 126 I
see this check in checkUnbound(LifecycleManager):
@Override
protected <T> void checkUnbound(LifecycleManager manager) throws
StoreHasAssociatedObjectsException {
Tracking tracking = TRACK.get(manager);
if (tracking != null) {
if (!tracking.isEmpty()) {
throw new StoreHasAssociatedObjectsException();
}
TRACK.remove(manager);
}
}
The tracking HashMap has an object with the key name "class
javax.faces.context.FacesContext".
However, 1.0.0.Alpha6, has different behavior. The first request works and the Activity
inner classes' perform() method gets called, but the inspect inner class never gets
called even though we match for all requests:
group().observe(request()).inspect(new Inspection()...
Then org.jboss.arquillian.warp.impl.client.execution.SynchronizationPoint.awaitResponses()
just sits until the arquillian.warp.synchronization.timeout (default of 5 seconds)
expires:
...
(E) PassivateManager
(I) ManagerActivationObserver.deactivateApplicationContext
(E) AfterRequest
(I) LifecycleTestClassExecutor.afterRequest
(E) PassivateManager
(I) ManagerActivationObserver.deactivateApplicationContext
(E) AwaitResponse
(O) WarpExecutionObserver.awaitResponse
...
I looked at the jsf-ftest sample code on github to see if I was missing something. I see
some archives like arquillian-warp-jsf that contain a fragment for faces-config.xml. It
defines a WarpPhaseListener and a FacesContextFactoryWrapper.
I included arquillian-warp-jsf in my pom.xml but the problem remained.
I have one of two possible theories here:
1) I am missing a dependency which binds/unbinds the FacesContext.
2) Is it possible that Arquillian Warp does not support PrimeFaces and/or Spring WebFlow?
I see quite a bit of support for RichFaces. Maybe an adapter needs to be written for
PrimeFaces. Not sure.
org.jboss.arquillian.warp.spi.exception.StoreHasAssociatedObjectsException
--------------------------------------------------------------------------
Key: ARQ-1769
URL:
https://issues.jboss.org/browse/ARQ-1769
Project: Arquillian
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Extension - Warp
Affects Versions: warp_1.0.0.Alpha7, 1.1.3.Final, 1.1.4.Final
Environment: Windows 7 Enterprise SP1 64-bit
Reporter: William Crowell
I am using the following:
Arquillian Core: 1.1.4.Final (as well as 1.1.3.Final)
Arquillian Drone: 1.2.4.Final (I've tried Drone 2 as well)
Arquillian Warp: 1.0.0.Alpha7 (as well as 1.0.0.Beta1-SNAPSHOT)
Arquillian Transaction: 1.0.1.Final
Arquillian Tomcat 7 Embedded Container using Tomcat 7.0.27: 1.0.0.Final-SNAPSHOT
Spring: 3.2.4.RELEASE
Spring Web: 3.2.2.RELEASE
Spring Security: 3.1.4.RELEASE
Spring WebFlow: 2.4.0.RC1
PrimeFaces 3.4.2
JUnit: 4.8.2
Mojarra 2.1.17
I am receiving this exception:
{code}
java.lang.IllegalStateException:
org.jboss.arquillian.warp.spi.exception.StoreHasAssociatedObjectsException
at
org.jboss.arquillian.warp.impl.server.lifecycle.LifecycleManagerObserver.finalizeManager(LifecycleManagerObserver.java:69)
...
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at
org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at
org.jboss.arquillian.warp.impl.server.test.LifecycleTestClassExecutor.afterRequest(LifecycleTestClassExecutor.java:78)
...
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at
org.jboss.arquillian.warp.impl.server.request.RequestContextHandler.handleRequestContext(RequestContextHandler.java:93)
...
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116)
at
org.jboss.arquillian.warp.impl.server.execution.WarpFilter.doFilterWarp(WarpFilter.java:151)
at
org.jboss.arquillian.warp.impl.server.execution.WarpFilter.doFilterHttp(WarpFilter.java:120)
at
org.jboss.arquillian.warp.impl.server.execution.WarpFilter.doFilter(WarpFilter.java:93)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
...
Caused by: org.jboss.arquillian.warp.spi.exception.StoreHasAssociatedObjectsException
at
org.jboss.arquillian.warp.impl.server.lifecycle.LifecycleManagerStoreImpl.checkUnbound(LifecycleManagerStoreImpl.java:126)
at
org.jboss.arquillian.warp.spi.LifecycleManager.checkUnbound(LifecycleManager.java:158)
at
org.jboss.arquillian.warp.impl.server.lifecycle.LifecycleManagerObserver.finalizeManager(LifecycleManagerObserver.java:67)
... 74 more
{code}
--
This message was sent by Atlassian JIRA
(v6.2.3#6260)