Home » Php » php – PhantomJS hangs for a long time saying "Asynchronous Sessions clean-up phase starting NOW"

php – PhantomJS hangs for a long time saying "Asynchronous Sessions clean-up phase starting NOW"

Posted by: admin April 23, 2020 Leave a comment

Questions:

Here is a screenshot:

PhantomJS waiting for some calls

task :  Codeception PHP Testing Framework v1.6.2
Powered by PHPUnit 3.7.19 by Sebastian Bergmann.

Suite selenium_acceptance started

Trying to see the welcome page of newweather (welcomeCept.php)

issue : it sits as it is and waiting for phantomJS to respond and below is what phantomJS screen is showing :

[INFO  - 2014-03-13T01:42:51.575Z] SessionManagerReqHand - _postNewSessionCommand - New Session Created: ca14e740-aa50-11e3-bb6b-75468ba86108

[INFO  - 2014-03-13T01:47:42.806Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW

[INFO  - 2014-03-13T01:52:42.806Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW

[INFO  - 2014-03-13T01:57:42.806Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW

And it sits on the screen no results.

This is what I use:

  • PhantomJS version: 1.9.7
  • runs on port: 4444
How to&Answers:

Only semi-related answer i was able to find was the following:

“The Asynchronous Sessions cleanup phase starting NOW … was caused by some calls to external feeds, these were intermittently slow. This phase must have been waiting for these calls, which were timing out, but PhantomJS sat there waiting for a very, very long time.

Removing these calls when testing (with a wee bit of JavaScript, if host is localhost then use a dummy object) solved the problem.”

Found here: Repeating "Asynchronous Sessions cleanup phase starting NOW"

So the issue is most likely caused by external feed/API calls timing out.

Github issue: https://github.com/ariya/phantomjs/issues/11526

Answer:

The workaround that worked for me is to set the takesScreenshot capability to false.

DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("takesScreenshot", false);

Answer:

I got same problem an year ago. I found one dirty hack. I use other server with nginx where i proxied all queries to needed test build. I redirected my tests to proxy server and now I haven’t this error. Tests works every day since April 2016 and no errors.

Answer:

In Java, I used below code and it got solved

DesiredCapabilities caps = new DesiredCapabilities();
Change - WebDriver driver = new PhantomJSDriver(caps);
with - this.driver = new PhantomJSDriver(caps);