| Summary: | Gwenview crashes when playing any video | ||
|---|---|---|---|
| Product: | [Applications] gwenview | Reporter: | ihatemylife0025 |
| Component: | general | Assignee: | Gwenview Bugs <gwenview-bugs-null> |
| Status: | RESOLVED UPSTREAM | ||
| Severity: | normal | CC: | idontfeelcomfygivingyoumyemail, jiri.babocky |
| Priority: | NOR | ||
| Version First Reported In: | 25.08.0 | ||
| Target Milestone: | --- | ||
| Platform: | Fedora RPMs | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: |
A video that causes gwenview to crash
Logs Developer information from KCrash |
||
Created attachment 184814 [details]
Logs
Created attachment 184815 [details]
Developer information from KCrash
*** Bug 509504 has been marked as a duplicate of this bug. *** 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. In this case, please submit the bug to the Qt Bug Tracker. https://bugreports.qt.io/issues/ 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 |
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