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

[REG:5.15.7->5.15.8]: Angle: Crash when running a video with qml Video component

    XMLWordPrintable

Details

    • Windows
    • fd8b8107e3 (qt/tqtc-qtmultimedia/5.15)

    Description

      When using angle and trying to run a sample video, application crashes with stack trace:

      >	[Inline Frame] Qt5Core.dll!std::_Atomic_storage<QMutexData *,8>::compare_exchange_strong(QMutexData * &) Line 1201	C++
       	[Inline Frame] Qt5Core.dll!std::atomic<QMutexData *>::compare_exchange_strong(QMutexData * &) Line 2372	C++
       	[Inline Frame] Qt5Core.dll!QAtomicOps<QMutexData *>::testAndSetAcquire(std::atomic<QMutexData *> &) Line 308	C++
       	[Inline Frame] Qt5Core.dll!QBasicAtomicPointer<QMutexData>::testAndSetAcquire(QMutexData *) Line 273	C++
       	[Inline Frame] Qt5Core.dll!QBasicMutex::fastTryLock(QMutexData * &) Line 109	C++
       	Qt5Core.dll!QMutex::lock() Line 230	C++
       	[Inline Frame] Qt5MultimediaQuick.dll!QMutexLocker::{ctor}(QBasicMutex * m) Line 233	C++
       	[Inline Frame] Qt5MultimediaQuick.dll!QSGVideoMaterial_Texture::setVideoFrame(const QVideoFrame &) Line 188	C++
       	Qt5MultimediaQuick.dll!QSGVideoNode_Texture::setCurrentFrame(const QVideoFrame & frame, QFlags<enum QSGVideoNode::FrameFlag> __formal) Line 328	C++
       	Qt5MultimediaQuick.dll!QDeclarativeVideoRendererBackend::updatePaintNode(QSGNode * oldNode, QQuickItem::UpdatePaintNodeData * data) Line 371	C++
       	Qt5Quick.dll!QQuickWindowPrivate::updateDirtyNode(QQuickItem * item) Line 3888	C++
       	Qt5Quick.dll!QQuickWindowPrivate::updateDirtyNodes() Line 3633	C++
       	Qt5Quick.dll!QQuickWindowPrivate::syncSceneGraph() Line 526	C++
       	Qt5Quick.dll!QSGWindowsRenderLoop::renderWindow(QQuickWindow * window) Line 505	C++
       	Qt5Quick.dll!QSGWindowsRenderLoop::render() Line 404	C++
       	Qt5Quick.dll!QSGWindowsRenderLoop::event(QEvent * event) Line 383	C++
       	Qt5Widgets.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3642	C++
       	Qt5Widgets.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 3594	C++
       	Qt5Core.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1064	C++
       	Qt5Core.dll!QEventDispatcherWin32Private::sendTimerEvent(int timerId) Line 433	C++
       	Qt5Core.dll!QEventDispatcherWin32::event(QEvent * e) Line 1051	C++
       	Qt5Widgets.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3642	C++
       	Qt5Widgets.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 3594	C++
       	Qt5Core.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1064	C++
       	[Inline Frame] Qt5Core.dll!QCoreApplication::sendEvent(QObject *) Line 1462	C++
       	Qt5Core.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver, int event_type, QThreadData * data) Line 1821	C++
       	qwindows.dll!00007ff8415a377f()	Unknown
       	Qt5Core.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 514	C++
       	qwindows.dll!00007ff8415a3759()	Unknown
       	[Inline Frame] Qt5Core.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag>) Line 142	C++
       	Qt5Core.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 235	C++
       	Qt5Core.dll!QCoreApplication::exec() Line 1375	C++
       	QPlatform.NativeUI.dll!NativeUI::NativeUIExecHandler::OnStarted() Line 24	C++
       	QRuntime.dll!QRuntime::QApplication::Start() Line 62	C++
       	QRuntime.dll!QRuntime::Initialize(const std::string & mainProject, const std::string & coreVersion, const QRuntime::CommandLineArguments & commandLineArguments, bool & restartApplication) Line 297	C++
       	QRuntime.dll!Initialize(const std::string & mainProject, const std::string & coreVersion, const std::string & projectFile, bool enableConsoleLog, bool disableLogfile, const std::string & logfilePath, unsigned int logfileRotations, unsigned int logfileSizeKB, const std::string & globalLogLevel, const std::string & moduleLogLevels, const std::string & applicationName, bool & restartApplication) Line 350	C++
       	QRuntime.exe!CallLibraryFunction(void * libraryHandle, const char * functionName, const CommandLineArguments commandLineArguments, const QRuntimeConfiguration & config, bool & restartApplication) Line 192	C++
       	QRuntime.exe!QRuntimeInitialize(const CommandLineArguments commandLineArguments, const QRuntimeConfiguration & config, bool & restartApplication) Line 583	C++
       	QRuntime.exe!BootstrapQRuntime(int argc, char * * argv, const CommandLineArguments commandLineArguments, const QRuntimeConfiguration & config) Line 167	C++
       	QRuntime.exe!QRuntimeMain(int argc, char * * argv) Line 332	C++
       	QRuntime.exe!wmain(int argc, wchar_t * * wargv) Line 154	C++
       	[Inline Frame] QRuntime.exe!invoke_main() Line 90	C++
       	QRuntime.exe!__scrt_common_main_seh() Line 288	C++
       	kernel32.dll!00007ff8bc5e7034()	Unknown
       	ntdll.dll!00007ff8bd182651()	Unknown
      

      scenegraph log:

      QML debugging is enabled. Only use this in a safe environment.
      qt.scenegraph.general: windows render loop
      qt.scenegraph.general: Using sg animation driver
      qt.scenegraph.general: Animation Driver: using vsync: 16.67 ms
      DXGI WARNING: IDXGIFactory::CreateSwapChain: Blt-model swap effects (DXGI_SWAP_EFFECT_DISCARD and DXGI_SWAP_EFFECT_SEQUENTIAL) are legacy swap effects that are predominantly superceded by their flip-model counterparts (DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL and DXGI_SWAP_EFFECT_FLIP_DISCARD). Please consider updating your application to leverage flip-model swap effects to benefit from modern presentation enhancements. More information is available at http://aka.ms/dxgiflipmodel. [ MISCELLANEOUS WARNING #294: ]
      qt.scenegraph.general: opengl texture atlas dimensions: 1024x512
      qt.scenegraph.general: R/G/B/A Buffers:   8 8 8 8
      qt.scenegraph.general: Depth Buffer:      24
      qt.scenegraph.general: Stencil Buffer:    8
      qt.scenegraph.general: Samples:           0
      qt.scenegraph.general: GL_VENDOR:         Google Inc.
      qt.scenegraph.general: GL_RENDERER:       ANGLE (Intel(R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0)
      qt.scenegraph.general: GL_VERSION:        OpenGL ES 2.0 (ANGLE 2.1.0.57ea533f79a7)
      qt.scenegraph.general: GL_EXTENSIONS:     GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object
      qt.scenegraph.general: Max Texture Size: 16384
      qt.scenegraph.general: Debug context:    false
      ASSERT failure in QMutexLocker: "QMutex pointer is misaligned", file C:\Users\qt\work\qt\qtbase\include\QtCore\../../src/corelib/thread/qmutex.h, line 229
      

      Attached screenshots of the crash.

      Also attached sample application, it includes a small mp4 video which crashes, but pretty much any video I tested also crashes.

      Attachments

        1. qtbug102413_crash_location_2.png
          qtbug102413_crash_location_2.png
          167 kB
        2. qtbug102413_crash_location.png
          qtbug102413_crash_location.png
          87 kB
        3. qtbug102413_crash.png
          qtbug102413_crash.png
          25 kB
        4. qtbug102413.zip
          517 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            laknoll Lars Knoll
            jussi_witick Jussi Witick
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes