Bug 509280 - Gwenview crashes when playing any video
Summary: Gwenview crashes when playing any video
Status: RESOLVED UPSTREAM
Alias: None
Product: gwenview
Classification: Applications
Component: general (other bugs)
Version First Reported In: 25.08.0
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Gwenview Bugs
URL:
Keywords:
: 509504 (view as bug list)
Depends on:
Blocks:
 
Reported: 2025-09-08 17:44 UTC by ihatemylife0025
Modified: 2025-09-17 16:16 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
A video that causes gwenview to crash (2.00 MB, video/mp4)
2025-09-08 17:44 UTC, ihatemylife0025
Details
Logs (2.14 KB, text/plain)
2025-09-08 17:45 UTC, ihatemylife0025
Details
Developer information from KCrash (59.69 KB, text/plain)
2025-09-08 17:47 UTC, ihatemylife0025
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ihatemylife0025 2025-09-08 17:44:19 UTC
Created attachment 184813 [details]
A video that causes gwenview to crash

SUMMARY
When playing any video no matter the codec (h264, vp9, hevc, av1) gwenview crashes with a segfault

STEPS TO REPRODUCE
1. Open any video with gwenview
2. Press play
3. It should crash

OBSERVED RESULT
Gwenview crashes

EXPECTED RESULT
Gwenview should play videos without crashing

SOFTWARE/OS VERSIONS
(available in the Info Center app, or by running `kinfo` in a terminal window)
Operating System: Fedora Linux 42
KDE Plasma Version: 6.4.4
KDE Frameworks Version: 6.17.0
Qt Version: 6.9.1
Kernel Version: 6.12.44-200.fc42.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 7600 6-Core Processor
Memory: 32 GiB of RAM (30.4 GiB usable)
Graphics Processor 1: AMD Radeon RX 7600 XT
Graphics Processor 2: AMD Radeon Graphics

ADDITIONAL INFORMATION
Comment 1 ihatemylife0025 2025-09-08 17:45:08 UTC
Created attachment 184814 [details]
Logs
Comment 2 ihatemylife0025 2025-09-08 17:47:12 UTC
Created attachment 184815 [details]
Developer information from KCrash
Comment 3 Patrick Silva 2025-09-15 11:12:46 UTC
*** Bug 509504 has been marked as a duplicate of this bug. ***
Comment 4 Jiri 2025-09-15 13:10:20 UTC
After little investigation, this seems to be a Qt issue. The gwenview crashes in VideoViewAdapter class constructor when trying to create QMediaPlayer instance (videoviewadapter.cpp, line 202). I created new hello world Qt app that only tries to create media player, but upon trying to construct QMediaPlayer instance I encounter exactly same crash.
Comment 5 A Linux User 2025-09-17 13:58:56 UTC
In this case, please submit the bug to the Qt Bug Tracker.

