https://bugs.winehq.org/show_bug.cgi?id=47852
Bug ID: 47852
Summary: Let developers pick any of the Wine VM's missions for
their job
Product: Wine-Testbot
Version: unspecified
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: unknown
Assignee: wine-bugs(a)winehq.org
Reporter: fgouget(a)codeweavers.com
Distribution: ---
Wine VMs can typically perform multiple missions. For instance the Debian 10 VM
missions are:
win32,test=module:win32,lang=fr_FR:win32,lang=ja_JP:win32,test=module,lang=zh_CN|wow32,test=module:wow64,test=module
This means it can run the tests against the win32, wow32 and wow64 Wine builds,
in English, French, Japanese and Chinese locales.
But when submitting a job though the website the tests are only run against the
win32 Wine build in the English locale and the developer cannot pick any other
test configuration.
This means debugging failures that only happen on the wow64 build of the
TestBot require sending the patch to wine-devel which pollutes the mailing
list, triggers many other tests, and is cumbersome for the developer.
So the 'Submit job' page should analyze a Wine VM's missions and provide a way
to pick any combination of build and language (since they are independent).
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40239
Bug ID: 40239
Summary: Submitting more than one job for a given file fails
Product: Wine-Testbot
Version: unspecified
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: unknown
Assignee: wine-bugs(a)winehq.org
Reporter: fgouget(a)codeweavers.com
Distribution: ---
Steps to reproduce:
* Open the 'Submit job' page in two windows.
* In both select the same file, for instance a patch.diff file or mytest.exe
one.
* Fill the Remarks field and click on the next button in both windows.
* Continue the submission process on both sides.
* At the end one job will work and the other will have 'unknown' written in the
'File name' column and fail with a TestBot error.
During the submission process the server faces the following conditions:
* The server needs the uploaded file early in the submission process so it can
analyze it and adjust the questions it asks later (e.g. prefill the command
line for patches, only present 64 bit VMs for 64 bit executables, etc.).
* There is no job yet to store the user-provided file. So it is stored in a
temporary 'staging' area and then moved into place when the job is created.
* The user can abandon the submission process at any time which causes the
temporary files he uploaded to be orphaned. To deal with this issue the server
has a garbage collecting mechanism.
* To avoid interference between users if they upload files that have the same
name the temporary filename is prefixed with a per-user string.
* However nothing prevents a collision in the staging area starts two job
submissions at the same time for the same file. This is what happens in the
steps above.
That last point is somewhat intentional as it limits the accumulation of
orphaned files if a user abandons a submission only to pick it up a bit later.
But getting a broken job is wrong in any case.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=39417
Bug ID: 39417
Summary: Display duration instead of 'Ended' time
Product: Wine-Testbot
Version: unspecified
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: unknown
Assignee: wine-bugs(a)winehq.org
Reporter: fgouget(a)codeweavers.com
Distribution: ---
For Jobs and Tasks the website shows the 'Ended' time but this is not very
practical. Developers would likely be much more interested in the time it took
to run the job/task. So all this does is force them to do that calculation
themselves.
The (slight) difficulty is mostly that the relevant pages use a base class that
builds the HTML from all the selected fields. So the framework would need to be
modified to let subclasses either provide their own 'virtual columns' with the
corresponding header and content. Alternatively, in this case we could make do
with letting them replace the column's header and content.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=47844
Bug ID: 47844
Summary: Add a dual-screen Wine VM
Product: Wine-Testbot
Version: unspecified
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: unknown
Assignee: wine-bugs(a)winehq.org
Reporter: fgouget(a)codeweavers.com
Distribution: ---
Wine has tests that deal with multi-head displays. These would need some
matching multi-head test Wine VMs.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=47869
Bug ID: 47869
Summary: dwrite:font fails on cw-rx460-1809
Product: Wine-Testbot
Version: unspecified
Hardware: x86
OS: Windows
Status: NEW
Severity: normal
Priority: P2
Component: unknown
Assignee: wine-bugs(a)winehq.org
Reporter: fgouget(a)codeweavers.com
dwrite:font started failing when the AMD HD6800 graphics card was replaced with
the ADM RX 460 one. The failures are always the same:
font.c:1731: Test failed: got 0x8007007a
font.c:1744: Test failed: got 54
font.c:1749: Test failed: got 54
The exact tag is cw-rx460-1809, which is the Windows 10 1809 disk image. This
means either the new graphics driver changed something (maybe it installed a
new strange font?), or a Windows 10 update slipped in while the new graphics
driver was being updated (which is quite likely).
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=48191
Bug ID: 48191
Summary: Add a captcha to the feedback page
Product: Wine-Testbot
Version: unspecified
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: unknown
Assignee: wine-bugs(a)winehq.org
Reporter: fgouget(a)codeweavers.com
Distribution: ---
We are now regularly getting spam on the captcha page. Spammers really have
time to waste!
So we should add a captcha. Despite its simplicity the one on the registration
page still seems to work so it should be a simple matter of porting it over.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=48035
Bug ID: 48035
Summary: Speed up the new failures detection
Product: Wine-Testbot
Version: unspecified
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: unknown
Assignee: wine-bugs(a)winehq.org
Reporter: fgouget(a)codeweavers.com
Distribution: ---
When a task completes the TestBot distinguishes new failures from preexisting
ones by comparing the task's report to the latest WineTest report. Any failure
present in the task's report which is not present in the WineTest report is
new.
This means parsing both reports to extract the errors and diffing them. This
needs to be done whenever we need the list of new failures which is:
* When sending a notification to the developer when a wine-patches job
completes.
* On the JobDetails page.
But the WineTest reports are pretty big (~600KB on Windows, ~1.5MB on Wine)
which translates into non negligible processing time. For instance on my
development environment loading the JobDetails page for a job with 1 Windows
report and 8 Wine reports takes about 0.2 s without the reference WineTest
reports, but close to 2 s when they are present.
So it would help to only store the WineTest failures instead of the full report
(optimisation a in bug 47998). This would cut down not only on the amount of
data to read, but also on the required parsing. Testing this in the same
development environment indicates this could bring the JobDetails processing
time down to about 0.3 s.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=47998
Bug ID: 47998
Summary: Better deal with random test failures
Product: Wine-Testbot
Version: unspecified
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: unknown
Assignee: wine-bugs(a)winehq.org
Reporter: fgouget(a)codeweavers.com
Distribution: ---
Some tests fail randomly. They should be fixed of course but the in the
meantime the TestBot should try not to report them as new failures when they
happen.
To detect new errors the TestBot compares a task's test result with that of the
latest WineTest run. So if a failure did not happen during the last WineTest
run and then happens when testing a patch it will be reported as a new failure.
To avoid that the TestBot should take into account not just the latest WineTest
report, but all the available test reports. This way, if the random failure
happened in any of those runs it will be reported as pre-existing as expected.
How much of a history to take into account can then be adjusted by changing
$JobPurgeDays, or adding a specific setting.
Note that this means if a failure is fixed and is reintroduced soon after it
will not be reported as a new failure. This scenario should be rare enough to
not be an issue in practice.
To implement this:
1. Store the WineTest reports in the var/latest directory with the following
naming format:
<vmname>-job<jobid>_<stepno>_<taskno>-<report>
2. At the start of WineRunTask and WineRunWineTest delete any reference report
in the task's directory (in case the task is restarted), then make new hard
links to the current set of reference reports. Handle this in
LogUtils::GrabReferenceReports() so this code is shared.
3. Add LogUtils::AddReferenceReport() to deal with copying the WineTest reports
to var/latest. Call this function when WineRunTask and WineRunWineTest
complete.
4. In GetNewLogErrors() initially mark all errors as new. Then diff the current
report with each of the reference reports located in the task's directory in
turn and remove any error that's not new from the set of new errors.
Note that currently the reference logs are simple copies of the original
WineTest report. This means these are large files which must be parsed again to
extract errors. With the current $JobPurgeDays setting there will be around 20
reference logs which will require 20 times as much log parsing. So there are
two optimizations one can do, both happening when adding a new reference report
(i.e. in AddReferenceReport()):
a. Instead of copying the full report, save only the errors. That's all the
diff needs and this should reduce the size of the files by a factor of 10 (and
thus speed up parsing).
b. After saving a new reference file, diff it against the old reference files.
Delete any old reference file that has no error not already present in the new
reference file. This will not help much if the set of failures is different
with every run. But otherwise this will speed up both the parsing and diffing.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42770
Bug ID: 42770
Summary: test.winehq.org: Provide a view showing only the
TestBot VMs
Product: WineHQ.org
Version: unspecified
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: www-unknown
Assignee: wine-bugs(a)winehq.org
Reporter: fgouget(a)codeweavers.com
Distribution: ---
In Huw's words:
> Something else that would be very useful is the ability to
> display just the test bot VMs. These are the ones we care
> about the most, and the ones that are possible to fix without
> having to get a third-party to manually run a test. I find it
> difficult to just keep track of these VMs when their results get
> swamped by all the other machines’ failures.
>
> I‘d imagine this should be possible to do using static
> pages. The root page (equivalent to data/index.html)
> could be something like data/wtb_index.html. Clicking
> on a build id would take you to data/build-id/wtb_index.html,
> then clicking on an OS flavour would take you to
> data/build-id/wtb_index_flavour.html. You’d also need some
> way to toggle in and out of the mode.
This should be pretty similar to adding the 'flat index' files mentioned in bug
39379.
https://bugs.winehq.org/show_bug.cgi?id=39379
An interesting alternative would be to go the JavaScript way and make the index
files, which are essentially big tables, sortable, filterable on the
client-side.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=47854
Bug ID: 47854
Summary: Block Windows 10 updates
Product: Wine-Testbot
Version: unspecified
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: unknown
Assignee: wine-bugs(a)winehq.org
Reporter: fgouget(a)codeweavers.com
Distribution: ---
Windows Updates can interfere with the Wine tests in many ways:
* By causing disk traffic they could slow down some tests, causing them to time
out. (Some Wine tests are already somewhat slow. Obviously making them faster
and/or improving QEmu's disk performance would be great but barring that
preventing undue external disk traffic is necessary)
* Windows installing an update at the same time WineTest is testing MSI
installs could cause interference.
* There is also a risk of Windows scheduling a reboot during a test, or popping
up a window asking to reboot during Wine's windowing tests.
And in any case Windows Updates are a waste of CPU, network and disk bandwidth
since VMs will be reverted as soon as the test is completed.
For these reasons pre-Windows 10 versions are configured with Windows updates
disabled. But for Windows 10 that's not possible.
So instead the 'Windows Update' service is disabled. However that does not
survive reboots. So LibvirtTool could maybe run a command to re-disable that
service when it creates a live snapshot. That command could also be repeated in
WineRunTask before starting the tests.
Also for Windows 10 >= 1703 it is possible to set the network connection to
metered mode. This appears to prevent updates no matter what limit is set which
means it's preferable to set a large limit to avoid notifications abut being
past the limit.
To set the network connection in metered mode:
* In Windows >= 1703: Settings -> Ethernet -> Ethernet (Connected) -> 'Set as
metered connection'.
* In Windows >= 1809
This page also describes a regedit based approach. It's unclear if it works
with older Windows 10 versions.
https://www.winhelponline.com/blog/ethernet-metered-connection-windows-10-d…
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\NetworkList\DefaultMediaCost]
"Ethernet"=DWORD:2
Note that this requries changing the ownership on DefaultMediaCost to the
Administrators group and then back to its original owner, TrustedInstaller, aka
"NT Service\TrustedInstaller" (use those Advanced buttons).
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.