[Bug 52981] New: windows.media.speech:speech - SpeechRecognizer fails to initializes with elevated privileges

WineHQ Bugzilla wine-bugs at winehq.org
Wed May 11 08:18:02 CDT 2022


https://bugs.winehq.org/show_bug.cgi?id=52981

            Bug ID: 52981
           Summary: windows.media.speech:speech - SpeechRecognizer fails
                    to initializes with elevated privileges
           Product: Wine
           Version: unspecified
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: -unknown
          Assignee: wine-bugs at winehq.org
          Reporter: fgouget at codeweavers.com
      Distribution: ---

Most of test_SpeechRecognizer() is skipped when run with elevated privileges:

speech.c:896: SpeechRecognizer default language L"fr-FR".
speech.c:1172: Tests skipped: Could not init SpeechRecognizer with default
language!

https://test.winehq.org/data/patterns.html#windows.media.speech:speech

The involved lines are:

 919     hr = RoActivateInstance(hstr, &inspectable);
 922     if (hr == S_OK)
...
1170     else if (hr == SPERR_WINRT_INTERNAL_ERROR) /* Not sure when this
triggers. Probably if a language pack is not installed. */
1171     {
1172         win_skip("Could not init SpeechRecognizer with default
language!\n");

An analysis of the test results across Windows versions shows that we see this
SPERR_WINRT_INTERNAL_ERROR on Windows 10 >= 1809:

    cw-gtx560-1507 S_OK
    cw-rx460-1507  S_OK
    w1064v1507     S_OK
    w1064v1607     S_OK
    cw-gtx560-1709 S_OK
    cw-rx460-1709  S_OK
    w1064v1709     S_OK
    cw-gtx560-1809 skipped
    cw-rx460-1809  skipped
    w1064v1809     skipped
    cw-gtx560-1909 skipped
    cw-rx460-1909  skipped
    w1064v1909     skipped
    w1064v2004     skipped
    cw-gtx560-2009 skipped
    cw-rx460-2009  skipped
    w1064v2009     skipped
    cw-gtx560-21h1 skipped
    cw-rx460-21h1  skipped
    w10pro64-21h1  skipped
    cw-gtx560-21h2 skipped
    cw-rx460-21h2  skipped
    w1064-21h2     skipped
    w10pro64-21h2  skipped

So far that looks pretty clear cut: Microsoft changed things around 1809 such
that processes running with elevated privileges cannot / are not allowed to
perform speech recognition. That would mean the test should drop the privileges
so it can run on any platform.

However the test was not skipped in the w10pro64v2004 and w10pro64 (21H1) test
configurations... until they were upgraded.
So this indicates that there may be a way to get this test to work even while
retaining elevated privileges. But how?

To help debug the issue I added two test configurations:
* w10pro64restored
  The w10pro64 VM restored from a backup of the pre-2022-05 upgrade VM.
  Surprisingly the test still ends up being skipped!

* w10pro64old
  Luckily before the upgrade I moved the old VM out of the way. It is now
available as w10pro64old with the exact same live snapshots. Comfortingly the
test is still not skipped, even after waiting some time and rebooting.

That last part indicates there may be something either in the way the TestBot
creates the live snapshots, or in the "WineTestBot VMs" checklist I go through
when preparing the VMs and the cw-* machines (but then the clear 1809 cutoff
point is quite a coincidence).

-- 
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.



More information about the wine-bugs mailing list