Web Cmdlets test intermittently fail with WebListener timeout #6001
Copy link
Copy link
Closed
Labels
Resolution-FixedThe issue is fixed.The issue is fixed.WG-Maintainers-Buildspecific to affecting the buildspecific to affecting the build
Description
I've seen this a few times.
Steps to reproduce
Run Windows CI Tests
Expected behavior
No failures
Actual behavior
https://ci.appveyor.com/project/PowerShell/powershell/build/6.0.0-7706#L2212
Describing Web cmdlets tests using the cmdlet's aliases
[-] Error occurred in Describe block 15.39s
WebListener did not start before the timeout was reached.
At C:\projects\powershell\test\tools\Modules\WebListener\WebListener.psm1:91 char:13
Describing Write-Debug tests
+
Environment data
> $PSVersionTable
in 6.0.1 branch
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Resolution-FixedThe issue is fixed.The issue is fixed.WG-Maintainers-Buildspecific to affecting the buildspecific to affecting the build
Activity
iSazonov commentedon Jan 24, 2018
/cc Mark Kraus (@markekraus)
markekraus commentedon Jan 24, 2018
I have seen this before a few times, but I can never reproduce it when I try. The only way I see we can get to the bottom if it is to add super verbose failure messages and then reviewing the output when it does fail.
iSazonov commentedon Jan 24, 2018
Maybe CI very slow and we should wait more? What is timeout for the start?
markekraus commentedon Jan 24, 2018
15 seconds
PowerShell/test/tools/Modules/WebListener/WebListener.psm1
Line 58 in 44793e3
iSazonov commentedon Jan 24, 2018
We could increase the timeout and get anything useful to
$initStatus.iSazonov commentedon Jan 24, 2018
Also we check a real time with Get-Date. But if VM sleeps long time the real time loses a value. I think it is more reliably count 100ms intervals in the cycle.
markekraus commentedon Jan 24, 2018
what?
markekraus commentedon Jan 24, 2018
as for $initstatus..
$Job | Stop-Job -PassThru | Receive-Jobshould b dumping anything that would be in it in the catch block.iSazonov commentedon Jan 24, 2018
We get
$timeOut = (get-date).AddSeconds($initTimeoutSeconds). Then VM sleeps 30 seconds. Then it run and we check(get-date) -lt $timeOut)- we already expire although we worked only 100 ms!markekraus commentedon Jan 24, 2018
what?
iSazonov commentedon Jan 24, 2018
I mean, CI farm can be very busy and VM can be put in a pause.
markekraus commentedon Jan 24, 2018
so something like
iSazonov commentedon Jan 24, 2018
Yes. If CI VM really slow-slow this help.