https://bugreports.qt.io/issues/
Comment 6 Jiri 2025-09-17 16:16:37 UTC
Just to clarify I have done little bit more research. To sum up: my original report (https://bugs.kde.org/show_bug.cgi?id=509504) was caused by reasons described in (https://bugs.kde.org/show_bug.cgi?id=481977) and were solved by removing obsolete libva-vdpau-driver mentioned there. As the gwenview crashed on opening the video not clicking the play button it was not duplicate of this bug.

Now the gwenview crashes when the play button is clicked (as mentioned by original reporter here). Not sure if it is caused by the qt/nvidia drivers or the way gwenview uses QGraphicsScene, but I get following stacktrace now, if I have time, I will try to reproduce it in more isolated environment.

#0  0x00007fffd6762d50 in ?? () from /usr/lib/libnvidia-glcore.so.580.82.09
#1  0x00007fffd676ad49 in ?? () from /usr/lib/libnvidia-glcore.so.580.82.09
#2  0x00007fffd641d7bf in ?? () from /usr/lib/libnvidia-glcore.so.580.82.09
#3  0x00007ffff6b3aeb7 in QOpenGLFunctions::glDrawElements (this=0x555558a50900, mode=5, count=30, type=5123, indices=0x0) at /usr/src/debug/qt6-base/qtbase/src/gui/opengl/qopenglfunctions.h:720
#4  QOpenGL2PaintEngineExPrivate::drawCachedGlyphs (this=this@entry=0x555558a506e0, glyphFormat=glyphFormat@entry=QFontEngine::Format_A8, staticTextItem=staticTextItem@entry=0x7fffffff6d00) at /usr/src/debug/qt6-base/qtbase/src/opengl/qopenglpaintengine.cpp:2071
#5  0x00007ffff6b3c709 in QOpenGL2PaintEngineEx::drawTextItem (this=<optimized out>, p=..., textItem=...) at /usr/src/debug/qt6-base/qtbase/src/opengl/qopenglpaintengine.cpp:1692
#6  0x00007ffff512fe56 in QPainterPrivate::drawTextItem (this=<optimized out>, p=..., _ti=..., textEngine=0x7fffffff83b0) at /usr/src/debug/qt6-base/qtbase/src/gui/painting/qpainter.cpp:6283
#7  0x00007ffff5345d36 in QTextLine::draw_internal (this=0x7fffffff82e0, p=0x7fffffffaf40, origPos=..., selection=0x0) at /usr/include/c++/15.2.1/bits/unique_ptr.h:193
#8  0x00007ffff51320d6 in QTextLine::draw (this=0x7fffffff82e0, painter=0x7fffffffaf40, position=...) at /usr/src/debug/qt6-base/qtbase/src/gui/text/qtextlayout.cpp:2644
#9  qt_format_text (fnt=..., _r=..., tf=<optimized out>, tf@entry=132228, option=option@entry=0x0, str=..., brect=brect@entry=0x0, tabstops=<optimized out>, ta=0x0, tabarraylen=0, painter=0x7fffffffaf40) at /usr/src/debug/qt6-base/qtbase/src/gui/painting/qpainter.cpp:7382
#10 0x00007ffff5132a5a in QPainter::drawText (this=this@entry=0x7fffffffaf40, r=..., flags=flags@entry=132228, str=..., br=br@entry=0x0) at /usr/include/c++/15.2.1/bits/unique_ptr.h:193
#11 0x00007ffff59a6986 in QStyle::drawItemText (this=0x55555574b350, painter=0x7fffffffaf40, rect=..., alignment=132228, pal=..., enabled=<optimized out>, text=..., textRole=QPalette::WindowText) at /usr/src/debug/qt6-base/qtbase/src/widgets/styles/qstyle.cpp:598
#12 0x00007ffff5aab424 in QLabel::paintEvent (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/widgets/qlabel.cpp:1026
#13 0x00007ffff595c5d3 in QWidget::event (this=0x555558a68f30, event=0x7fffffffb2a0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:9144
#14 0x00007ffff59c8ff6 in QFrame::event (this=0x555558a68f30, e=0x7fffffffb2a0) at /usr/src/debug/qt6-base/qtbase/src/widgets/widgets/qframe.cpp:521
#15 0x00007ffff5901dd0 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555558a68f30, e=0x7fffffffb2a0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3300
#16 0x00007ffff4568678 in QCoreApplication::notifyInternal2 (receiver=0x555558a68f30, event=0x7fffffffb2a0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#17 0x00007ffff45686cd in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1560
#18 0x00007ffff594d45e in QWidgetPrivate::sendPaintEvent (this=this@entry=0x555555ae3c50, toBePainted=...) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:5671
#19 0x00007ffff594f7c7 in QWidgetPrivate::drawWidget (this=this@entry=0x555555ae3c50, pdev=pdev@entry=0x7fffe8004350, rgn=..., offset=..., flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:5621
#20 0x00007ffff5950948 in QWidgetPrivate::render (this=this@entry=0x555555ae3c50, target=target@entry=0x7fffe8004350, targetOffset=..., sourceRegion=..., renderFlags=..., renderFlags@entry=...) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:5742
#21 0x00007ffff5950e3e in QWidget::render (this=0x555558a68f30, painter=0x7fffffffd090, targetOffset=..., sourceRegion=..., renderFlags=...) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:5206
#22 0x00007ffff5d41f12 in QGraphicsProxyWidget::paint (this=<optimized out>, painter=0x7fffffffd090, option=<optimized out>, widget=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsproxywidget.cpp:1556
#23 0x00007ffff5d76f1e in _q_paintItem(QGraphicsItem*, QPainter*, QStyleOptionGraphicsItem const*, QWidget*, bool, bool) [clone .part.0] [clone .lto_priv.0] (item=0x555558f16040, painter=0x7fffffffd090, option=0x5555558668c8, widget=0x55555597d4d0, useWindowOpacity=true, 
    painterStateProtection=true) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp:4219
