Windows 2000 VM timing out

Hugh McMaster hugh.mcmaster at outlook.com
Mon Apr 25 08:42:07 CDT 2016


On Monday, 25 April 2016 10:57 PM, Francois Gouget wrote:

>On Mon, 25 Apr 2016, Hugh McMaster wrote:
>>
>> The Windows 2000 VM is timing out with the following dialog message:
>>
>> kernel32_test.exe - Entry Point Not Found
>> The procedure entry point InitializeSListHead could not be located in the dynamic link library kernel32.dll.
>>
>> For a screenshot, see https://testbot.winehq.org/JobDetails.pl?Key=22547&log_201=1&scrshot_201=1#k201
>>
>> I'm not sure what the cause is. I sent a patch modifying a comment by one character and the same error occurs.
>
> It's exactly as the message says: kernel32_test.exe imports
> InitializeSListHead(). That's not an issue on Windows XP and greater
> because they have a kernel32.dll that exports that function. But Windows
> 2000 does not have this function and so Windows fails to resolve the
> executable's imports (which happens before starting the executable), and
> pops up a dialog to inform the user. Since there is no one to dismiss
> the dialog nothing happens until the alloted 2 minutes run out and the
> test is marked as "timed out".
>
> The solution would be to replace this direct function call with a
> function pointer which you would initialize using GetModuleHandleA() and
> GetProcAddress(). See dlls/kernel32/tests/sync.c for instance.

Thanks for the explanation.

I checked the commit log and found the problem:

kernel32/tests: Clean up interlocked SList tests.
commit: 38d0690a2c0f01272a4199e9b73f67b6b83f7fb6
author: Sebastian Lackner <sebastian at fds-team.de>
Thu, 11 Feb 2016 02:53:11 +0000 (03:53 +0100)

The patch removes an if statement that checks for a valid pointer to the function.

I'll send a patch tomorrow, unless someone beats me to it.  ;-)



More information about the wine-devel mailing list