[JBoss JIRA] (ARQGRA-263) Deadlock in guardHttp with HTMLUnit
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-263?page=com.atlassian.jira.plugin... ]
Lukáš Fryč reopened ARQGRA-263:
-------------------------------
> 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
> Fix For: 2.0.0.Beta1
>
>
> 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@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@111f5701"
> {noformat}
> Full stacktrace:
> {noformat}
> Java stack information for the threads listed above:
> ===================================================
> "JS executor for com.gargoylesoftware.htmlunit.WebClient@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
12 years, 7 months
[JBoss JIRA] (ARQGRA-263) Deadlock in guardHttp with HTMLUnit
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-263?page=com.atlassian.jira.plugin... ]
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@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@111f5701"
> {noformat}
> Full stacktrace:
> {noformat}
> Java stack information for the threads listed above:
> ===================================================
> "JS executor for com.gargoylesoftware.htmlunit.WebClient@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
12 years, 7 months
[JBoss JIRA] (ARQGRA-280) Refactor handling of staleness to improve performance
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-280?page=com.atlassian.jira.plugin... ]
Lukáš Fryč updated ARQGRA-280:
------------------------------
Assignee: (was: Jan Papousek)
> Refactor handling of staleness to improve performance
> -----------------------------------------------------
>
> Key: ARQGRA-280
> URL: https://issues.jboss.org/browse/ARQGRA-280
> Project: Arquillian Graphene
> Issue Type: Task
> Affects Versions: 2.0.0.Alpha3
> Reporter: Jan Papousek
> Fix For: 2.0.0.Beta1
>
> Original Estimate: 4 hours
> Remaining Estimate: 4 hours
>
> The current situation of handling staleness is it works purely accidentally in some cases and it prevents any caching of web elements.
> Imagine the following code:
> {code}
> Action action = new Actions(driver).moveToElement(element).build();
> ... // some action causing staleness
> action.perform();
> {code}
> The previous code doesn't throw StaleElementReferenceException only in the case when the action causing staleness finishes before the requested action starts performing and when there is no caching of web elements. Currently Graphene can't force the action to perform again when StaleElementReferenceException is thrown.
> In the case of caching the scenerio would be:
> # element is loaded and put to the cache
> # ... some actions ...
> # action causing staleness is performed
> # the requested action starts performing
> -- cached element is used => StaleElementReferenceException
--
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
12 years, 7 months
[JBoss JIRA] (ARQGRA-280) Refactor handling of staleness to improve performance
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-280?page=com.atlassian.jira.plugin... ]
Lukáš Fryč updated ARQGRA-280:
------------------------------
Fix Version/s: 2.0-Tracking
(was: 2.0.0.Beta1)
> Refactor handling of staleness to improve performance
> -----------------------------------------------------
>
> Key: ARQGRA-280
> URL: https://issues.jboss.org/browse/ARQGRA-280
> Project: Arquillian Graphene
> Issue Type: Task
> Affects Versions: 2.0.0.Alpha3
> Reporter: Jan Papousek
> Fix For: 2.0-Tracking
>
> Original Estimate: 4 hours
> Remaining Estimate: 4 hours
>
> The current situation of handling staleness is it works purely accidentally in some cases and it prevents any caching of web elements.
> Imagine the following code:
> {code}
> Action action = new Actions(driver).moveToElement(element).build();
> ... // some action causing staleness
> action.perform();
> {code}
> The previous code doesn't throw StaleElementReferenceException only in the case when the action causing staleness finishes before the requested action starts performing and when there is no caching of web elements. Currently Graphene can't force the action to perform again when StaleElementReferenceException is thrown.
> In the case of caching the scenerio would be:
> # element is loaded and put to the cache
> # ... some actions ...
> # action causing staleness is performed
> # the requested action starts performing
> -- cached element is used => StaleElementReferenceException
--
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
12 years, 7 months