PhantomJS stops working while loading page

Our Behat-Tests use PhantomJS as browser via selenium2/webdriver. The execution stops occasionally during page loading.
We have no idea how to solve this problem, as it occurs not always at the same step/scenario.
Any ideas what the problem is or how to solve it?
Config:

started with option --webdriver=18643
tests were run with behat
process still responding on http://localhost:18643/wd/hub

PhantomJS Debug-Output
    2013-07-26T11:11:33 [DEBUG] WebPage - updateLoadingProgress: 14
2013-07-26T11:11:33 [DEBUG] WebPage - updateLoadingProgress: 26
2013-07-26T11:11:33 [DEBUG] WebPage - setupFrame ""
2013-07-26T11:11:33 [DEBUG] WebPage - updateLoadingProgress: 52
2013-07-26T11:11:33 [DEBUG] WebPage - updateLoadingProgress: 55
2013-07-26T11:11:33 [DEBUG] WebPage - updateLoadingProgress: 82
2013-07-26T11:11:54 [DEBUG] WebPage - updateLoadingProgress: 84
2013-07-26T11:12:04 [DEBUG] WebPage - updateLoadingProgress: 84
[INFO  - 2013-07-26T09:15:21.610Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2013-07-26T09:20:21.610Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2013-07-26T09:25:21.609Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2013-07-26T09:30:21.610Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2013-07-26T09:35:21.610Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2013-07-26T09:40:21.610Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2013-07-26T09:45:21.610Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2013-07-26T09:50:21.609Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2013-07-26T09:55:21.610Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2013-07-26T10:00:21.610Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2013-07-26T10:05:21.610Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW

regards florian

Same bug with version 1.9.7, used in jenkins/selenium builds. Any progress regarding this issue?

Same issue on RHEL 5.6 64 bit, PhantomJS version 1.9.2.
It seems that PhantomJS cleans up the sessions every 5 minutes and that's what is causing the message to be thrown. How about we disable that in the source code and then compile and then run, will that work and will have any impact, has anybody here tried that?

Same problem in 1.9.7 , ubuntu 12.04 . about 80% of time phantomjs works fine , but sometime
stocks and nothing happens
command :
phantomjs --debug=true phantom-server.js "http://didaniha.loc"

Debug :
2015-02-26T19:02:22 [DEBUG] CookieJar - Saved "_ga=GA1.2.912779759.1424964743; expires=Sat, 25-Feb-2017 15:32:22 GMT; domain=.didaniha.loc; path=/"
2015-02-26T19:02:22 [DEBUG] CookieJar - Saved "_gat=1; expires=Thu, 26-Feb-2015 15:42:22 GMT; domain=.didaniha.loc; path=/"
2015-02-26T19:02:23 [DEBUG] WebPage - updateLoadingProgress: 82

phantom-server.js :
var page = require('webpage').create();
var system = require('system');
page.viewportSize = {
    width: 1024,
    height: 768
};
console.log(system.args[1]);
page.open(system.args[1], function(status) {
    console.log(page.content);
    phantom.exit();
});

Same problem on two machines, one Jenkins Ubuntu server, one local dev machine. Interestingly, problem not reproducible on local vagrant Ubuntu dev box..
[ERROR - 2015-03-19T09:10:42.314Z] Session [3602f290-ce17-11e4-b5a9-374855c211cc] - page.onError - msg: TypeError: 'null' is not an object (evaluating 'document.getElementById("username").focus')
[ERROR - 2015-03-19T09:10:42.314Z] Session [3602f290-ce17-11e4-b5a9-374855c211cc] - page.onError - stack:
  sf (http://localhost:8081/saml2/login/:16)
  onload (http://localhost:8081/saml2/login/:46)
[INFO  - 2015-03-19T09:11:20.497Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2015-03-19T09:16:20.497Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW

Tried also this change to page timeout capabilities but it doesn't help.
Jenkins server (timeouts happen):
Debian GNU/Linux 7 (wheezy) -- 3.2.0-0.bpo.1-amd64 -- phantomjs 1.9.8
Local dev (timeouts happen):
Ubuntu 14.04.2 -- 3.13.0-46-generic -- phantomjs 1.9.8
Local dev box vagrant vm (timeouts do not happen!):
Ubuntu 12.04.4 -- 3.2.0-64-virtual - phantomjs 1.9.8
This problem started on our jenkins server gradually and it has gotten worse and now our tests are totally usable, we only get like 1/10 builds without timeout and pretty much phantomjs is unusable for us :(

+1
It sounds like my problem is similar.  Our CI build occasionally gets stuck on browser.get calls and the PhantomJS output is similar: last thing I see is
2015-03-21T21:26:39 [DEBUG] WebPage - updateLoadingProgress: 86

I am running PhantomJS 1.9.7 or 1.9.8 (same results with both) on RedHat Enterprise Linux 5.9.
Also, I can't reproduce this problem outside the Jenkins CI build.  Running tests from the command line or locally both work just fine.
If there is no fix for PhantomJS itself yet, does anyone know what the trigger condition is, for implementing a workaround in the application to avoid it?

the same problem in win7 , phantomjs-2.0.0-windows .

Same problem with windows 8,phantomjs-2.0.0-windows .

We were also using phantomjs in our product because of the multiple issues we switch to http://www.awesomium.com/ ...it is pretty cool and doing great for us.

Same with phantomjs 2.0.0 on Max OS X

observed the same issue with
{"XSSAuditingEnabled":false,"javascriptCanCloseWindows":true,"javascriptCanOpenWindows":true,"javascriptEnabled":true,"loadImages":true,"localToRemoteUrlAccessEnabled":false,"userAgent":"Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.7 Safari/534.34","webSecurityEnabled":true}
Any solution to this problem???

the same problem with phantomjs 2.0.1-development on centos 6.5

I am also having the same problem with phantomjs 1.2.1 and selenium 2.46.0 on ubuntu 14.04LTS.
Anyone know how to fix this ?

Hey Finally I foun the solution for this . in Java you can use driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); .
This fixed the problem for me. Hope same for all of you . :+1:

That just changes the failure mode - instead of hanging, it times out.
Which is better in a CI environment, because you can just re-run the tests
and hope it works the next time.  But still not desired result.
On Thu, Jun 25, 2015 at 3:17 AM, Jayesh Choudhary<EMAIL_ADDRESS>wrote:

Hey Finally I foun the solution for this . in Java you can use
driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); .
This fixed the problem for me. Hope same for all of you . [image: :+1:]
—
Reply to this email directly or view it on GitHub
https://github.com/ariya/phantomjs/issues/11526#issuecomment-115135376.

I am also having this problem. At some random point during the test run, one of the tests will get stuck, output.xml file does not get updated anymore, and the run has to be killed. I would really like to see a fix for this, otherwise we are going to have to abandon PhantomJS  entirely.
I am using a Virtualbox VM running Ubuntu 12.04 and using version 1.9.8 of PhantomJS.
Has anybody worked out a hack?

Switched already to Selenium Firefox driver, almost as fast using a MySQL ramdisk and Xvfb. And it's super reliable.

@jaywink The fix for ghostdriver #380 didn't work for you? I was thinking of trying it but maybe it doesn't fix this particular problem?

@erinphemi no I tried that too, see this comment.

Hmm, so from reading #12180, PhantomJS itself works fine on its own, the problem happens when trying to use it with Selenium?

Is there any chance this will be fixed? I don't know how to fix it myself.

I have the same issue - sometimes my build times out and sometimes it runs fine.

+1 but see  2 years and still not fixed ? :) even after so many people complaining ?

Unfortunately, without a self-contained, minimal, reproducible test case there's basically nothing we (PhantomJS devs) can do about this bug report.  We don't even know if this is a bug in PhantomJS!  It could be a bug in Selenium or whatever webdriver glue you are using.  If it is a bug in PhantomJS it is almost certainly a bug in Webkit that depends strongly on the contents of the pages y'all are testing -- and we don't know anything about those.

any fix for this issue yet?

Looks like automatic cleaning up. We're just rebooting phantomjs after each scenario :)

My Observations:

It turns out that my application was making calls to external resources which was getting blocked by firewall and as a result the page did not get rendered properly and thus selenium got timed out waiting for the elements(class, id etc) in the page to load.

Some of the id and class elements was changed in the code and as a result(which i was not aware of) phantomjs failed.

I have some more information. I run 24/7 for months my tests single threaded from java and this doesn't ever happen. whenever I run it multithreaded it always happens. I suspect it has something to do with two instances running together but it happens only after quite a few instances fire up and then get destroyed.

https://gist.github.com/arisAlexis/60a92e43c24a255ad13c
I have created a test case that obviously is a wrong usage of the driver but if you let it run for a few minutes it produces the Asynchronous session cleanup message.
I do not close() or quit() the driver and this results in many instances of phantom being left open while with garbage collection should be closed.
I hope it helps? Do you think this is a ghostdriver problem that doesn't close the instance?

Have come to this page being curious about the message. Just to mention, I am running PhantomJS 2.0 via Java webdriver, and have no problems with hanging. The aforementioned message just appears periodically, obviously during some scheduled memory clean-up. No problems noticed.

I have this problem too.

[INFO  - 2015-12-04T09:36:56.763Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2015-12-04T09:37:11.708Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2015-12-04T09:37:11.709Z] SessionManagerReqHand - _cleanupWindowlessSessions - Deleted Session 'e5f06a10-9a69-11e5-a73d-1d612c039e5a', because windowless
[INFO  - 2015-12-04T09:40:01.395Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2015-12-04T09:40:17.132Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2015-12-04T09:41:56.773Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW

Last night my test was running 12 hours until I killed it this morning. It's just a simple test that navigates a few pages and runs 20 times, the problem can happen on any page. I've created a runnable jar which I call from a batch script and have recently started running through jenkins but I've had the issue using both.
Each run of the test creates a new version of the driver and at the end I use driver.close() and driver.quit().
Because the test is in a try catch I thought maybe on the odd time it catches an exception it isn't closing properly  so for a test I've just added

Runtime.getRuntime().exec("taskkill /F /IM Phantomjs.exe");

to kill all instance of the  exe. I'll see how that goes the next day or so but now I obviously can't run my tests in multiple threads and have to change Jenkins to only allow one  project that uses phantomjs to be able to run at once.

We've had this problem too.  We've now fixed it by running phantomjs with selenium instead of using the '--webdriver' switch.
Before, we had a script that would hang phantomjs after about 10 runs.  Just to make completely sure that this would work, we ran it overnight - just shy of a million times - without an issue.  It's definitely not near as fast, for sure, but it does work.

Ok, so I found one down side.

@cmoore  Could you please tell me how you run it with selenium? For the time being I can kill the process after each test at least I will be able to get some tests run over night.

Sure thing.  I'm away from my machine at the moment, but I can tell you how to find out.
java -jar selenium-standalone.jar

Then hit it with a request with "phantomjs" in the capabilities.  It'll throw an error, but inside that error is the string you need.  Take that and restart selenium.  So it'll look something like this:
java -jar selenium-standalone.jar -Dphantomjs.driver.path=/path/to/phantomjs.exe

I think the string you're looking for might be "phantomjs.driver.path", but I can't say for sure at the moment.  Easy enough to find out though.

So you are saying that selenium includes  its own phantomjs version that
doesnt get stuck?
On Dec 10, 2015 12:23 PM, "Clint Moore"<EMAIL_ADDRESS>wrote:

Sure thing. I'm away from my machine at the moment, but I can tell you how
to find out.
java -jar selenium-standalone.jar
Then hit it with a request with "phantomjs" in the capabilities. It'll
throw an error, but inside that error is the string you need. Take that and
restart selenium. So it'll look something like this:
java -jar selenium-standalone.jar -Dphantomjs.driver.path=/path/to/phantomjs.exe
I think the string you're looking for might be "phantomjs.driver.path",
but I can't say for sure at the moment. Easy enough to find out though.
—
Reply to this email directly or view it on GitHub
https://github.com/ariya/phantomjs/issues/11526#issuecomment-163583143.

Oh, no, you have to have the phantomjs executable.  Grab that, and the selenium-standalone jar and put them in a directory.  Then use
java -jar selenium.jar -Dphantomjs.binary.path=phantomjs.exe

Then use "http://<IP_ADDRESS>:4444/wd/hub" as the url for selenium requests and use it like you would if you gave phantomjs the --webdriver switch.

Also, note that you can use both chrome and phantomjs and switch just by changing the value in desiredCapabilities, which is nice for debugging tests, etc, if you'd like to watch the action.
java -jar selenium.jar -Dwebdriver.chrome.driver=chromedriver.exe -Dphantomjs.binary.path=phantomjs.exe

I am having this problem by running the executable phantomjs but using the
java api and not the standalone server. so I dont get what is the
difference. They bith run the same file in the end right?
On Dec 10, 2015 3:00 PM, "Clint Moore"<EMAIL_ADDRESS>wrote:

Also, note that you can use both chrome and phantomjs and switch just by
changing the value in desiredCapabilities, which is nice for debugging
tests, etc, if you'd like to watch the action.
java -jar selenium.jar -Dwebdriver.chrome.driver=chromedriver.exe -Dphantomjs.binary.path=phantomjs.exe
—
Reply to this email directly or view it on GitHub
https://github.com/ariya/phantomjs/issues/11526#issuecomment-163627051.

Yep, you're correct!  Same executable, just run in a different way.  I don't understand it either, but my stuff is working, so that's at least one positive.

I run it the same way has you arisAlexis. I seem to have had luck today by removing driver.close(); and just doing driver.quit();
The test I'm running places 360 orders on a site in a try catch, it will attempt 500 times until 360 orders went through successfully. I now have the problem of having around 60 phantomjs.exe still running when it finishes. I assume that's the number of tests that throw exceptions, I will add some debugging in the morning to prove it.

Yes same happens to mr and im only using driver.quit in a finally clause
that always runs. I suspect a silent error is thrown somewhere.
On Dec 10, 2015 3:59 PM, "AJRobson1"<EMAIL_ADDRESS>wrote:

I run it the same way has you arisAlexis. I seem to have had luck today by
removing driver.close(); and just doing driver.quit();
The test I'm running places 360 orders on a site in a try catch, it will
attempt 500 times until 360 orders went through successfully. I now have
the problem of having around 60 phantomjs.exe still running when it
finishes. I assume that's the number of tests that throw exceptions, I will
add some debugging in the morning to prove it.
—
Reply to this email directly or view it on GitHub
https://github.com/ariya/phantomjs/issues/11526#issuecomment-163650509.

Well a week later and it's started to happen again:
SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
It's run fine 5 times a day for the last week but this morning I checked it and the last 3 runs have timed out due to this issue (I'm running through jenkins and using a plugin to kill the build if it takes over 4 hours)
Literally nothing has changed with the code or the way I call the tests.

Does this count as a minimal example?
You will need PHP and Composer to deploy it and it runs a whole testsuite.
But it gets stuck every time when I run it (I used PhantomJS 1.9.0 on Ubuntu 14.04 LTS).
git clone https://github.com/Codeception/Codeception
cd Codeception
composer install

php -S <IP_ADDRESS>:8000 -t tests/data/app >/dev/null 2>&1 &
phantomjs --webdriver=4444

php codecept run tests/web/WebDriverTest.php

Can confirm that problem, Jenkins + Codeception + phantomjs 2.1

Running into the same problem but with when navigating to https urls. I am using phantomjs 2.1.1 in java on a Linux 64bit machine with webdriver and browsermob proxy. For http urls, I can capture the HAR but its always empty. Please look at the question posted.
https://stackoverflow.com/questions/35418436/phantomjs-stuck-on-linux

this happens when you are accessing multiple pages (e.g. pagination links ) and phantomjs hangs for so long. it can be an error but can be overcomed by exception handling. I don't know which platforms you are using phantomjs. in php-webdriver put your code within a try block running within a do while loop that will stop if a certain condition is not satisfied, for example you can set $stop = 0, so while visiting each pagination link until when end is reached then $stop = 1. so the part that visit the pagination links can be another loop within the try block, which can be stopped with some logic like if previous page innerhtml is equal to new page innerhtml. exceptions that can be handled in terms of this errors are WebDriverException and WebDriverCurlException, so when these exceptions occurs you reopen current page that fails. The whole idea is to handle exceptions and automate your program to run again.

@emiglobetrotting Thank you for the insight, however my program uses browsermob proxy to access pages with phantomjs. It is a 64-bit Linux machine running Java. Also, the test that I run just navigates to a page pointed by the url and captures the HAR using the proxy. It does not access multiple pages or links. I do have exception handling around the code and also run it again, if there is a failure or problem. My problem is that when trying to access a https url, phantomjs hangs and I have to kill the process to get back access. For http urls, it navigates fine but the HAR is empty.

I'm having the same problem.

SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW

I'm developing in java and I use the following versions:

  <!-- Selenium and PhantomJS -->
  <dependency>
  	<groupId>org.seleniumhq.selenium</groupId>
  	<artifactId>selenium-java</artifactId>
  	<version>2.53.0</version>
  </dependency>
  <dependency>
  	<groupId>org.seleniumhq.selenium</groupId>
  	<artifactId>selenium-firefox-driver</artifactId>
  	<version>2.53.0</version>
  </dependency>
  <dependency>
  	<groupId>com.codeborne</groupId>
  	<artifactId>phantomjsdriver</artifactId>
  	<version>1.2.1</version>
  </dependency>

I am using ubuntu 14 and when I try to run my tests, after a few times I open a URL it appears the message and lose my session (I'm using the login to the system once and then do internal testing ... when it clears the session my tests are wrong because it is not logged in).
My WebDriver is a Singleton, instantiate only once in all my test:
public class ManagerWebDriver {

	private WebDriver driver = null;
	private static ManagerWebDriver instance = null;

	private ManagerWebDriver() {
		DesiredCapabilities caps = new DesiredCapabilities();
		caps.setJavascriptEnabled(true);
		caps.setCapability("takesScreenshot", true);
		caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, getPathPhantomJS());

		boolean silentMode = Boolean.valueOf(Configurations.getInstance().getValue(ConfigKeys.silent_mode));
		if (silentMode) {
			driver = new PhantomJSDriver(caps);
		} else {
			driver = new FirefoxDriver(caps);
		}

		int width = Integer.parseInt(Configurations.getInstance().getValue(ConfigKeys.width_browser));
		int height = Integer.parseInt(Configurations.getInstance().getValue(ConfigKeys.height_browser));
		driver.manage().window().setSize(new Dimension(width, height));
	}

	public static ManagerWebDriver getInstance() {
		if (instance == null) {
			instance = new ManagerWebDriver();
		}
		return instance;
	}

	public WebDriver getWebDriver() {
		return driver;
	}
}

Have tested several versions of phantomjs binary but the latest (1.9.6, 1.9.7, 2.1.1 ... to) give error:

[ERROR - 2016-03-24T00:59:47.773Z] WebElementLocator - _handleLocateCommand - Element(s) NOT Found: GAVE UP. Search Stop Time:<PHONE_NUMBER>760
phantomjs://platform/console++.js:263 in error

All versions of binary I tested:
phantomjs-2.1.1-linux-x86_64
phantomjs-1.9.8-linux-x86_64
phantomjs-1.9.7-linux-x86_64
phantomjs-1.9.6-linux-x86_64
phantomjs-1.9.1-linux-x86_64

@vitalibr your own case is related to this

https://github.com/ariya/phantomjs/issues/12277

@emiglobetrotting
But the cookies-keep-session argument no longer exists in PhantomJS. ( http://phantomjs.org/api/command-line.html )

@vitalibr the solution from

https://github.com/ariya/phantomjs/issues/12277
download the phantomjs source and comment out "purgeSessionCookies();" in "src/cookiejar.cpp", then rebuilt it and the session cookies will no longer be removed.

I'm running into this too. It definitely has some kind of timing component because if I try to debug the program by stepping through it one line at a time, it consistently works fine. Which makes sense, because I step through a program much slower than a program runs.
Super frustrating problem. Nobody seems able to fix it, and it breaks many tests. Seems that removing phantomjs is the best solution, but that's a big change for what seems like such a simple bug.

For reference, we are running Selenium Webdriver with Phantomjs 2.1.1 (or 2.0.0 for that matter) on Travis-CI's Debian environment.  We had no issues running on OSX or CircleCI's (I assume RedHat) environment.  These are the final lines once the tests get stuck:
`[INFO  - 2016-09-15T22:14:03.714Z] Session [b61b0fc0-7b91-11e6-89a8-6751d1ffce74] - Session.negotiatedCapabilities - {"browserName":"phantomjs","version":"2.0.0","driverName":"ghostdriver","driverVersion":"1.2.0","platform":"linux-unknown-64bit","javascriptEnabled":true,"takesScreenshot":true,"handlesAlerts":false,"databaseEnabled":false,"locationContextEnabled":false,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"cssSelectorsEnabled":true,"webStorageEnabled":false,"rotatable":false,"acceptSslCerts":false,"nativeEvents":true,"proxy":{"proxyType":"direct"}}
[INFO  - 2016-09-15T22:14:03.714Z] SessionManagerReqHand - _postNewSessionCommand - New Session Created: b61b0fc0-7b91-11e6-89a8-6751d1ffce74
[INFO  - 2016-09-15T22:19:03.325Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T22:24:03.325Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T22:29:03.325Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T22:34:03.325Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T22:39:03.325Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T22:44:03.327Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T22:49:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T22:54:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T22:59:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T23:04:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T23:09:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T23:14:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T23:19:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T23:24:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T23:29:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T23:34:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T23:39:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T23:44:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-09-15T23:49:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW`

same problem with version 2.1.1

Same problem on Ubuntu on CI server, but never on MacOS local. Pretty hard to debug.

So, is anyone doing anything about this????? I see it in Centos6

I have the same problem on Windows 10, running version 2.11. The error shows in my console which is annoying but it still returns the element(s) I am trying to retreive.

For my 1.9.8 is stable to use, 2.1.1 is broken.

I can reproduce this issue when I use phantomJS 2.1.1 (Lubuntu 16.10) as a headless browser (Selenium grid node), you just need to use WebDriver ExpectedConditions() and wait for an element that does not exist:
IWait<IWebDriver> waitSave = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); waitSave.Until(ExpectedConditions.TextToBePresentInElement(caseTypePage.InfoPanelMessage, "saved"));
Here caseTypePage.InfoPanelMessage does not exist.
This will reproduce the issue for 100%. I have two running phantomJS nodes and when I run over 100 tests in parallel with NUnit 3 at some point nodes fail at all with this error:

[INFO - 2016-09-15T22:49:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW

I guess due to hanging queue of sessions.

Same problem with php 5.6 and phantomJS 2.1.1 on travis

[INFO  - 2016-11-14T10:07:40.410Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW

but php 7.0 passes Travis build

I had this issue running multiple instances of phantomjs with selenium. I was able to get around it by disabling the phantomjs log. The executable writes to a single log file. I think that is the reason why it hangs after running for some time.
http://stackoverflow.com/questions/20181329/java-phantomjsdriver-disable-all-logs-in-console#23562127

Ran into this problem using grails 2.5.5 and the following set up ...
"browserName":"phantomjs","version":"2.1.1","driverName":"ghostdriver","driverVersion":"1.2.0","platform":"takesScreenshot":true
Issue was resolved by downgrading the grails plugin asset pipeline from ":asset-pipeline:2.11.0" to ":asset-pipeline:2.1.0", unsure why 2.11.0 was causing this issue though, if someone knows then feel free to reply, thanks.

I'm getting exact same error discussed here, when I'm running UI automation using Gemini Testing . The error start happening when the number of tests exceeded 100. Any pointer to fix this issue is really appreciated?

We are experiencing the same problem here.
Setup: Selenium running phantomJS 2.1.1 on Ubuntu 12.04 (also on Dev-VM with Ubuntu 14.04)
Logfile looks the same:
[INFO  - 2016-11-28T10:40:52.031Z] SessionManagerReqHand - _postNewSessionCommand - New Session Created: 22193b80-b557-11e6-a436-5d8e3ab83275
[INFO  - 2016-11-28T10:41:23.945Z] Session [22193b80-b557-11e6-a436-5d8e3ab83275] - page.settings - {"XSSAuditingEnabled":false,"javascriptCanCloseWindows":true,"javascriptCanOpenWindows":true,"javascriptEnabled":true,"loadImages":true,"localToRemoteUrlAccessEnabled":false,"userAgent":"Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1","webSecurityEnabled":true}
[INFO  - 2016-11-28T10:41:23.945Z] Session [22193b80-b557-11e6-a436-5d8e3ab83275] - page.customHeaders:  - {}
[INFO  - 2016-11-28T10:45:51.604Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-11-28T10:50:51.628Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-11-28T10:55:51.770Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
last lines are repeated exactly after 5 minutes over and over again

Now - after 3 hours of hanging - the test proceeded. Some steps went through - now it hangs again.
Log:
[INFO  - 2016-11-28T13:35:51.906Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-11-28T13:40:51.909Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[ERROR - 2016-11-28T13:40:56.674Z] Session [22193b80-b557-11e6-a436-5d8e3ab83275] - page.onError - msg: TypeError: undefined is not an object (evaluating 't.appendChild')
[ERROR - 2016-11-28T13:40:56.674Z] Session [22193b80-b557-11e6-a436-5d8e3ab83275] - page.onError - stack:
i (http://static-tagr.gd1.mookie1.com/s1/sas/lh1/checkSegments.min.js:1)
(anonymous function) (http://static-tagr.gd1.mookie1.com/s1/sas/lh1/checkSegments.min.js:1)
[INFO  - 2016-11-28T13:40:56.891Z] Session [22193b80-b557-11e6-a436-5d8e3ab83275] - page.settings - {"XSSAuditingEnabled":false,"javascriptCanCloseWindows":true,"javascriptCanOpenWindows":true,"javascriptEnabled":true,"loadImages":true,"localToRemoteUrlAccessEnabled":false,"userAgent":"Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1","webSecurityEnabled":true}
[INFO  - 2016-11-28T13:40:56.896Z] Session [22193b80-b557-11e6-a436-5d8e3ab83275] - page.customHeaders:  - {}
[INFO  - 2016-11-28T13:45:51.946Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-11-28T13:50:51.919Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-11-28T13:55:51.920Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-11-28T14:00:51.936Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-11-28T14:05:51.938Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-11-28T14:10:52.445Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
[INFO  - 2016-11-28T14:12:12.087Z] GhostDriver - Main - running on port 27535
[INFO  - 2016-11-28T14:12:12.117Z] Session [a804cee0-b574-11e6-96f8-694864c72648] - page.settings - {"XSSAuditingEnabled":false,"javascriptCanCloseWindows":true,"javascriptCanOpenWindows":true,"javascriptEnabled":true,"loadImages":true,"localToRemoteUrlAccessEnabled":false,"userAgent":"Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1","webSecurityEnabled":true}
[INFO  - 2016-11-28T14:12:12.118Z] Session [a804cee0-b574-11e6-96f8-694864c72648] - page.customHeaders:  - {}

This old issue is reproducible to me too. Try all the possible way to resolve it but it's not working.
[INFO  - 2016-12-08T09:01:47.400Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
Seems it's not related to phantomjs version. anyone have any idea, please help to resolve it.

disable screenshot or comment out code that takes a screenshot.

Disabling the screenshot does not always work

Set the phantomjs log-level to DEBUG
I guess you will see something like this:
[DEBUG - 2016-12-09T12:20:49.434Z] Session [e8d5af00-be09-11e6-ae83-d7e9c0732cc6] - _execFuncAndWaitForLoadDecorator - Page Loading in Session: true [DEBUG - 2016-12-09T12:20:49.536Z] Session [e8d5af00-be09-11e6-ae83-d7e9c0732cc6] - _execFuncAndWaitForLoadDecorator - Page Loading in Session: true [DEBUG - 2016-12-09T12:20:49.642Z] Session [e8d5af00-be09-11e6-ae83-d7e9c0732cc6] - _execFuncAndWaitForLoadDecorator - Page Loading in Session: true [DEBUG - 2016-12-09T12:20:49.745Z] Session [e8d5af00-be09-11e6-ae83-d7e9c0732cc6] - _execFuncAndWaitForLoadDecorator - Page Loading in Session: true [DEBUG - 2016-12-09T12:20:49.856Z] Session [e8d5af00-be09-11e6-ae83-d7e9c0732cc6] - _execFuncAndWaitForLoadDecorator - Page Loading in Session: true [DEBUG - 2016-12-09T12:20:49.976Z] Session [e8d5af00-be09-11e6-ae83-d7e9c0732cc6] - _execFuncAndWaitForLoadDecorator - Page Loading in Session: true
And then - every 5 minutes you will see the " Asynchronous Sessions clean-up phase starting NOW"
I think phantom is waiting here for a script to be loaded or executed completely.
There seems to be no default timeout....
You can set a timeout for a session via Webdriver: https://www.w3.org/TR/webdriver/#set-timeouts
But phantomjs throws an error and your test might fail when the timeout is exceeded.
We are testing a website with a lot of third-party JavaScripts (most of them are ads). They are not necessary for a working website but they seem to block phantomjs.
Would be great to have an option to ignore the not-loaded scripts and let phantom go on.
There is something called "page load strategy" in the webdriver protocol: https://www.w3.org/TR/webdriver/#dfn-page-loading-strategy
This seems interesting for our needs - but I can't find out how to set or change this behaviour in phantomjs

No solution yet? I am waiting for the solution.

@zackw this is the closest I've seen to a reproducible case:
IWait<IWebDriver> waitSave = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); waitSave.Until(ExpectedConditions.TextToBePresentInElement(caseTypePage.InfoPanelMessage, "saved"));

Here caseTypePage.InfoPanelMessage does not exist.
This will reproduce the issue for 100%. I have two running phantomJS nodes and when I run over 100 tests in parallel with NUnit 3 at some point nodes fail at all with this error:

    [INFO - 2016-09-15T22:49:03.328Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW

I guess due to hanging queue of sessions.```
from @scraper

A hypothesis from @randymarsh78

I had this issue running multiple instances of phantomjs with selenium. I was able to get around it by disabling the phantomjs log. The executable writes to a single log file. I think that is the reason why it hangs after running for some time.
http://stackoverflow.com/questions/20181329/java-phantomjsdriver-disable-all-logs-in-console#23562127

In our setup selenium starts each phantomjs instance with the cli option "--webdriver-logfile" and a separate value for this. So each process has it's own logfile - unfortunately this is (at least in our case) not the solution.

My coworker & I found that if number of threads > number of phantomjs process, it will produce the problem, but  not sure. Someone please help check this hypothesis.

@kyotin do you have a reproducible example?
@miertschink we could add whitelist and blacklist functionality to ghostdriver.  that's what i did with the custom ghostdriver build i use at work.  i think it would be best to add it to the capabilities so every client can use it out of the box.

@kyotin , could you give me an example?
I'm facing the same issue. I'm using Selenium webdriver for phantomjs where phantomjs version is 2.1.1.
Using concurrent.futures, I launch 10 threads to scrape the urls using phantom webdriver.
The script got stuck after 60 mins or so when only used implicit wait for 120 secs.
Next, the script got stuck after ~3hours when I added set_page_load_time_out for 300secs.
I'm unable to figure out the issue as the ghostdriver.log is truncated by itself.

@jesg Yes! The option to black or whitelist external sources would be great I think. This may also speed up our tests a lot. And yes - a json-String containing the white/blacklist configuration which is passed via capabilities would be nice. (This would be some kind of adblocker for phantomjs)

@sarahsaleem if you launch 10 threads, you should run 10 or more phantomjs webdriver.

@miertschink ok, i'll work on integrating those changes upstream.  my current implementation uses phantomjs.page.blacklist and phantomjs.page.whitelist for the capability names.

@jesg great! I am really looking forward to it.
Thank you in advance

@kyotin , I have launched 10 threads to process 10 webdriver instances concurrently. So if we see, the webdriver (for phantomjs) has 10 different instances/thread. Does this make sense?
Also, when I added script timeout, i didn't see process hanging again (though have only processed a couple of thousand urls).
For threading, I have used concurrent.futures.as_completed

@miertschink i've pushed my patch for blacklist/whitelist capabilities.
i rebased the feature onto my master branch.  you can run it with my perl script or the npm package i made.

@jesg Hi! I'm sorry for my poor knowledge in advance. I just want to know if your patch is fixing the main issue - "SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW" ? Thanks

@jesg sorry - I didn't get a notification about your answer. Thank you for the patch - I will try it as soon as I can
@defacto123 "The issue" here isn't the issue :)
This "SessionManagerReqHand .... starting NOW" is just a normal output from phantom and has nothing to do with the problem. Did you read this?
https://github.com/ariya/phantomjs/issues/11526#issuecomment-266051381
I personally think that the real underlying problem isn't clear yet or differs from user to user.
In my case (at least I think so) phantom is waiting for some stuff on my site which doesn't load (some annoying stuff from an AdServer) and that's why it seems to hang.
The Fix from jesg will provide a way to exclude such resources (like the AdServer-URLs). Hopefully this will do the trick

@miertschink Thanks for the answer, that explains a lot to me. As I see, I have to set the logging to debug and check if there is something that doesn't load and the server is waiting for it. After I get to the point I can try the dedicated patch.

I posted a workaround that worked for me in another ticket hopefully this can help some of you. https://github.com/ariya/phantomjs/issues/14186#issuecomment-279739455

Same Problem, is there a bugfix?
Currently, i'm using a workaround. I run the test multiple time if it failed because of a timeout.

phantomjs2.1.1+ghostDriver+selenium2 after start 20 thread one by one, all thread will stuck about 3 hour with this log "SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW", any good idea?
try to add this setting, but nothing changed.
driver.manage().timeouts().pageLoadTimeout(100, TimeUnit.SECONDS);
by the way, this happened after i change my proxy ip

phantomjs2.1.1 + ghostDriver + selenium3 , occasionally happened with this log "SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW"

phantomjs2.1.1 + ghostDriver + selenium3 , occasionally happened with this log "SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW"

but see 3.75 years and still not fixed ? :) even after so many people complaining ?

@liuluheng And how many of the people "complaining" put in the time to produce a reproducible example? or dig into the source and submit a fix PR in the last 3.75 years?  Remember that you're not paying for the software.

actually, this issue will happen if you don't close phantomjs properly. In this cause, you will have multiple phantomjs process, or you just want to run tests in parallel. for me if the count of phantomjs process is bigger than 15, will have this issue. so in my eyes, you can try to reduce the count of phantomjs instance at the same time.

hey ,i got the solution by using webdrivermanager
<dependency> 				<groupId>io.github.bonigarcia</groupId> 				<artifactId>webdrivermanager</artifactId> 				<version>1.6.2</version> 			</dependency>
and i dont know why...hhhha

bug confirmed. it is waiting for infinity to get resources.

Any fix for this issue yet?

Please update as soon as issue fixed?

It will never be fixed, PhantomJS is no longer maintained: #15105

I moved to a Selenium Grid on a Linux server setup as a workaround. I think
it is not a PhantomJS issue but rather a Windows OS problem.
On Tue, Aug 22, 2017 at 8:53 PM, Gintautas Miselis<EMAIL_ADDRESS>
wrote:

It will never be fixed, PhantomJS is no longer maintained: #15105
https://github.com/ariya/phantomjs/issues/15105
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ariya/phantomjs/issues/11526#issuecomment-323991020,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWYIG3LFyLT8ugXadYmjlidXUFfWW9r2ks5sarMTgaJpZM4A3N8T
.


Adjust renovate with minor/patch only

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR type

[ ] Bugfix
[ ] Feature
[x] Refactoring

What's new?

[x] PR closes #2798

Before submitting Pull Request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged the recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </rmrk/collection/26902bc2f7c20c546a-1FVG7>
[ ] I've tested PR on mobile and everything seems works
[ ] I found edge cases
[ ] I've written some unit tests 🧪

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

tested on forked repository:

Dependency Dashboard: https://github.com/preschian/nft-gallery/issues/7
will bump minor and patch packages:

https://github.com/preschian/nft-gallery/pull/35
https://github.com/preschian/nft-gallery/pull/27

so "matchDepTypes": ["dependencies", "devDependencies"] did the trick?

pay 100

@kkukelka and need define the major also
{
  "matchUpdateTypes": ["major"],
  "enabled": false
}

😍 Perfect, I’ve sent the payout
💵 $100 @ 173.9 USD/KSM ~ 0.575 $KSM
🧗 DY4SQF2iD456tH89aQtz5wv1EV3BbSW8wKKuMcwbmXaj1pM
🔗 0xa27aa2937e1e5ac25c03293172f7e49123f95b9ca0d80acdbb9386bf9579eb03
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues

@kkukelka and need define the major also
{
  "matchUpdateTypes": ["major"],
  "enabled": false
}

sweet :)
i squashed you PR btw so we dont pollute history. hope you dont mind

@kkukelka it's oke 👍 tbh, I prefer squashed instead of normal merge

But this would be opening two separate PRs?

@yangwao yaps, to unify them remove this config "separateMinorPatch": true,. I separate them because the minor failed in the build stages


Remove legacy Cluster Resource behavior left in place for the 0.14.0 …

…release.
Changes
This is a cleanup commit that should go in after 0.14.0 is cut. It was introduced
in #2697, to fix #2694.
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[X] Includes tests (if functionality changed/added)
[X] Includes docs (if user facing)
[X] Commit messages follow commit message best practices

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes
The ClusterResource has been updated to write it's kubeconfig to the correct location on disk. Previously it was written to a location under /workspace/input/<resource ref name>, instead of the correct /workspace/input/<resource binding name>. If you hardcode resource paths in your tasks, you will need to update these. If you refer to paths by interpolation ( $(resources.inputs.<resource name>) ), you do not need to make any changes.

This changes was introduced in 0.13.0, but both paths were included. This removes the legacy path.

/hold until 0.14.0 is cut

/kind cleanup

/hold

/hold cancel

Great, thanks @dlorenc !
/approve
/lgtm


Add exclusion rule to validate-artifacts.yml

Reason/Context
Related to .github replication workflow, see: https://github.com/microcks/.github/issues/16
Description
Missing exclusion rule in validate-artifacts workflow
Implementation ideas
Add
on:
  push:
    paths-ignore:
      - '.github/**'
      - '.gitignore'
      - 'LICENSE'
      - 'README*'
      - 'CODE_OF_CONDUCT*'
  pull_request:
    paths-ignore:
      - '.github/**'
      - '.gitignore'
      - 'LICENSE'
      - 'README*'
      - 'CODE_OF_CONDUCT*'

validate-artifacts.yml update to exclude MD files on PR only


mouseover should indicate clickability

A lot of user interfaces indicate clickability by subtly changing an icon when you mouse over it. Github does this with a color change, background color change, or underlining. Others do it by slightly enlarging an icon when you mouse over it.
Let's add this to our demo. I suggest doing it by making the node shape a tiny bit larger when we mouse over it. We want arrows to be clickable as well. We will add properties to things like "taxonRank"; the details are not worked out yet.
Note: we already display a tooltip when we mouse over a taxon node. We can still enlarge the node itself to show that it's clickable. So the two are not incompatible.

It's good, but I'd like to make it a little more subtle. The size increase should be just noticeable. Also, when you apply this effect, let's also give a border to the node. Again, the border should be just noticeable, i.e., as thin as possible.

Ok I just added this fix to demo2.html. I made the adjustments to be just noticeable, but if you'd still like to change them let me know.

The borders look great, but I think the size expansion is still larger than it needs to be. Can you make it even more subtle?
Also, this stuff works in the taxonomy display mode but not in property display mode. It should work in both, and we should be able to click on the parent taxon (the target of the subTaxonOf link) and move to that taxon.

Since we can now click on a taxon rank node like Genus, it should be responding to mouseover the same way as the taxon nodes do.
Also, we'll soon be able to click on the Taxon node itself (which should be displaying with a Q number). So don't handle all of these as special cases. There should be a general way for us to indicate that a node is clickable, and that should cause it to respond appropriately to mouseover events.


remote users can retrieve password from gogs

Gogs version (or commit ref):0.9
Git version:1.8.1
Operating system:Linux
Database:Mysql
Can you reproduce the bug at http://try.gogs.io:
Not relevant
Log gist:

Description
in fact, remote users can not be allowed to retrieve password from gogs. but I found it works fine. the "forgot password" works fine for all reomte users if you know their email.  so it's easy to do email flood for users.(also for normal local user)
I think this should be fix and set an interval option in gogs.
...

in fact, remote users can not be allowed to retrieve password from gogs. but I found it works fine.

I don't understand this sentence.

the "forgot password" works fine for all reomte users if you know their email. so it's easy to do email flood for users.(also for normal local user)

I don't think it's Gogs's responsibility to keep your email account not be hacked.

yes, I know it, but it will take user confusion, I think remote user shouldn't be able to use "forgot password"

Define "remote user" in this case.  How else do you propose someone reset a forgotten password?

Also from what I see (at least in <IP_ADDRESS>6) this can not be abused for "mail bombing" as it does not allow you to request an email be sent multiple times.  I imagine this times out after so long but as of right now I see no obvious cause for concern.

Close due to lack of feedback.


Compilation error - too few arguments to function lxw_worksheet_prepare_chart

Hello, when compiling with the latest libxlswriter the following compilation error happens:
/packages/php-xlswriter/src/xlswriter-1.2.2/kernel/write.c: In function '_prepare_drawings':
/packages/php-xlswriter/src/xlswriter-1.2.2/kernel/write.c:370:13: error: too few arguments to function 'lxw_worksheet_prepare_chart'
             lxw_worksheet_prepare_chart(worksheet, chart_ref_id, drawing_id,
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/xlsxwriter/workbook.h:48:0,
                 from /usr/include/xlsxwriter.h:16,
                 from /packages/php-xlswriter/src/xlswriter-1.2.2/kernel/include.h:23,
                 from /packages/php-xlswriter/src/xlswriter-1.2.2/kernel/write.c:13:
/usr/include/xlsxwriter/worksheet.h:3247:6: note: declared here

PHP versions: 7.0.32, 7.1.24, 7.2.12, 7.3.0RC6
OS: Alpine Linux
php-ext-excel-export version: 1.2.2
libxlsxwriter: 0.8.4

Thank you.

@petk  Have you updated bunled Lib? 🙂

Thank you @viest It works with 1.2.3. Yes, I've used the "system" library (a custom built libxlswriter) and set the --with-libxlsxwriter option and now it works. Somehow, if the libxlswriter is already installed on the system and this configure option is not set it doesn't work. Maybe I've missed something but now it works so thank you for such a quick fix.

Thank you for your issue. 🙂


bug: submitForm returns a resolved promise even when validation failed

https://github.com/formium/formik/blob/903c1101240632c84fa36c8991ea9fd03b25f1cf/packages/formik/src/Formik.tsx#L785
Document says submitForm return a promise, which will reject when validation failed. But due to the line of code I mentioned, It wont throw when validation failed.
Wish this bug fixed as soon as possible.

Duplicate of #1580

@olignyf the user could technically change the form during submit (unless you prevent this) if you use an async request, cause it to be valid or invalid even though the submission was the opposite, and the check above wouldn't work. The validation result would have to be passed to onSubmit to be accurate.


arm support?

Please 👉 👈

uhh i actually have no idea how to do that, but building it manually should work?

Yeah I thought the same, but It gives me "exec format error"
I'll try again, and post the logs if there is any

Attaching to livestreamdvr_web_1
web_1  | exec /usr/local/bin/yarn: exec format error
livestreamdvr_web_1 exited with code 1

hmm, shouldn't the correct arch of the node image be downloaded when you build it manually?

I actually don't know, if you suggest anything I can try and tell you right now

if there's no solution to docker you should be able to run it bare metal

Yeah but I don't usually run stuff on bare metal, I'd like to keep all things organized under docker.
Anyway I'll keep looking onto this and see if I can find any fix

what if you edit the dockerfile and change the top to something like arm64v8/node:18-bullseye-slim or whichever your pi's arm version is at

Step 6/31 : COPY --chown=node:node --chmod=775 ./common /usr/local/share/twitchautomator/common
the --chmod option requires BuildKit. Refer to https://docs.docker.com/go/buildkit/ to learn how to build images with BuildKit enabled
ERROR: Service 'web' failed to build : Build failed

Tried with  DOCKER_BUILDKIT=1 docker-compose up --build
 > [ 8/20] RUN cd /usr/local/share/twitchautomator/twitch-chat-dumper     && yarn install --immutable --immutable-cache     && yarn build     && rm -rf node_modules     && rm -rf .yarn/cache     && yarn cache clean --all:
#10 0.906 ➤ YN0000: ┌ Resolution step
#10 1.050 ➤ YN0000: └ Completed
#10 1.076 ➤ YN0000: ┌ Fetch step
#10 1.162 ➤ YN0013: │ esbuild-linux-arm64@npm:0.15.12 can't be found in the cache and will be fetched from the remote registry
#10 1.162 ➤ YN0056: │ esbuild-linux-arm64@npm:0.15.12: Cache entry required but missing for esbuild-linux-arm64@npm:0.15.12
#10 1.165 ➤ YN0013: │ esbuild-windows-arm64@npm:0.15.12 can't be found in the cache and will be fetched from the remote registry
#10 1.165 ➤ YN0056: │ esbuild-windows-arm64@npm:0.15.12: Cache entry required but missing for esbuild-windows-arm64@npm:0.15.12
#10 1.283 ➤ YN0000: └ Completed in 0s 206ms
#10 1.283 ➤ YN0000: Failed with errors in 0s 381ms
------
executor failed running [/bin/sh -c cd /usr/local/share/twitchautomator/twitch-chat-dumper     && yarn install --immutable --immutable-cache     && yarn build     && rm -rf node_modules     && rm -rf .yarn/cache     && yarn cache clean --all]: exit code: 1
ERROR: Service 'web' failed to build : Build failed

adding these in all .yarnrc.yml files might help?

I don't have those files, where are they located?

in each package directory, like server, client-vue, twitch-chat-dumper, twitch-vod-chat

Am I doing something wrong?

Ok found it, I had a typo in the filename

Still having errors
 > [ 8/20] RUN cd /usr/local/share/twitchautomator/twitch-chat-dumper     && yarn install --immutable --immutable-cache     && yarn build     && rm -rf node_modules     && rm -rf .yarn/cache     && yarn cache clean --all:
#12 0.767 ➤ YN0000: ┌ Resolution step
#12 0.895 ➤ YN0000: └ Completed
#12 0.922 ➤ YN0000: ┌ Fetch step
#12 1.007 ➤ YN0013: │ esbuild-linux-arm64@npm:0.15.12 can't be found in the cache and will be fetched from the remote registry
#12 1.008 ➤ YN0056: │ esbuild-linux-arm64@npm:0.15.12: Cache entry required but missing for esbuild-linux-arm64@npm:0.15.12
#12 1.010 ➤ YN0013: │ esbuild-windows-arm64@npm:0.15.12 can't be found in the cache and will be fetched from the remote registry
#12 1.010 ➤ YN0056: │ esbuild-windows-arm64@npm:0.15.12: Cache entry required but missing for esbuild-windows-arm64@npm:0.15.12
#12 1.131 ➤ YN0000: └ Completed in 0s 208ms
#12 1.131 ➤ YN0000: Failed with errors in 0s 366ms
------
executor failed running [/bin/sh -c cd /usr/local/share/twitchautomator/twitch-chat-dumper     && yarn install --immutable --immutable-cache     && yarn build     && rm -rf node_modules     && rm -rf .yarn/cache     && yarn cache clean --all]: exit code: 1
ERROR: Service 'web' failed to build : Build failed

try running yarn install in those folders too after changing the configs
i'll probably make an arm version after this so it won't be required each time

Ok thanks, then I'm going to wait for a official version from you since I'm not really that good with those kind of stuff

i don't really have a way to test if it's working, so i can't really verify if this works

Sorry for the late response, but if you need someone to test it, I can do it for you

i do have a spare rpi 3b+ at home that i might be able to test on but not certain

HI @MrBrax , @heryoff ,
It is do able but
https://github.com/MrBrax/LiveStreamDVR/blob/31a6e3fa23a395db0090ae26ace2f9d6acd8c15f/docker/fetch-tdl.sh#L11
will conflict as x64 binary download is harcoded

that one could have a different version i suppose, but i wouldn't recommend encoding any video with it at least

yes, there we have to use arm binaries of TwitchDownloader.

I wonder, is "TwitchDownloader" a necessary component/dependency or we can remove it  ?

it's not necessary, no. downloading chats from vods is only possible with that one now i think

I've tested it, and it's doable, after some yarn reinstall and nodejs update.

If anyone comes up with an Docker image, I'll be glad to help testing

I've tested on to arm ubuntu, and the app works without any issue. Maybe an official modification and push?
Here the steps:

Clone the repo
Modify the files https://github.com/MrBrax/LiveStreamDVR/issues/385#issuecomment-1333864948
yarn and node update
docker-compose up --build -d and there's no need to run yarn install in those .yarnrc.yml folders

yarn and node update

what did you mean by this? wouldn't yarn update upgrade dependencies?

I have no idea what's the reason, but unless an reinstall of yarn, I was keeping getting this error. It's exactly the same as the one here: https://stackoverflow.com/questions/46013544/yarn-install-command-error-no-such-file-or-directory-install

Update: No need to modify all .yarnrc.yml files except the one in submodule twitch-vod-chat, and yarn install is needed to run in each sub folder. After all that, an ARM linux docker version is built.

nice, i need to fix issues preventing twitch-vod-chat from upgrading, and i'll try to make an arm published image

yarnrc now fixed on dev branch, so everything should probably be compatible with docker now? i made it publish to dockerhub but i have no idea if it actually works

ok i finally got it to push to dockerhub, but the build time went from 5 minutes to 2 hours lol
considering it actually built i suppose it should be working?

Update: ARM support is good now I think, for both docker hub and manual build. No more additional modifications needed now for manual build, git clone and docker-compose and done.


Slight refactoring of FS test

@bors r+

:pushpin: Commit 3cd13cb1746193f077766985273b144beba01480 has been approved by RalfJung

:hourglass: Testing commit 3cd13cb1746193f077766985273b144beba01480 with merge 62bc08af18d7b107fc19251ed398dff17f9da16d...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: RalfJung
Pushing 62bc08af18d7b107fc19251ed398dff17f9da16d to master...


Add sys/epoll.h header to relevant files

EPOLL_CLOEXEC should come from this header and wasn't explicitly included before

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Everything seems to be building as intended. Passing it over to @sreecha for 2nd approval and merging.

Friendly ping.


283 the mean field rules for the transition node are not generic

Please take a look at the rule redefinition for the out interface of the Transition node,  as I made it dispatch on ContinuousMatrixDistribution rather than MatrixDirichlet. This might break if the user supplies a transition matrix with negative values, as it will throw a DomainError on the log function.

The code looks good! Well-dine @wouterwln!
As soon as the tests pass, I can merge.
@MagnusKoudahl perhaps it's something you needed?

@wouterwln note that formatter check doesn't pass.
I think that test/rules/transition/ aren't in the right format.

@albertpod @bvdmitri formatted test files, should pass now


feat: Upgrade API to be compatible with INK3

Updates the API to be compatible with INK@3
BREAKING CHANGE: Requires ink@3 now
#7

Hey, thanks for the PR. I don't have the time to actively work on this at the moment. If someone can pull down and verify this works with Ink 3, I can merge and release a new version tomorrow

Can confirm. Just pulled it down via npm install git+https://github.com/leipert/ink-multi-select.git#leipert-ink-v3 to use as a replacement and the nifty module now works as expected.

Ok, I'll merge and release this, and when I have some free time I'll try to fix that warning

Thank you @leipert and everyone who helped

Released as v2.0.0


Introduce pipeline helper

Worked proof-of-concept for a simpler interleave-capable solution to pipelining filters. May want to rename the trait, the method, give it an operator, etc. etc.
One drawback of this approach is that e.g. lowpass() * 0.5 loses support. A relaxed approach would be to move is_dropped onto the base trait and employ it in more universally. I'm not sure how gracefully it generalizes, however. For example, lowpass() + lowpass() cannot be pipelined, even though it has sensible behavior for is_dropped.

As discussed, I'm putting in the simplest approach for the fit operator for now instead.


fix: prevent iOS crash

Starting from Expo 45 NativeEventEmitter requires params to be defined explicitly. Otherwise, it is crashing with

@zakharchenkoAndrii, this change just breaks the event bridge between the native module and JS. I cannot add this PR, sorry.


[Bug] Crash in AuthResponse::error_code

[REQUIRED] Please fill in the following fields:

Pre-built SDK from the website or open-source from this repo: open-source from this repo
Firebase C++ SDK version: v8.6.0
Problematic Firebase Component: Auth
Other Firebase Components in use: Database
Platform you are using the C++ SDK on: Mac
Platform you are targeting: Desktop

[REQUIRED] Please describe the issue here:
If an AuthRequest is cancelled or times out, calling error_code() on it causes a crash.
Example stacktraces:
Crashed: Thread
0  Tuple                          0xef351e firebase::auth::AuthResponse::error_code() const + 2608 (memory:2608)
1  Tuple                          0xed6999 firebase::auth::AuthenticationResult firebase::auth::AuthenticationResult::FromResponse<firebase::auth::VerifyCustomTokenResponse>(firebase::auth::VerifyCustomTokenResponse const&) + 39 (authentication_result.h:39)
2  Tuple                          0xed609a firebase::auth::AuthenticationResult firebase::auth::CompleteSignInFlow<firebase::auth::VerifyCustomTokenResponse>(firebase::auth::AuthData*, firebase::auth::VerifyCustomTokenResponse const&) + 62 (authentication_result.h:62)
3  Tuple                          0xec7ca4 void firebase::auth::PerformSignInFlow<firebase::auth::VerifyCustomTokenResponse, firebase::auth::User*, firebase::auth::VerifyCustomTokenRequest>(firebase::auth::AuthDataHandle<firebase::auth::User*, firebase::auth::VerifyCustomTokenRequest>*) + 62 (authentication_result.h:62)
4  Tuple                          0xed5f6d firebase::Future<firebase::auth::User*> firebase::auth::CallAsync<firebase::auth::User*, firebase::auth::VerifyCustomTokenRequest>(firebase::auth::AuthData*, firebase::auth::Promise<firebase::auth::User*>, std::__1::unique_ptr<firebase::auth::VerifyCustomTokenRequest, std::__1::default_delete<firebase::auth::VerifyCustomTokenRequest> >, firebase::auth::AuthDataHandle<firebase::auth::User*, firebase::auth::VerifyCustomTokenRequest>::CallbackT)::'lambda'(firebase::auth::AuthDataHandle<firebase::auth::User*, firebase::auth::VerifyCustomTokenRequest>*)::__invoke(firebase::auth::AuthDataHandle<firebase::auth::User*, firebase::auth::VerifyCustomTokenRequest>*) + 102 (auth_util.h:102)
5  Tuple                          0xeb637c firebase::scheduler::Scheduler::TriggerCallback(firebase::SharedPtr<firebase::scheduler::Scheduler::RequestData> const&) + 107 (shared_ptr.h:107)
6  Tuple                          0xeb5f43 firebase::scheduler::Scheduler::WorkerThreadRoutine(void*) + 169 (scheduler.cc:169)
7  Tuple                          0xeb6c48 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(void*), void*> >(void*) + 2622 (memory:2622)
8  libsystem_pthread.dylib        0x6950 _pthread_start + 224
9  libsystem_pthread.dylib        0x247b thread_start + 15

Crashed: Thread
0  Tuple                          0xef351e firebase::auth::AuthResponse::error_code() const + 2608 (memory:2608)
1  Tuple                          0xeeae32 firebase::auth::(anonymous namespace)::EnsureFreshToken(firebase::auth::AuthData*, bool, bool) + 83 (user_desktop.cc:83)
2  Tuple                          0xeeaa54 firebase::auth::User::GetTokenInternal(bool, int)::$_3::__invoke(firebase::auth::AuthDataHandle<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, firebase::rest::Request>*) + 71 (user_desktop.cc:71)
3  Tuple                          0xeee4ed firebase::Future<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > firebase::auth::CallAsync<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, firebase::rest::Request>(firebase::auth::AuthData*, firebase::auth::Promise<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::unique_ptr<firebase::rest::Request, std::__1::default_delete<firebase::rest::Request> >, firebase::auth::AuthDataHandle<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, firebase::rest::Request>::CallbackT)::'lambda'(firebase::auth::AuthDataHandle<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, firebase::rest::Request>*)::__invoke(firebase::auth::AuthDataHandle<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, firebase::rest::Request>*) + 102 (auth_util.h:102)
4  Tuple                          0xeb637c firebase::scheduler::Scheduler::TriggerCallback(firebase::SharedPtr<firebase::scheduler::Scheduler::RequestData> const&) + 107 (shared_ptr.h:107)
5  Tuple                          0xeb5f43 firebase::scheduler::Scheduler::WorkerThreadRoutine(void*) + 169 (scheduler.cc:169)
6  Tuple                          0xeb6c48 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(void*), void*> >(void*) + 2622 (memory:2622)
7  libsystem_pthread.dylib        0x68fc _pthread_start + 224
8  libsystem_pthread.dylib        0x2443 thread_start + 15

I believe this happens because of the timeout and cancelled branches of https://github.com/firebase/firebase-cpp-sdk/blob/main/app/rest/transport_curl.cc#L412, which both call MarkFailed instead of MarkCompleted. MarkFailed never sets application_data_, which leads to the bad access in error_code.
@dconeybe I believe this is another permutation of https://github.com/firebase/firebase-cpp-sdk/issues/615

Thanks for reporting this, it does look similar to #615. I think the fix is as simple as checking if application_data_ is null; I created a PR to add this change. If you are building from source, could you see if building from that branch fixes the issue?

@jonsimantov I agree. I remember noticing the fact that ResponseJson overrides MarkCompleted() but fails to override MarkFailed(). I agree with your assessment that overriding MarkFailed() is the correct solution.

Oops, didn't mean to close this issue. Reopening.

@jonsimantov I agree. I remember noticing the fact that ResponseJson overrides MarkCompleted() but fails to override MarkFailed(). I agree with your assessment that overriding MarkFailed() is the correct solution.

@dconeybe I wasn't thinking of changing the behavior of MarkFailed as it could affect other things, I figured I'd just fix it at the error_code() level. We can discuss it in the PR.

@jonsimantov I built with #738 (4dc5c31) and confirmed that it fixes the issue

Thanks so much for your help in tracking this down and testing the fix!
The fix is merged into main now, and will be included in our next binary release (probably 8.8.0).


Please support other protocols than Http

In our project we would need either download from a windows share, eg \files\bigFiles\test.zip or from an sftp host

Very interesting idea. Thanks!
I don't have time to implement this feature at the moment, but I'll keep this request open, so I can probably implement it later this year. Pull requests are very welcome by the way.
Cheers,
Michel

It was possible with version 1.2

@koppor Thanks to @gamerson and #70 the current snapshot supports the file protocol, so it should be possible to download from Windows shares again. I haven't tried it yet though, so I'd be happy if someone could confirm.


Edit: ROS 2

Signed-off-by: maryaB-osr<EMAIL_ADDRESS>

@kscottz I just started editing this for typos but there's a few content questions I'm concerned about.

Starting on line 13, you refer to ROS 1 and 2 as major versions, but we use that language to describe distro releases as per our versioning system, and minor versions are just patch releases.

On line 78, it says Ubuntu 20.04 but I'm pretty sure Eloquent doesn't work on Focal (not officially supported) so we shouldn't recommended it. I think you might've meant 18.04 since you mention it a few other times elsewhere, can you confirm?

You're right on both points. Want me to fix or do you want me to edit?ESPROS

I’m already working on the edit so I can do it. Thanks!


Create Admin Heatmap View

Create the Admin heatmap viewing component.
Here's the design for reference!

/cib create-admin-heatmap-view

Branch 25-create-admin-heatmap-view created!


Improve fair usage message

Description

See https://github.com/dust-tt/tasks/issues/749.
This PR improve the fair usage limit message.

Risk

Deploy Plan

The ticket says to redirect to the fair limit usage, not to the subscription page.

Updated, with a GIF in the PR's description.


typeText fails on iOS with Detox 13.3.1

Describe the bug
✅typeText succeeds with Detox 13.1.1, 13.2.0 (old)
⚠typeText fails with Detox 13.3.1 (new)
To Reproduce

[X] I have tested this issue on the latest Detox release and it still reproduces

Provide the steps necessary to reproduce the issue. If you are seeing a regression, try to provide the last known version where the issue did not reproduce.
const emailTextBox = element(by.text('Email Address'));
await emailTextBox.typeText(emailAddress);

This is a regression.
13.2.0 worked fine
13.3.0 and 13.3.1 do not work.
If possible, please provide a small demo project that reproduces the issue, or attach a video with the reproduction - this would be very appreciated.
Expected behavior
It should simulate typing into text box.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

Detox: 13.3.1
React Native: 0.59.10
Node: 10.16.0
Device: MacBook Pro -- iPad 6th Generation Simulator
Xcode: 10.3 (10G8)
iOS: 12.4
macOS: Mojave 10.14.6 (18G84)

Device and Verbose Detox Logs
detox test --loglevel trace: e2e.log

Could you describe what you see during the test? Would be best to have a video of the test running. I ask this because there were changes made in the recent version, and the video may assist me with debugging. Thanks
Our test suites contains various typing tests, so it's odd that it breaks for you.

In the failure case, it appears to tap and then it fails and refreshes the app.
I can send you a video in a private Dropbox link if you can share with me your email address. Or follow me on Twitter and I'll send you the link in a DM.

You can post on YouTube.

But if you see the tap, that means that it has found an element. I wonder why it's failing...

I can also upload to YouTube... but it's more of having a forum to send a private link.
As for debugging this in Xcode, sure... send me instructions or let me know if we should find a time to screen share. I'm in L.A. (Pacific Time).

Please follow this guide:
https://github.com/wix/Detox/blob/master/docs/Guide.DebuggingInXcode.md
Once finished, open GREYActions+Detox.m and put a break point in _DTXTypeText. Now run your test (best to put .only so that only this test runs). Once the breakpoint hits, in the bottom, there should be a debugger prompt; type po [[UIWindow keyWindow] firstResponder] and paste here the output. Then type po text and paste the output.

I see this issue as well , will run thru the debugger and post here
{ Error: An action failed. Please refer to the error trace below.
Exception with Action: {
"Action Name":  "Type 'John'",
"Element Matcher":  "((!(kindOfClass('RCTScrollView')) && (((kindOfClass('UILabel') || kindOfClass('UITextField') || kindOfClass('UITextView')) && hasText('First Name')) || (kindOfClass('RCTTextView') && an object with accessibilityLabel "First Name"))) || (((kindOfClass('UIView') || respondsToSelector(accessibilityContainer)) && parentThatMatches(kindOfClass('RCTScrollView'))) && ((kindOfClass('UIView') || respondsToSelector(accessibilityContainer)) && parentThatMatches((((kindOfClass('UILabel') || kindOfClass('UITextField') || kindOfClass('UITextView')) && hasText('First Name')) || (kindOfClass('RCTTextView') && an object with accessibilityLabel "First Name"))))))"
}
  Error Trace: [
    {
      "Description":  "Reason for action failure was not provided.",
      "Error Domain":  "com.google.earlgrey.ElementInteractionErrorDomain",
      "Error Code":  "2",
      "File Name":  "GREYElementInteraction.m",
      "Function Name":  "-[GREYElementInteraction performAction:error:]_block_invoke",
      "Line":  "268"
    }
  ]

-[GREYElementInteraction performAction:error:]_block_invoke

Cool, just went through those steps...
>> po [[UIWindow keyWindow] firstResponder]

<RCTUITextField: 0x7fee4b88b800; baseClass = UITextField; frame = (0 0; 392 60); text = ''; opaque = NO; autoresize = W+H; gestureRecognizers = <NSArray: 0x600002fc91a0>; layer = <CALayer: 0x600002195020>>

>> po text
<EMAIL_ADDRESS>
I am thinking now it is an issue with the selector.
When I use element(by.text('Email Address')) in 13.3.1, typeText fails.
But if I put a testID on the text box and then change the selector to element(by.id('email')), then typeText succeeds in 13.3.1.

@PaulMest are you getting the same error trace ?
Error Trace: [
{
"Description":  "Reason for action failure was not provided.",
"Error Domain":  "com.google.earlgrey.ElementInteractionErrorDomain",
"Error Code":  "2",
"File Name":  "GREYElementInteraction.m",
"Function Name":  "-[GREYElementInteraction performAction:error:]_block_invoke",
"Line":  "268"
}
]

@muraliseveneleven Yes. Same error.

    Error Trace: [
      {
        "Description":  "Reason for action failure was not provided.",
        "Error Domain":  "com.google.earlgrey.ElementInteractionErrorDomain",
        "Error Code":  "2",
        "File Name":  "GREYElementInteraction.m",
        "Function Name":  "-[GREYElementInteraction performAction:error:]_block_invoke",
        "Line":  "268"
      }
    ]

My work around was to add a testID and use the by.id matcher. But I don't want to have to do that to all of my components.

That’s very odd. In your debug above, it shows that it has chosen a text view.

I think I see the issue.
You tried to by.text(), but clearly it selected the wrong one:
<RCTUITextField: 0x7fee4b88b800; baseClass = UITextField; frame = (0 0; 392 60); text = ''; opaque = NO; autoresize = W+H; gestureRecognizers = <NSArray: 0x600002fc91a0>; layer = <CALayer: 0x600002195020>>

You can see that it has no text. Are you sure such an element really exists? Is the text a placeholder? It could be some bug with placeholder causing issues.

Yeah, exactly. I was trying to match on the placeholder text. It says, Email Address as a placeholder when the field is empty and the real email address (e.g<EMAIL_ADDRESS>if someone has typed something in.
This is how the component is defined:
<TextField
  autoCorrect={false}
  autoCapitalize="none"
  autoFocus={noUserSaved}
  style={[styles.input.loginInput]}
  placeholderTextColor={theme.col.black}
  keyboardType="email-address"
  defaultValue={username}
  placeholder="Email Address"
  onChangeText={value => {
    this.setState({ username: value });
  }}
/>

Are you saying:
A) This is not a supported scenario and that I should change my code to use by.id or some other matching method?
... OR ...
B) That you will continue to look into this and have it work like it did in 13.2.0 and below?

I don't see why it should not be supported. I'll try to reproduce your use case and see.
Using by.id() is always recommended because it's the most precise.

Hi! I've encountered the same issue with the same error trace, but on a element with a testID, that successfully finds but is not able to type anything on:
 An action failed. Please refer to the error trace below.
    Exception with Action: {
      "Action Name":  "Type 'Brooklyn
    '",
      "Element Matcher":  "((!(kindOfClass('RCTScrollView')) && (respondsToSelector(accessibilityIdentifier) && accessibilityID('locations_search'))) || (((kindOfClass('UIView') || respondsToSelector(accessibilityContainer)) && parentThatMatches(kindOfClass('RCTScrollView'))) && ((kindOfClass('UIView') || respondsToSelector(accessibilityContainer)) && parentThatMatches((respondsToSelector(accessibilityIdentifier) && accessibilityID('locations_search'))))))"
    }

    Error Trace: [
      {
        "Description":  "Reason for action failure was not provided.",
        "Error Domain":  "com.google.earlgrey.ElementInteractionErrorDomain",
        "Error Code":  "2",
        "File Name":  "GREYElementInteraction.m",
        "Function Name":  "-[GREYElementInteraction performAction:error:]_block_invoke",
        "Line":  "268"
      }
    ]

I'm using Detox 14.0.0.

There is a PR open with improvements to typing. Let’s see if it helps in these cases. Even if not, it will provide better error messages.
In the case of a placeholder, I don’t think it will be supported. When you select the placeholder view, it’s a label, not the enclosing text field, and so you cannot type in there.

Would it be possible to build a special matcher by.placeholder?

No. Placeholders are not something universal. iOS has their own implementation, RN, I am assuming, has its own. Those implementations are private and can change at any point. Not something we would want in Detox.
If you insist, you can investigate the view hierarchy and create a complex matcher, where you, for example, match an element whose child contains the text you want. But then the burden of supporting it falls on your, and potentially any new iOS or RN version can break it.
As I said above, using by.id() is recommended because it's stable, even if the initial effort to add identifiers is higher.
I could be wrong about this case in particular, which is why I am not closing the issue. Let's wait for the PR to land.

Detox 14.0.2 is out with the proposed changes. Please try it out and let me know if something improves, or post the new error output. Thanks
@PaulMest @ayelenmarie

Here is the new error message (14.0.2) when you use by.text()
    An action failed. Please refer to the error trace below.
    Exception with Action: {
      "Action Name":  "Clear text",
      "Element Matcher":  "((!(kindOfClass('RCTScrollView')) && (((kindOfClass('UILabel') || kindOfClass('UITextField') || kindOfClass('UITextView')) && hasText('Email Address')) || (kindOfClass('RCTTextView') && an object with accessibilityLabel "Email Address"))) || (((kindOfClass('UIView') || respondsToSelector(accessibilityContainer)) && parentThatMatches(kindOfClass('RCTScrollView'))) && ((kindOfClass('UIView') || respondsToSelector(accessibilityContainer)) && parentThatMatches((((kindOfClass('UILabel') || kindOfClass('UITextField') || kindOfClass('UITextView')) && hasText('Email Address')) || (kindOfClass('RCTTextView') && an object with accessibilityLabel "Email Address"))))))"
    }

    Error Trace: [
      {
        "Description":  "Failed to make element [E] first responder.",
        "Description Glossary":    {
          "E":  "<UITextFieldLabel:0x7fb090f02a60; AX=Y; AX.label='Email Address'; AX.frame={{580, 251}, {349, 19.5}}; AX.activationPoint={754.5, 260.75}; AX.traits='UIAccessibilityTraitStaticText'; AX.focused='N'; frame={{8, 20}, {349, 19.5}}; alpha=1; UIE=N; text='Email Address'>"
        },
        "Error Domain":  "com.google.earlgrey.ElementInteractionErrorDomain",
        "Error Code":  "2",
        "File Name":  "GREYActions+Detox.m",
        "Function Name":  "UIView *_ensureFirstResponderIfNeeded(UIView *__strong, NSError *__strong *)",
        "Line":  "127"
      }
    ]

Ha, as I expected. UITextFieldLabel is a private internal Apple class that is placed as a subview of UITextField objects. Surprisingly, iOS' UITextView doesn't support placeholders natively, and so any placeholder implementation for text views is custom. (RN decides which class to use based on the multiline property, iirc.)
What I added in 14.0.2 is support for hierarchy traversal in the opposite way; if you tap a view, and a descendant subview of that view becomes first responder ("focused"), it is accepted and text is typed into it. What isn't supported, and I am not sure is possible to safely support in the general case, is if a view is tapped, and an ancestor view becomes the first responder. This is the case you are facing. Even case-specific hacks, such as accepting the case that the immediate superview becomes first responder, I think, is not safe in 100% of cases. I could add a very specific hack for UITextField+UITextFieldLabel because this is a known iOS case, but then if you have a multiline text input in RN, it won't work for that case.
Let me think about it some more. I will leave this issue open.
For now, I have given you two workarounds; add identifiers to your text inputs (preferred), or create a complex matcher which picks the parent of the element with the given text. https://github.com/wix/Detox/blob/master/docs/APIRef.Matchers.md#advanced

@ayelenmarie I think your issue is different than the one discussed in this thread originally. Please see if 14.0.2 solved your issue.

Thanks @LeoNatan for the quick turnaround and in-depth explanations. I understand if you don't want to support the scenario given the hairiness of the implementation details. My team will proceed with the by.id guidance until we hear otherwise.

@LeoNatan Thanks for your detailed approach! I ended up workarounding it by also putting a testID on the Input inside, so I ended up tapping the view around it first and then typing on the Input itself. I will try deleting the Input's testID and see if it works with 14.0.2 update. I'll let you know!

Hey @LeoNatan any updates on this one? It's blocking us since we have a few apps using a mixture of new and legacy code, so by.text() is the preferred approach until we've moved fully to React Native.

What update do you want? My long texts didn't explain the problem and why it cannot be solved properly for the general case?

Ok thank you for your explanations. We will use by.id() for now.
I don't quite understand why this succeeds before v13.3.1, since this would imply it’s fixable?

I changed the entire typing mechanism to an internal one, instead of what we used in the past, which was Earl Grey based, and had many issues. The new system is supposed to be more robust, but that also means that it is more general in design. Again, if you have ideas how to solve the issues I've brought up before, let's discuss. This is why the issue remains open.

Should this be stale? Believe it's something we'll want to fix otherwise by.text() will be flakey.


Investigate why no results for searching typhoeus

while searching https://github.com/typhoeus/ gives some results.

I get results for searching "typhoeus". Maybe it's fixed?

yeah, the reason for no results of seaching "https://github.com/typhoeus/" is because URL was filtered out. This has been fixed.


Template solution (quick&dirty)

This is a hacky way to get a new VS solution. User just has to use "rename.bat", propose new name, for example "test_123" and done, the needed changes are made and user can open his own solution.
But to make it easy I had to rename the original solution to have same name as the project and the project's folder: lv_sim_visual_studio_sdl.sln → visual_studio_2017_sdl.sln.
Using this pattern, "rename.bat" can be then used later in cascade, for example if the user wants another name, just run it and get the new renamed solution...
Not sure if there is another way to achieve this, no need to merge it, I push it for reference only...

Hi,
We started to use a release script on lvgl. It also updates some other (tightly coupled) repos.
I release lvgl on Linux so I can't run bat files. :slightly_frowning_face:
However, if you are interested we can create a project_update.py to update this project  (and later others too).
Another way would be to utilize GitHub actions to automatically update the project on lvgl releases.
What do you think?

The bat was only for VS simulator and it helped me to quickly rename the solution in something more meaningful for the test I wanted to run. For example if I want to have test_chart, test_grid, etc, because it's easier to find them in VS.
Of course I can also make several clones for each test, but then I have same "lv_sim_visual_studio_sdl.sln" just in different paths.
And I don't expect this to be merged, I pushed it only for reference, maybe will help someone who also plays with VS simulator :-)
Hope it's OK that I close it, I can find it again anytime in the closed PRs.

Alright :slightly_smiling_face:


csp issue

because of this line ,
its cause our app csp issue, there is no way add nonce to it
read https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src

trying to create a pr, but no access to push myfix branch to it

@glromeo


NameError: name 'k_disc' is not defined, File "adda.py", line 125

Hello all,
I have done the according steps as said in README.md file, and as I was running the adda.py file with the specified argument as followed: python adda.py trained_models/source.pt , I met this error after a long time on the code was under execution:
C:\Users\FSangin\AppData\Local\Programs\Python\Python38\lib\site-packages\torchvision\datasets\mnist.py:498: UserWarning: The given NumPy array is not writeable, and PyTorch does not support non-writeable tensors. This means you can write to the underlying (supposedly non-writeable) NumPy array using the tensor. You may want to copy the array to protect its data or make it writeable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at  ..\torch\csrc\utils\tensor_numpy.cpp:180.)   return torch.from_numpy(parsed.astype(m[2], copy=False)).view(*s)   0%|                                                                                | 0/500 [00:00<?, ?it/s]C:\Users\FSangin\AppData\Local\Programs\Python\Python38\lib\site-packages\torch\nn\functional.py:718: UserWarning: Named tensors and all their associated APIs are an experimental feature and subject to change. Please do not use them for anything important until they are released as stable. (Triggered internally at  ..\c10/core/TensorImpl.h:1156.)   return torch.max_pool2d(input, kernel_size, stride, padding, dilation, ceil_mode) Traceback (most recent call last):   File "adda.py", line 125, in <module>     main(args)   File "adda.py", line 106, in main     mean_loss = total_loss / (args.iterations*k_disc) NameError: name 'k_disc' is not defined

Replace it with args.k_disc


POST without data doesn't work

similar issue here.
here is what I've done.
return axios.post(url, {
   headers: { Authorization: token },
 })
 .then((response) => {
   dispatch(apiSuccess(CANCEL_APPOINTMENT, response.data))
 })
 .catch((error) => {
   errorHandler(dispatch, error.response, API_FAILURE, url);
 });

url and token are correct, I can get expected result with same token and url on postman.
could you possibly let me know what's wrong with me ?
regards.

When I don't need to pass the data, I should put null as data. then it should work.
   var config = {
      headers: {Authorization: token}
    };
    return axios.post(url,
      null,
    config)
    .then((response) => {
      dispatch(apiSuccess(CANCEL_APPOINTMENT, response.data))
    })
    .catch((error) => {
      errorHandler(dispatch, error.response, API_FAILURE, url);
    });

Hope it give some help to others :)


Update existing alert Memory to include hardware tags

This is part of #92864.
Existing alert Memory consists of 5 Linux_android benchmarks and 3 Mac_android benchmarks:
Linux_android benchmarks:
complex_layout_scroll_perf__devtools_memory
fast_scroll_heavy_gridview__memory
flutter_gallery__back_button_memory
flutter_gallery__image_cache_memory
flutter_gallery__memory_nav

Mac_android benchmarks:
Mac_android_complex_layout_scroll_perf__memory
Mac_android_fast_scroll_large_images__memory
Mac_android_hello_world__memory

Involved hardware: Linux/Moto_G_4, Mac(intel)/Moto_g_4.
Action: separate existing Memory alert to two alerts:

Memory(mac_intel/motog4): add tags arch: intel, host_type:mac, device_os:Moto_g_4.
Memory(linux/motog4): add tags host_type:linux, device_os:Moto_g_4.

Based on offline sync up, tags are not necessary as alerts are based on normalized data and are config specific. When we have new platforms in the future, their metric data will trigger alerts based on their own dataset.
Closing.


exponentiation for block-sparse matrices (block-diagonal)

The NDTensors part for https://github.com/ITensor/ITensors.jl/issues/394 .

hmm, are the tests for this package running as part of the ITensors.jl test suite?

Looks good, thanks! We just haven't set up CI here yet, for now we are being lazy and testing NDTensors through ITensor functionality (since the tests would often mirror each other anyway, and NDTensors is mostly being developed for internal use in ITensors.jl at the moment).

Though it is great that you added tests, and we should set up CI here even though the coverage is pretty bad right now.

Maybe you can setup CI such that PRs to NDTensors run the ITensors test suite?

Not a bad idea, we could look into it.


optimization for __scope_exists

checks for static macro IOTA_CHECK_FOR_DEACTIVATION on create instead of runtime
removes a branch

Thank you thank you! This'll be a part of the next release, whenever that happens


Failing Integration Tests

On my environment, some Integration Tests always fail. Unit tests all pass.
Failing Integration Tests are:

AlexaDirectiveSequencerLibraryTest.sendDirectiveWithoutADialogRequestID
AlexaDirectiveSequencerLibraryTest.oneBlockingDirectiveInTheMiddle
AlexaCommunicationsLibraryTest.testSendEvent
AlexaCommunicationsLibraryTest.testSendEventsConcurrently
AlexaCommunicationsLibraryTest.testReceiveDirectiveOnDownchannel
AlexaCommunicationsLibraryTest.testPersistentConnection
AudioPlayerTest.FlashBriefing
SpeechSynthesizerTest.handleMultipleConsecutiveSpeaks

From the logs output in the console, here are some of the errors:
Value of: messageRequest->waitFor(expectedStatus, timeout)
  Actual: false
Expected: true

Value of: playbackNearlyFinishedFound
  Actual: false
Expected: true

Expected: status
      Which is: 4-byte object <01-00 00-00>
To be equal to: std::future_status::ready
      Which is: 4-byte object <00-00 00-00>

Failure
Expected: (params.type) != (TestDirectiveHandler::DirectiveParams::Type::TIMEOUT), actual: 4-byte object <05-00 00-00> vs 4-byte object <05-00 00-00>

Environment is Linux 16.04, 64 bits. Latest available SDK was built against libcurl compiled with mbedtls and nghttp2, as described in your wiki. GSTREAMER_MEDIA_PLAYER, KITTAI_KEY_WORD_DETECTOR and PORTAUDIO are all ON.

Thank you for reported issues! We are going to look deeper into it.

Hi @syl22-00,
Based on your response, it sounds like these are only integration test failures. In general, some of our integration tests are flaky. This is especially true with the issues that you posted here as they seem mostly related to timeouts. We are working on fixing these to make them more rigid. If the Sample App is generally working for you well, and the unit tests consistently pass, then I wouldn't worry too much about it.
Thanks,
Sanjay

There is also the Network integration test, which does not build. Please see https://github.com/alexa/avs-device-sdk/issues/523 (issue was closed not because it was resolved but should be addressed as part of this issue).

Hi @syl22-00,
Which Linux are you using? is it Ubuntu? I'm using Ubuntu 16.04, and all the integration tests are passing for me.
Regarding AudioPlayerTest.FlashBriefing, have you enabled any flash briefing skill in your Alexa account? If you run the SampleApp and ask alexa for your flash briefing, does it work?

Closing.  Please re-open if you would like further assistance from us, thanks.