New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using FFmpeg to record a test that goes through multiple browsers causes test to hang when running multiple tests #6288
Comments
Thank you for your excellent report. I reproduced the bug. Please watch for our updates on this issue to keep abreast of our progress. For team: |
Hi TestCafe Team, Is there any update on this issue? We are facing it and is very easy to reproduce even with the Getting Started example. Environment details: TestCafé version: 1.16.1
We are disabling video recording by removing those options from the testcafe config file to be able to run our tests in chrome. Thank you! |
Hello, Thank you for your report. This issue is not scheduled for the next sprint, so we cannot name a timeline for its solution. |
This is currently affecting our test runs as well. We'd really like to be able to reliably record our test runs to debug failures in our GitHub Workflows but as of right now, the process often hangs until the process throws an out of memory error. |
Hi TestCafe Team, Is there any update on this issue? Or, is there any workaround? Thank you! |
No updates yet. Once we get any results, we will post them in this thread. |
I think I've bumped into same issue, going over debugger I think I see a loop here async _capture () {
while (this.active) {
try {
const frame = await this.connection.provider.getVideoFrameData(this.connection.id);
if (frame) {
await this.emit('frame');
await this._addFrame(frame);
}
}
catch (error) {
this.debugLogger(error);
}
}
} throwing an exception
and then going through the loop again and again Not sure what's the root cause, but if such error happens maybe worth changing browser active state? |
Thank you for your research. We will take your results into account when fixing this issue. |
Hi folks, I tried reproducing the issue with |
This issue was automatically closed because there was no response to our request for more information from the original author. Currently, we don't have enough information to take action. Please reach out to us if you find the necessary information and are able to share it. We are also eager to know if you resolved the issue on your own and can share your findings with everyone. |
What is your Test Scenario?
I want to run multiple tests, some of which open multiple windows using the
t.openWindow()
function, and be able to record them using FFMpeg.What is the Current behavior?
Say we have a test A that opens multiple windows using
t.openWindow()
. Then we have a test B that may or may not open multiple windows. Then we runtestcafe chrome A.js B.js --video artifacts/videos
. Test A will complete as expected but when it moves on to test B it will get stuck and run until there's aFATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
error. For some reason this doesn't happen every time I run it, but it happens most of the time. Removing either the--video
option or thet.openWindow()
calls prevents this from occurring. My guess is that FFmpeg has some problem dealing with multiple windows opening in a test.What is the Expected behavior?
The tests all run and are recorded regardless of whether they open multiple windows or not.
What is your web application and your TestCafe test code?
Code is proprietary. Website needs authentication. I made a github repo that reproduces the issue.
Steps to Reproduce:
Check out this repo I made to easily reproduce it.
Your Environment details:
testcafe chrome mptest1.js mptest2.js --video artifacts/videos
The text was updated successfully, but these errors were encountered: