[PATCH v2 resend 1/2] kernelbase/tests: Relax tests for WaitOnAddress().

Greg codedonewell at gmail.com
Tue Feb 5 17:40:31 CST 2019

On 28/1/19 3:48 pm, Zebediah Figura wrote:
> On 1/27/19 10:34 PM, Greg wrote:
>> On 28/1/19 8:54 am, Marvin wrote:
>>> Hi,
>>> While running your changed tests on Windows, I think I found new 
>>> failures.
>>> Being a bot and all I'm not very good at pattern recognition, so I 
>>> might be
>>> wrong, but could you please double-check?
>>> Full results can be found at:
>>> https://testbot.winehq.org/JobDetails.pl?Key=46762
>>> Your paranoid android.
>>> === wxppro (32 bit report) ===
>>> kernelbase:
>>> sync: Timeout
>> Thanks for resubmitting this Zeb.
>> Putting aside the mysteries of kernelbase and WaitOnAddress existing in
>> windows XP but notInterlockedCompareExchange64, it seems from my
>> research that InterlockedCompareExchange should exist on windows XP.
>> Would it be feasible and acceptable to change the size of 'compare' to a
>> 32 bits and use InterlockedCompareExchange instead?
>> Regards,
>> Greg
> Yes, that is probably the best thing to do. If I receive no other 
> feedback, I will resend the patch with that changed.
Given that you are very busy working things that are much more important 
than something as trivial as getting a game running better, I dug around 
and prepared an XP VM for local testing, as well as getting my local 
environment setup for 32bit cross testing.

After I reproduced the original problem, I then changed:
- Both definitions of "LONG64 compare" to "DWORD compare"; and
- "InterlockedCompareExchange64" to "InterlockedCompareExchange"

I followed this by a complete rebuild and retesting locally 
(ubuntu64+32bit test in LXC instance), then on Win10, WinXP, and 
debian32. All completed successfully.
It turns out that the test is skipped on WinXP due to WaitOnAddress not 
being  present. The problem was that the exe had a reference to 
InterlockedCompareExchange64 which was being resolved when the test was 
kicked off, causing the error.  Regarding the question about kernelbase 
tests being run on WinXP: It seems that all crosstest outputs are 
executed on all platforms. I guess that reduces complexity for the testbot.

Thanks for all your help with this minor issue, I really appreciate you 
taking the time out to do it.

More information about the wine-devel mailing list