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...
I'm not sure what the cause is. I sent a patch modifying a comment by one character and the same error occurs.
On 25.04.2016 15:34, 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...
I'm not sure what the cause is. I sent a patch modifying a comment by one character and the same error occurs.
Isn't it a usual case with missing export where you have to dynamically ask for it?
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...
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.
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...
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@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. ;-)
On 25.04.2016 16:42, Hugh McMaster wrote:
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...
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@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. ;-)
Looks like it was a purpose of this patch to get rid of dynamic export resolution. Win2000 tests results were deprecated some time ago.
On 25.04.2016 15:47, Nikolay Sivov wrote:
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@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. ;-)
Looks like it was a purpose of this patch to get rid of dynamic export resolution. Win2000 tests results were deprecated some time ago.
As Nikolay already pointed out, this change was intentional. At last WineConf there was the decision that we do no longer care about Win2k test results, so I removed the dynamic loading code in the commit above.
@Hugh: Is there a specific reason why you want to run those tests on Win2k? I don't think adding back the dynamic loading makes sense, unless you can convince the rest of the Wine developers to continue Win2k support and to run each commit on the corresponding testbot. ;)
On Tuesday, 26 April 2016 1:07 AM, Sebastian Lackner wrote:
As Nikolay already pointed out, this change was intentional. At last WineConf there was the decision that we do no longer care about Win2k test results, so I removed the dynamic loading code in the commit above.
@Hugh: Is there a specific reason why you want to run those tests on Win2k? I don't think adding back the dynamic loading makes sense, unless you can convince the rest of the Wine developers to continue Win2k support and to run each commit on the corresponding testbot. ;)
If we no longer support tests on Win2k, then your changes make perfect sense.
I usually prefer to run console tests on all of the testbot VMs, in order to verify the behaviour of older/undocumented functions. But that doesn't really matter. XP is old enough.