-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Race condition results in error "Some of your tests did a full page reload!" #3424
Race condition results in error "Some of your tests did a full page reload!" #3424
Comments
Ok if I understand your analysis, our scenarios are PASS:
FAIL
|
Add a delay in execute to ensure that reload events and clear context events are completed first. Fixes karma-runner#3424
Add a delay in execute to ensure that reload events and clear context events are completed first. Fixes karma-runner#3424
Add a delay in execute to ensure that reload events and clear context events are completed first. Fixes #3424
# [5.2.0](v5.1.1...v5.2.0) (2020-08-31) ### Bug Fixes * **client:** avoid race between execute and clearContext ([#3452](#3452)) ([8bc5b46](8bc5b46)), closes [#3424](#3424) * **client:** check in bundled client code into version control ([#3524](#3524)) ([6cd5a3b](6cd5a3b)), closes [/github.com/karma-runner/karma/commit/f5521df7df5cd1201b5dce28dc4e326b1ffc41fd#commitcomment-38967493](https://github.com//github.com/karma-runner/karma/commit/f5521df7df5cd1201b5dce28dc4e326b1ffc41fd/issues/commitcomment-38967493) * **dependencies:** update dependencies ([#3543](#3543)) ([5db46b7](5db46b7)) * **docs:** Update 03-how-it-works.md ([#3539](#3539)) ([e7cf7b1](e7cf7b1)) * **server:** log error when file loading or preprocessing fails ([#3540](#3540)) ([fc2fd61](fc2fd61)) ### Features * **server:** allow 'exit' listeners to set exit code ([#3541](#3541)) ([7a94d33](7a94d33))
🎉 This issue has been resolved in version 5.2.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Just reporting that I'm still encountering this issue on Karma 5.2.2 However, setting |
We started experiencing |
+1 Karma 5.2.3 |
Please open a new bug with steps to reproduce. This issue is related to a race in the code and steps to reproduce are essential. |
…r#3452) Add a delay in execute to ensure that reload events and clear context events are completed first. Fixes karma-runner#3424
# [5.2.0](karma-runner/karma@v5.1.1...v5.2.0) (2020-08-31) ### Bug Fixes * **client:** avoid race between execute and clearContext ([karma-runner#3452](karma-runner#3452)) ([8bc5b46](karma-runner@8bc5b46)), closes [karma-runner#3424](karma-runner#3424) * **client:** check in bundled client code into version control ([karma-runner#3524](karma-runner#3524)) ([6cd5a3b](karma-runner@6cd5a3b)), closes [/github.com/karma-runner/karma/commit/f5521df7df5cd1201b5dce28dc4e326b1ffc41fd#commitcomment-38967493](https://github.com//github.com/karma-runner/karma/commit/f5521df7df5cd1201b5dce28dc4e326b1ffc41fd/issues/commitcomment-38967493) * **dependencies:** update dependencies ([karma-runner#3543](karma-runner#3543)) ([5db46b7](karma-runner@5db46b7)) * **docs:** Update 03-how-it-works.md ([karma-runner#3539](karma-runner#3539)) ([e7cf7b1](karma-runner@e7cf7b1)) * **server:** log error when file loading or preprocessing fails ([karma-runner#3540](karma-runner#3540)) ([fc2fd61](karma-runner@fc2fd61)) ### Features * **server:** allow 'exit' listeners to set exit code ([karma-runner#3541](karma-runner#3541)) ([7a94d33](karma-runner@7a94d33))
Expected behaviour
When running Karma with
singleRun = false
andautoWatch = false
I would expect to be able to schedule a new run as soon as the 'old' run is completed.Actual behaviour
A race condition in
clearContext
can report a false error in the new run.Environment Details
karma --version
):4.4.1
karma.config.js
fileSteps to reproduce the behaviour
It is difficult to reproduce since it is a race condition. Essentially it can happen in this scenario:
Triage
The problem is in the complete handler. Results are reported to the server before the context is cleared:
karma/client/karma.js
Lines 230 to 242 in 6235e68
The
clearContext
function sets thereloadingContext
flag and navigates away.karma/client/karma.js
Lines 148 to 152 in 6235e68
Now, just before the browser navigates away, the
reloadingContext
is reset by the next execution:karma/client/karma.js
Line 266 in 6235e68
The concequence of this, is that the error is reported here:
karma/client/karma.js
Line 132 in 6235e68
However, I didn't reload any page.
Workaround
If you set
client.clearContext
to false, the context will not be cleared and there is no risk of this race condition.The text was updated successfully, but these errors were encountered: