Closed sniku closed 2 years ago
I was also able to reproduce this with the following options:
export const options = {
stages: [
{ duration: '10m', target: 30 },
{ duration: '10m', target: 30 },
{ duration: '10m', target: 5 }
],
thresholds: {
'http_req_duration{load_zone:amazon:us:ashburn}': ['p(95)<500'],
'http_req_duration{load_zone:amazon:ie:dublin}': ['p(95)<800'],
},
ext: {
loadimpact: {
projectID: 3026,
distribution: {
distributionLabel1: { loadZone: 'amazon:us:ashburn', percent: 50 },
distributionLabel2: { loadZone: 'amazon:ie:dublin', percent: 50 }
},
note: 'Marie test'
}
}
}
This is now fixed thanks to @mstoykov in https://github.com/grafana/k6/pull/2693. I tested with a 1h/10VU test run on staging, and Mihail did the same on production, and we didn't run into this issue anymore.
There's still an outstanding issue of fixing what triggers the Promise rejection to begin with, but the event loop will no longer be "corrupted" if it's unhandled, which is what this issue was about. We can open a new lower priority issue for the trigger when we run into it.
I'm struggling to come up with a good name for the issue because the underlying bug is not clear to me.
Version
Build using the latest main branch 3a1e01b.
Script
Result
On a local machine, the test usually runs correctly for a long time. In this case, it was running for about 40 min. In the cloud, the failure happens much quicker - usually within 1-2 min.
The browser behavior is surprising.
page.goto('https://test.k6.io/', { waitUntil: 'networkidle' });
works fine.Promise.all([
block seems to be skipped.From that point, none of the code in the
Promise.all([
block is executed, but the test keeps running and repeatedly printing the ERRO lines shown above....