[arquillian-issues] [JBoss JIRA] (ARQGRA-263) Deadlock in guardHttp with HTMLUnit

Lukáš Fryč (JIRA) jira-events at lists.jboss.org
Tue Sep 3 04:10:04 EDT 2013


     [ https://issues.jboss.org/browse/ARQGRA-263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lukáš Fryč closed ARQGRA-263.
-----------------------------

    Resolution: Won't Fix

    
> Deadlock in guardHttp with HTMLUnit
> -----------------------------------
>
>                 Key: ARQGRA-263
>                 URL: https://issues.jboss.org/browse/ARQGRA-263
>             Project: Arquillian Graphene
>          Issue Type: Bug
>    Affects Versions: 2.0.0.Beta1
>         Environment: Graphene 2.0.0.Beta1-SNAPSHOT, selenium-htmlunit-driver 2.28.0
>            Reporter: Ron Šmeral
>            Assignee: Jan Papousek
>            Priority: Critical
>
> When running a Seam Booking ftest, the following deadlock appeared, during an invocation of {{guardHttp(browser.findElement(by)).click();}}
> {noformat}
> Found one Java-level deadlock:
> =============================
> "JS executor for com.gargoylesoftware.htmlunit.WebClient at 111f5701":
>   waiting to lock monitor 0x00007f5374011c88 (object 0x00000000ff450138, a com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine),
>   which is held by "main"
> "main":
>   waiting to lock monitor 0x00007f53e4fce1b0 (object 0x00000000f3238568, a com.gargoylesoftware.htmlunit.html.HtmlPage),
>   which is held by "JS executor for com.gargoylesoftware.htmlunit.WebClient at 111f5701"
> {noformat}
> Full stacktrace:
> {noformat}
> Java stack information for the threads listed above:
> ===================================================
> "JS executor for com.gargoylesoftware.htmlunit.WebClient at 111f5701":
>         at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.doProcessPostponedActions(JavaScriptEngine.java:688)
>         - waiting to lock <0x00000000ff450138> (a com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine)
>         at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.access$400(JavaScriptEngine.java:89)
>         at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:659)
>         at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:559)
>         at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:525)
>         at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.compile(JavaScriptEngine.java:502)
>         at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:519)
>         at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:970)
>         at com.gargoylesoftware.htmlunit.html.HtmlScript.executeInlineScriptIfNeeded(HtmlScript.java:337)
>         at com.gargoylesoftware.htmlunit.html.HtmlScript.executeScriptIfNeeded(HtmlScript.java:415)
>         at com.gargoylesoftware.htmlunit.html.HtmlScript$3.execute(HtmlScript.java:266)
>         at com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:276)
>         at com.gargoylesoftware.htmlunit.html.DomNode.fireAddition(DomNode.java:914)
>         at com.gargoylesoftware.htmlunit.html.DomNode.appendChild(DomNode.java:894)
>         at com.gargoylesoftware.htmlunit.javascript.host.Node.appendChild(Node.java:232)
>         at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at net.sourceforge.htmlunit.corejs.javascript.MemberBox.invoke(MemberBox.java:137)
>         at net.sourceforge.htmlunit.corejs.javascript.FunctionObject.call(FunctionObject.java:452)
>         at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1473)
>         at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:815)
>         at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
>         at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:415)
>         at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:274)
>         at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3132)
>         at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:107)
>         at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$4.doRun(JavaScriptEngine.java:587)
>         at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:651)
>         - locked <0x00000000f3238568> (a com.gargoylesoftware.htmlunit.html.HtmlPage)
>         at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:559)
>         at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:525)
>         at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:594)
>         at com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest.setState(XMLHttpRequest.java:216)
>         at com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest.doSend(XMLHttpRequest.java:661)
>         at com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest.access$000(XMLHttpRequest.java:89)
>         at com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest$1.run(XMLHttpRequest.java:563)
>         at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:559)
>         at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:525)
>         at com.gargoylesoftware.htmlunit.javascript.background.JavascriptXMLHttpRequestJob.run(JavascriptXMLHttpRequestJob.java:36)
>         at com.gargoylesoftware.htmlunit.javascript.background.JavaScriptJobManagerImpl.runSingleJob(JavaScriptJobManagerImpl.java:328)
>         at com.gargoylesoftware.htmlunit.javascript.background.DefaultJavaScriptExecutor.run(DefaultJavaScriptExecutor.java:161)
>         at java.lang.Thread.run(Thread.java:722)
> "main":
>         at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:648)
>         - waiting to lock <0x00000000f3238568> (a com.gargoylesoftware.htmlunit.html.HtmlPage)
>         at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:559)
>         at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:525)
>         at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:594)
>         at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:569)
>         at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptFunctionIfPossible(HtmlPage.java:996)
>         at com.gargoylesoftware.htmlunit.javascript.host.EventListenersContainer.executeEventListeners(EventListenersContainer.java:175)
>         at com.gargoylesoftware.htmlunit.javascript.host.EventListenersContainer.executeBubblingListeners(EventListenersContainer.java:234)
>         at com.gargoylesoftware.htmlunit.javascript.host.Node.fireEvent(Node.java:813)
>         at com.gargoylesoftware.htmlunit.javascript.host.Node.fireEvent(Node.java:737)
>         at com.gargoylesoftware.htmlunit.html.HtmlElement$1.run(HtmlElement.java:853)
>         at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:559)
>         at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:525)
>         at com.gargoylesoftware.htmlunit.html.HtmlElement.fireEvent(HtmlElement.java:858)
>         at com.gargoylesoftware.htmlunit.html.HtmlPage.executeEventHandlersIfNeeded(HtmlPage.java:1259)
>         at com.gargoylesoftware.htmlunit.html.HtmlPage.cleanUp(HtmlPage.java:278)
>         at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:429)
>         at com.gargoylesoftware.htmlunit.WebClient.loadDownloadedResponses(WebClient.java:2289)
>         at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.doProcessPostponedActions(JavaScriptEngine.java:695)
>         - locked <0x00000000ff450138> (a com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine)
>         at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.processPostponedActions(JavaScriptEngine.java:782)
>         at com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1238)
>         at com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1182)
>         at org.openqa.selenium.htmlunit.HtmlUnitMouse.click(HtmlUnitMouse.java:76)
>         at org.openqa.selenium.htmlunit.HtmlUnitWebElement.click(HtmlUnitWebElement.java:153)
>         at sun.reflect.GeneratedMethodAccessor67.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invokeReal(GrapheneProxyHandler.java:209)
>         at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler$1.invoke(GrapheneProxyHandler.java:140)
>         at org.jboss.arquillian.graphene.guard.RequestGuardFactory$1.intercept(RequestGuardFactory.java:78)
>         at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:73)
>         at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invoke(GrapheneProxyHandler.java:170)
>         at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.intercept(GrapheneProxyHandler.java:178)
>         at org.openqa.selenium.htmlunit.HtmlUnitWebElement$$EnhancerCGLIB$$da7bfba9.click(<generated>)
>         at org.jboss.seam.example.common.test.SeamGrapheneTest.clickAndWaitHttp(SeamGrapheneTest.java:177)
>         at org.jboss.seam.example.common.test.booking.graphene.RegistrationTest.register(RegistrationTest.java:117)
>         at org.jboss.seam.example.common.test.booking.graphene.RegistrationTest.testLongText(RegistrationTest.java:75)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>         at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>         at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>         at org.jboss.arquillian.junit.Arquillian$6$1.invoke(Arquillian.java:270)
>         at org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:60)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         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.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
>         at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
>         at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
>         at org.jboss.arquillian.container.test.impl.execution.ClientTestExecuter.execute(ClientTestExecuter.java:53)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         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.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)
>         at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createTestContext(ContainerEventController.java:129)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         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.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89)
>         at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         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.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
>         at sun.reflect.GeneratedMethodAccessor59.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         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.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
>         at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         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:135)
>         at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:111)
>         at org.jboss.arquillian.junit.Arquillian$6.evaluate(Arquillian.java:263)
>         at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:226)
>         at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
>         at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
>         at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:240)
>         at org.junit.rules.TestWatchman$1.evaluate(TestWatchman.java:48)
>         at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
>         at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
>         at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
>         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>         at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>         at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>         at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>         at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>         at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:185)
>         at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
>         at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
>         at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)
>         at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>         at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208)
>         at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:158)
>         at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
>         at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
>         at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:95)
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the arquillian-issues mailing list