#24 0x00007ffff5d5d990 in QGraphicsScenePrivate::draw (this=0x555555866600, item=<optimized out>, painter=<optimized out>, viewTransform=<optimized out>, transformPtr=<optimized out>, exposedRegion=<optimized out>, widget=<optimized out>, opacity=<optimized out>, effectTransform=<optimized out>, 
    wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp:4875
#25 0x00007ffff5d5e66e in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x555555866600, item=0x555558f16040, painter=painter@entry=0x7fffffffd090, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x555555e2e9c8, widget=widget@entry=0x55555597d4d0, 
    parentOpacity=parentOpacity@entry=1, effectTransform=0x0) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp:4763
#26 0x00007ffff5d5d8c4 in QGraphicsScenePrivate::draw (this=<optimized out>, item=<optimized out>, painter=<optimized out>, viewTransform=<optimized out>, transformPtr=<optimized out>, exposedRegion=<optimized out>, widget=<optimized out>, opacity=<optimized out>, 
    effectTransform=<optimized out>, wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp:4905
#27 0x00007ffff5d5e66e in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x555555866600, item=0x555558f15fa0, painter=painter@entry=0x7fffffffd090, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x555555e2e9c8, widget=widget@entry=0x55555597d4d0, 
    parentOpacity=parentOpacity@entry=1, effectTransform=0x0) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp:4763
#28 0x00007ffff5d5d8c4 in QGraphicsScenePrivate::draw (this=<optimized out>, item=<optimized out>, painter=<optimized out>, viewTransform=<optimized out>, transformPtr=<optimized out>, exposedRegion=<optimized out>, widget=<optimized out>, opacity=<optimized out>, 
    effectTransform=<optimized out>, wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp:4905
#29 0x00007ffff5d5e66e in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x555555866600, item=0x55555b337f00, painter=painter@entry=0x7fffffffd090, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x555555e2e9c8, widget=widget@entry=0x55555597d4d0, 
    parentOpacity=parentOpacity@entry=1, effectTransform=0x0) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp:4763
#30 0x00007ffff5d5d8c4 in QGraphicsScenePrivate::draw (this=<optimized out>, item=<optimized out>, painter=<optimized out>, viewTransform=<optimized out>, transformPtr=<optimized out>, exposedRegion=<optimized out>, widget=<optimized out>, opacity=<optimized out>, 
    effectTransform=<optimized out>, wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp:4905
#31 0x00007ffff5d5e66e in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x555555866600, item=0x55555b33bb10, painter=painter@entry=0x7fffffffd090, viewTransform=viewTransform@entry=0x0, exposedRegion=exposedRegion@entry=0x555555e2e9c8, widget=widget@entry=0x55555597d4d0, 
    parentOpacity=parentOpacity@entry=1, effectTransform=0x0) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp:4763
#32 0x00007ffff5d5d8c4 in QGraphicsScenePrivate::draw (this=<optimized out>, item=<optimized out>, painter=<optimized out>, viewTransform=<optimized out>, transformPtr=<optimized out>, exposedRegion=<optimized out>, widget=<optimized out>, opacity=<optimized out>, 
    effectTransform=<optimized out>, wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp:4905
