https://bugs.winehq.org/show_bug.cgi?id=54732
Bug ID: 54732 Summary: schedsvc:atsvcapi & schedsvc:rpcapi crash on a fresh wineprefix Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: taskschd Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
schedsvc:atsvcapi & schedsvc:rpcapi crash on a fresh wineprefix. The issue is the same for both tests so I'll focus on the latter:
$ rm -rf ~/.wine && WINEDEBUG=schedsvc ./wine dlls/schedsvc/tests/i386-windows/schedsvc_test.exe rpcapi rpcapi.c:64: Tests skipped: Can't connect to Scheduler service: 0x6d9 0020:rpcapi: 0 tests executed (0 marked as todo, 0 as flaky, 0 failures), 1 skipped.
What really happens is that the call to SchRpcHighestVersion() crashes even before reaching the TRACE() statement. And schedsvc:rpcapi interprets that as being unable to connect to the scheduler service.
Running schedsvc:rpcapi multiple times does not help. However if one runs taskschd:scheduler once in that wineprefix, then there is no problem:
$ rm -rf ~/.wine && ./wine dlls/taskschd/tests/i386-windows/taskschd_test.exe scheduler ... # Wait until sure that Wine has fully shut down $ sleep 10; ./wine dlls/schedsvc/tests/i386-windows/schedsvc_test.exe rpcapi rpcapi.c:268: L"<!-- Task definition created by Wine -->\n<Task ...
In particular this means that when submitting a TestBot job for these tests, they systematically skip which prevents detecting failures. (For merge requests there is one 32-bit only full WineTest run which would catch at least some regressions.)
https://bugs.winehq.org/show_bug.cgi?id=54732
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase
https://bugs.winehq.org/show_bug.cgi?id=54732
--- Comment #1 from François Gouget fgouget@codeweavers.com --- Another way to prevent the crash is to run mstask:task before. This is why the test works in full WineTest runs.
mstask:task schedsvc:rpcapi => works taskschd:scheduler schedsvc:rpcapi => works