https://bugs.winehq.org/show_bug.cgi?id=50048
Bug ID: 50048 Summary: qmgr:job test has been failing on Windows 10 Pro for several weeks Product: Wine-Testbot Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: unknown Assignee: wine-bugs@winehq.org Reporter: aa1ronham@gmail.com Distribution: ---
The 'qmgr:job' test has been failing on all of the Windows 10 VMs for the past several weeks.
The most recent failure can be seen at https://test.winehq.org/data/e533a26dcff611f312e5bfce47061d2155476c42/ (for example, https://test.winehq.org/data/e533a26dcff611f312e5bfce47061d2155476c42/win10_...)
The failure message is always the same: Several tests which create background jobs get stuck in the BG_JOB_STATE_TRANSIENT_ERROR state (which is printed as state '5').
On https://test.winehq.org/data/, this pattern of failure appears to have started with https://test.winehq.org/data/432858b285d2b63eca6f99a162c9a13dd6e6ac71/ (Semptember 4th, https://source.winehq.org/git/wine.git/?a=shortlog;h=432858b285d2b63eca6f99a...)
Interestingly, the first failure always occurs in `test_CompleteLocal`. This tests transferring a local file using BITS - there's no network issue that could be causing a BG_JOB_STATE_TRANSIENT_ERROR.
I've been unable to reproduce this failure locally, or on a Windows 10 Pro VM (created on Azure).
I'm not familiar with how these VMS are set up, but my guess is that something went wrong with the BITS background service, which is causing `BG_JOB_STATE_TRANSIENT_ERROR` to be reported to the test program.
https://bugs.winehq.org/show_bug.cgi?id=50048
--- Comment #1 from Aaron aa1ronham@gmail.com --- The qmgr:job history shows this happening sproadically as far back as August 27th, but it happens consistently from Septermber 4th onward: https://test.winehq.org/data/tests/qmgr:job.html
https://bugs.winehq.org/show_bug.cgi?id=50048
--- Comment #2 from Aaron aa1ronham@gmail.com --- Looking into https://test.winehq.org/data/tests/qmgr:job.html more deeply - all of the Win10 builds with a failure count of 0 appear to have skipped the qmgr tests (the full report page shows the qmgr DLL as 'missing').
It looks like the qmgr tests have failed every time they were run on a Windows 10 Pro VM, going back at least as far as August 25th (which is where the report page ends).
https://bugs.winehq.org/show_bug.cgi?id=50048
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fgouget@codeweavers.com
--- Comment #3 from François Gouget fgouget@codeweavers.com --- The test failures seem to have stopped on 2020-10-26 but I don't know what changed. As far as I can tell the tests are still being run on the w10pro64 VM, but only in 64-bit tests as 64-bit Windows does not have the 32-bit dll apparently.
For reference some of the failures messages were:
job.c:364: Test failed: Bad state: 5 job.c:364: Test failed: Bad state: 5 [...] job.c:372: Test failed: BITS jobs timed out job.c:374: Test failed: IBackgroundCopyJob_Complete job.c:323: Test failed: CreateFile job.c:327: Test failed: ReadFile job.c:332: Test failed: Files differ in length job.c:333: Test failed: Files differ in contents [...]
https://bugs.winehq.org/show_bug.cgi?id=50048
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #4 from François Gouget fgouget@codeweavers.com --- This got fixed by the commit below which makes sense since the TestBot's Windows 10 VMs us a metered connection to prevent Windows upgrades from wreaking havoc. In any case there is no failure in the available test.winehq.org history so I'm closing this bug.
commit 2538077463e3be922fc6de576409bee09a9d5de1 Author: Aaron Hill aa1ronham@gmail.com Date: Sun Oct 25 23:51:25 2020 -0400
qmgr/tests: Fix issues with handling of transient errors.
When a BITS job is being transferred, it may enter into the state BG_JOB_STATE_TRANSIENT_ERROR (for example, if the hostname fails to resolve). Currently, entering this state causes qmgr job tests to fail, even though it may occur due to temporary network issues out of our control.
If a job enters BG_JOB_STATE_TRANSIENT_ERROR before the timeout has elapsed, attempt to resume the job using IBackgroundCopyJob_Resume. If the job is still in BG_JOB_STATE_TRANSIENT_ERROR, query BITS for detailed error information, and print it out.
Additionally, ensure that we are able to transfer files on Windows 10 with a metered connection. By default, BITS will not attempt to transfer a job on a metered connection, instead failing with BG_JOB_STATE_TRANSIENT_ERROR. On newer versions of Windows, we can use IBackgroundCopyJob5 to set the transfer policy, forcing the job to run even on a metered connection. This allows qmgr job tests to pass on the testbot Windows 10 VMs, which have metered connections enabled in order to disable Windows Update.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50048 Signed-off-by: Aaron Hill aa1ronham@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=50048
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from François Gouget fgouget@codeweavers.com --- Closing.