#33 0x00007ffff5d2c9f4 in QGraphicsItemEffectSourcePrivate::draw (this=0x5555570159f0, painter=0x7fffffffd090) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsitem.cpp:11036
#34 0x00007ffff59c21a5 in QGraphicsEffectSource::draw (this=0x555558a69c50, painter=0x7fffffffd090) at /usr/src/debug/qt6-base/qtbase/src/widgets/effects/qgraphicseffect_p.h:54
#35 0x00007ffff5d5e8dc in QGraphicsScenePrivate::drawSubtreeRecursive (this=0x555555866600, item=0x555558a68a40, painter=0x7fffffffd090, viewTransform=<optimized out>, exposedRegion=0x555555e2e9c8, widget=<optimized out>, parentOpacity=<optimized out>, effectTransform=0x0)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp:4757
#36 0x00007ffff5d8e701 in QGraphicsScenePrivate::drawItems (this=0x555555866600, painter=0x7fffffffd090, viewTransform=0x0, exposedRegion=0x555555e2e9c8, widget=0x55555597d4d0) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp:4625
#37 operator() (__closure=__closure@entry=0x7fffffffd0d0) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsview.cpp:3491
#38 0x00007ffff5d8f7ed in QGraphicsView::paintEvent (this=0x5555559674f0, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsview.cpp:3568
#39 0x00007ffff595c5d3 in QWidget::event (this=0x5555559674f0, event=0x7fffffffd440) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:9144
#40 0x00007ffff59c8ff6 in QFrame::event (this=0x5555559674f0, e=0x7fffffffd440) at /usr/src/debug/qt6-base/qtbase/src/widgets/widgets/qframe.cpp:521
#41 0x00007ffff4567afc in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=receiver@entry=0x55555597d4d0, event=event@entry=0x7fffffffd440) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1243
#42 0x00007ffff5901dc0 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55555597d4d0, e=0x7fffffffd440) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3294
#43 0x00007ffff4568678 in QCoreApplication::notifyInternal2 (receiver=0x55555597d4d0, event=0x7fffffffd440) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#44 0x00007ffff45686cd in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1560
#45 0x00007ffff594d45e in QWidgetPrivate::sendPaintEvent (this=0x555555909f60, toBePainted=...) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:5671
#46 0x00007ffff5972486 in QWidgetRepaintManager::paintAndFlush (this=0x555555c7e040) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidgetrepaintmanager.cpp:826
#47 0x00007ffff595bfd6 in QWidget::event (this=0x555555799ff0, event=0x55555ac9c860) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:9308
#48 0x00007ffff722047f in KXmlGuiWindow::event (this=0x555555799ff0, ev=0x55555ac9c860) at /usr/src/debug/kxmlgui/kxmlgui-6.18.0/src/kxmlguiwindow.cpp:253
#49 0x00007ffff5901dd0 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555555799ff0, e=0x55555ac9c860) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3300
#50 0x00007ffff4568678 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x555555799ff0, event=event@entry=0x55555ac9c860) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#51 0x00007ffff4568870 in QCoreApplication::sendEvent (receiver=0x555555799ff0, event=0x55555ac9c860) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#52 QCoreApplicationPrivate::sendPostedEvents (receiver=0x555555799ff0, event_type=77, data=0x5555556f3a80) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1891
#53 0x00007ffff5d6536c in QGraphicsViewPrivate::dispatchPendingUpdateRequests (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsview_p.h:161
#54 QGraphicsViewPrivate::dispatchPendingUpdateRequests (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsview_p.h:156
#55 QGraphicsScenePrivate::_q_processDirtyItems (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp:483
#56 QGraphicsScene::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/qt6-base/build/src/widgets/Widgets_autogen/include/moc_qgraphicsscene.cpp:197
#57 0x00007ffff45c1a74 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1432
#58 0x00007ffff5901dd0 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55555597f250, e=0x55555ae81ca0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3300
#59 0x00007ffff4568678 in QCoreApplication::notifyInternal2 (receiver=0x55555597f250, event=event@entry=0x55555ae81ca0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#60 0x00007ffff4568a5b in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x55555ae81ca0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#61 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555556f3a80) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1891
#62 0x00007ffff48437f8 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744
--Type <RET> for more, q to quit, c to continue without paging--
#63 postEventSourceDispatch (s=0x555555741690) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#64 0x00007ffff24ca880 in g_main_dispatch (context=0x7fffe8000f70) at ../glib/glib/gmain.c:3398
#65 0x00007ffff24cbcd7 in g_main_context_dispatch_unlocked (context=0x7fffe8000f70) at ../glib/glib/gmain.c:4249
#66 g_main_context_iterate_unlocked (context=context@entry=0x7fffe8000f70, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4314
#67 0x00007ffff24cbee5 in g_main_context_iteration (context=0x7fffe8000f70, may_block=1) at ../glib/glib/gmain.c:4379
#68 0x00007ffff483ffe2 in QEventDispatcherGlib::processEvents (this=0x55555573d610, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#69 0x00007ffff4574ca6 in QEventLoop::processEvents (this=0x7fffffffdfb0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104
#70 QEventLoop::exec (this=0x7fffffffdfb0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186
#71 0x00007ffff456cd21 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1449
#72 0x00005555555fde7d in main (argc=1, argv=0x7fffffffe2f8) at /home/jirka/gwenview/app/main.cpp:250