From: Marc G. <mgu...@ya...> - 2014-01-22 14:37:17
|
Hi look carefully at the stack: it doesn't hang, it is waiting because you're using the WaitingRefreshHandler. Are you sure that this refresh handler makes sense for you? According to your question, it is probably not the case ;-) Cheers, Marc. -- HtmlUnit support & consulting from the source Blog: http://mguillem.wordpress.com Le 22/01/2014 13:19, David Michael Gang a écrit : > Hi all, > > I use htmlunit 2.14 snapshot. > Sometimes it is hanging and does not return. > Unfortunately i cannot give a code because i cannot reproduce the problem. > I performed jstack on the hanging pid and got (just part of it, it looks > like a big loop) : > "main" prio=10 tid=0x000000005608e800 nid=0x453 waiting on condition > [0x00000000413ff000] > java.lang.Thread.State: TIMED_WAITING (sleeping) > at java.lang.Thread.sleep(Native Method) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:74) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WaitingRefreshHandler.handleRefresh(WaitingRefreshHandler.java:92) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1425) > .... > at > com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:294) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:462) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:394) > at > browser.HtmlUnitDriverExtension.get(HtmlUnitDriverExtension.java:35) > at > org.openqa.selenium.htmlunit.HtmlUnitDriver.get(HtmlUnitDriver.java:463) > > What can i do to prevent this issue? > > Thanks, > David > |