Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.15.8, 5.15.9
-
-
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
For Gerrit Dashboard: QTBUG-102413 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
405799,2 | Initialize m_material to nullptr | tqtc/lts-5.15 | qt/tqtc-qtmultimedia | Status: MERGED | +2 | 0 |