Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-141787

QAudioOutput cannot recover from interrupted RDP session

XMLWordPrintable

    • Windows
    • QtMM w44 - ....

      Steps to reproduce:
      1. From local device, remote desktop to a remote device
      2. From that remote device, build and run the attached reproducer
      3. Once app runs, cut off connection from local device but do not interfere with app running on remote device (just close the window).
      4. Reconnect to remote device, and one can find that app crashes.

      Reason: it may be related to Windows version.
      I only have Windows 10 for remote test for now, so on Windows 10, it is:

      IMMDeviceEnumerator::GetDevice failed "{3.0.0.00000001}.{6C26BA7D-F0B2-4225-B422-8168C5261E45}" "COM error 0x800708ca: This network connection does not exist."
      

      And on Windows 11, from original reporter, it is due to a nullptr somewhere in this function call:
      https://github.com/qt/qtmultimedia/blob/dev/src/multimedia/windows/qwindowsaudioutils.cpp#L373
      See the attached stack trace for details.

      Another difference between Windows 10 and 11 is that it is always the same crash on Windows 10. But on Windows 11, it is said that debug build does not crash but causes an assertion fail here:
      https://github.com/qt/qtmultimedia/blob/dev/src/multimedia/audio/qaudiosystem_platform_stream_support.cpp#L51
      see the attached log file for details.

        1. multimediacrash.zip
          170 kB
          Luqiao Chen
        2. win11_assert_fail_log.log
          19 kB
          Luqiao Chen
        3. win11_crash_trace.txt
          17 kB
          Luqiao Chen
        4. win10_crash.tasks
          1 kB
          Luqiao Chen
        For Gerrit Dashboard: QTBUG-141787
        # Subject Branch Project Status CR V

            timblechmann tim blechmann
            luqiaochen Luqiao Chen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:

                There is 1 open Gerrit change