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

Access violation on QWindowsFormatInfo construction

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.7.3, 6.8.3
    • Multimedia
    • None
    • Windows

    Description

      Observing this when analyzing our users' crashes in Sentry

      Unhandled exception at 0x00007FFCD899C4C8 (nvEncMFThevc.dll) in c7066a97-de8c-4825-b143-94864bff25ad (1).dmp: 0xC0000005: Access violation writing location 0x0000000000000010.
      

      Call stack:

      Application Specific Information:
      Fatal Error: EXCEPTION_ACCESS_VIOLATION_WRITE / 0x10
      
      Thread 12812 Crashed:
      0   nvEncMFThevc.dll                0x7fffc916c4c8      <unknown>
      1   nvEncMFThevc.dll                0x7fffc9186010      <unknown>
      2   nvEncMFThevc.dll                0x7fffc916a279      <unknown>
      3   nvEncMFThevc.dll                0x7fffc916b1a1      <unknown>
      4   nvEncMFThevc.dll                0x7fffc916b834      <unknown>
      5   nvEncMFThevc.dll                0x7fffc9235020      <unknown>
      6   nvEncMFThevc.dll                0x7fffc9234fb0      <unknown>
      7   nvEncMFThevc.dll                0x7fffc916d8a2      <unknown>
      8   nvEncMFThevc.dll                0x7fffc916794a      <unknown>
      9   nvEncMFThevc.dll                0x7fffc9167f64      <unknown>
      10  combase.dll                     0x7ff80e23a7e0      CServerContextActivator::CreateInstance (actvator.cxx:877)
      11  combase.dll                     0x7ff80e2cabae      <unknown>
      12  combase.dll                     0x7ff80e23ab0b      CApartmentActivator::CreateInstance (actvator.cxx:2164)
      13  combase.dll                     0x7ff80e2d27c7      CProcessActivator::CCICallback (actvator.cxx:1636)
      14  combase.dll                     0x7ff80e2d691f      CProcessActivator::AttemptActivation (actvator.cxx:1515)
      15  combase.dll                     0x7ff80e2cff10      CProcessActivator::ActivateByContext (actvator.cxx:1367)
      16  combase.dll                     0x7ff80e287bcf      CProcessActivator::CreateInstance (actvator.cxx:1254)
      17  combase.dll                     0x7ff80e2cabae      <unknown>
      18  combase.dll                     0x7ff80e287d0c      CClientContextActivator::CreateInstance (actvator.cxx:562)
      19  combase.dll                     0x7ff80e2cabae      <unknown>
      20  combase.dll                     0x7ff80e248d2c      ICoCreateInstanceEx (objact.cxx:2029)
      21  combase.dll                     0x7ff80e248269      <unknown>
      22  combase.dll                     0x7ff80e248062      [inlined] LookForConfiguredClsid (objact.cxx:1692)
      23  combase.dll                     0x7ff80e248062      ICoGetClassObject (objact.cxx:1264)
      24  mfplat.dll                      0x7fffe4f4a483      CMFTransformActivate::InstantiateTransform
      25  mfplat.dll                      0x7fffe4f4a38b      CMFTransformActivate::InstantiateMediaObject
      26  mfplat.dll                      0x7fffe4f5cbd0      CMFActivate::DoActivate
      27  mfplat.dll                      0x7fffe4f5dc97      CMFActivate::ActivateObject
      28  windowsmediaplugin.dll          0x7fffc13b4966      `anonymous namespace'::isSupportedMFT (qwindowsformatinfo.cpp:43)
      29  windowsmediaplugin.dll          0x7fffc13b25e5      [inlined] `anonymous namespace'::isSupportedCodec (qwindowsformatinfo.cpp:60)
      30  windowsmediaplugin.dll          0x7fffc13b25e5      [inlined] `anonymous namespace'::isSupportedCodec (qwindowsformatinfo.cpp:71)
      31  windowsmediaplugin.dll          0x7fffc13b25e5      [inlined] QWindowsFormatInfo::{ctor}::__l2::<T>::::__l2::<T>::operator() (qwindowsformatinfo.cpp:162)
      32  windowsmediaplugin.dll          0x7fffc13b25e5      [inlined] std::find_if (xutility:6643)
      33  windowsmediaplugin.dll          0x7fffc13b25e5      QtPrivate::sequential_erase_if<T> (qcontainertools_impl.h:344)
      34  windowsmediaplugin.dll          0x7fffc13b384c      [inlined] QList<T>::removeIf (qlist.h:611)
      35  windowsmediaplugin.dll          0x7fffc13b384c      [inlined] QWindowsFormatInfo::{ctor}::__l2::<T>::operator() (qwindowsformatinfo.cpp:162)
      36  windowsmediaplugin.dll          0x7fffc13b384c      QWindowsFormatInfo::QWindowsFormatInfo (qwindowsformatinfo.cpp:175)
      37  Qt6Core.dll                     0x7fffbeeae45a      QArrayData::allocate (qarraydata.cpp:201)
      38  Qt6Core.dll                     0x7fffbedb180e      QCoreApplicationPrivate::sendThroughApplicationEventFilters (qcoreapplication.cpp:1296)
      ...
      

      Crashed on CMFActivate::ActivateObject in isSupportedMFT():

      bool isSupportedMFT(const GUID &category, const MFT_REGISTER_TYPE_INFO &type, QMediaFormat::ConversionMode mode)
      {
          UINT32 count = 0;
          IMFActivate **activateArrayRaw = nullptr;
          HRESULT hr = MFTEnumEx(
                  category,
                  MFT_ENUM_FLAG_ALL,
                  (mode == QMediaFormat::Encode) ? nullptr : &type,  // Input type
                  (mode == QMediaFormat::Encode) ? &type : nullptr,  // Output type
                  &activateArrayRaw,
                  &count
                  );
      
          if (FAILED(hr))
              return false;
      
          QComTaskResource<IMFActivate *[], QComDeleter> activateArray(activateArrayRaw, count);
          for (UINT32 i = 0; i < count; ++i) {
              ComPtr<IMFTransform> transform;
              hr = activateArray[i]->ActivateObject(IID_PPV_ARGS(transform.GetAddressOf())); <-- CRASH
              if (SUCCEEDED(hr))
                  return true;
          }
      
          return false;
      }
      

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              qtmultimediateam Qt Multimedia Team
              studiosus Vladimir Belyavsky
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes