Created attachment 144511 [details] long backtrace STEPS TO REPRODUCE 1. load the following url with an internet browser: https://snapcraft.io/vlc 2. click on 'Install > View in desktop store' button 3. if a 'Open with' dialog shows up, choose Discover OBSERVED RESULT Discover opens, freezes and uses an entire CPU core EXPECTED RESULT usable Discover and normal CPU usage SOFTWARE/OS VERSIONS Operating System: KDE neon Unstable Edition KDE Plasma Version: 5.23.80 KDE Frameworks Version: 5.89.0 Qt Version: 5.15.3 Graphics Platform: Wayland
Cannot reproduce with git master. It doesn't show VLC, but it also doesn't freeze.
It worked fine for me, so we have the 3 behaviours. xD Would you be able to attach to Discover and see where it's stuck? something like: $ sudo gdb --pid `pidof plasma-discover` (wait for it to attach, it takes a while) (gdb) where And then send us the backtrace.
(In reply to Aleix Pol from comment #2) > It worked fine for me, so we have the 3 behaviours. xD > > Would you be able to attach to Discover and see where it's stuck? > > something like: > $ sudo gdb --pid `pidof plasma-discover` > (wait for it to attach, it takes a while) > (gdb) where > > And then send us the backtrace. (gdb) where #0 0x00007f958b8edef0 in QRasterPaintEngine::updatePen (this=0x556eefa19cd0, pen=...) at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:236 #1 0x00007f958b8eed59 in QRasterPaintEngine::ensurePen (pen=..., this=<optimized out>) at ../../include/QtGui/5.15.3/QtGui/private/../../../../../src/gui/painting/qpaintengine_raster_p.h:251 #2 QRasterPaintEngine::stroke (this=0x556eefa19cd0, path=..., pen=...) at painting/qpaintengine_raster.cpp:1663 #3 0x00007f958b8d4b2b in QPaintEngineEx::draw (this=0x556eefa19cd0, path=...) at painting/qpaintengineex.cpp:632 #4 0x00007f958b8d5f5b in QPaintEngineEx::drawRoundedRect (this=<optimized out>, rect=..., xRadius=<optimized out>, yRadius=<optimized out>, mode=<optimized out>) at painting/qpaintengineex.cpp:807 #5 0x00007f958b901b00 in QPainter::drawRoundedRect (this=this@entry=0x7fff3e27ad70, rect=..., xRadius=xRadius@entry=5, yRadius=yRadius@entry=5, mode=mode@entry=Qt::AbsoluteSize) at painting/qpainter.cpp:4170 #6 0x00007f9584c56972 in Breeze::Helper::renderScrollBarHandle (this=this@entry=0x556eec01e950, painter=painter@entry=0x7fff3e27ad70, rect=..., fg=..., bg=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:819 #7 0x00007f9584c696cc in Breeze::Style::drawScrollBarSliderControl (widget=0x0, painter=0x7fff3e27ad70, option=0x7fff3e27a9d0, this=0x556eec011750) at /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h:161 #8 Breeze::Style::drawScrollBarSliderControl (this=0x556eec011750, option=0x7fff3e27a9d0, painter=0x7fff3e27ad70, widget=0x0) at ./kstyle/breezestyle.cpp:5235 #9 0x00007f9584c77a7c in std::function<bool (Breeze::Style const&, QStyleOption const*, QPainter*, QWidget const*)>::operator()(Breeze::Style const&, QStyleOption const*, QPainter*, QWidget const*) const (__args#3=<optimized out>, __args#2=<optimized out>, __args#1=<optimized out>, __args#0=..., this=0x7fff3e27a810) at /usr/include/c++/9/bits/std_function.h:683 #10 Breeze::Style::drawControl (this=0x556eec011750, element=QStyle::CE_ScrollBarSlider, option=0x7fff3e27a9d0, painter=0x7fff3e27ad70, widget=0x0) at ./kstyle/breezestyle.cpp:1066 #11 0x00007f958c4d940f in QCommonStyle::drawComplexControl (this=this@entry=0x556eec011750, cc=cc@entry=QStyle::CC_ScrollBar, opt=opt@entry=0x556eefd8ce00, p=p@entry=0x7fff3e27ad70, widget=widget@entry=0x0) at styles/qcommonstyle.cpp:3376 #12 0x00007f9584c787a9 in Breeze::Style::drawScrollBarComplexControl (this=0x556eec011750, option=0x556eefd8ce00, --Type <RET> for more, q to quit, c to continue without paging--c painter=0x7fff3e27ad70, widget=0x0) at ./kstyle/breezestyle.cpp:6917 #13 0x00007f9584c78220 in std::function<bool (Breeze::Style const&, QStyleOptionComplex const*, QPainter*, QWidget const*)>::operator()(Breeze::Style const&, QStyleOptionComplex const*, QPainter*, QWidget const*) const (__args#3=<optimized out>, __args#2=<optimized out>, __args#1=<optimized out>, __args#0=..., this=0x7fff3e27ac10) at /usr/include/c++/9/bits/std_function.h:683 #14 Breeze::Style::drawComplexControl (this=0x556eec011750, element=QStyle::CC_ScrollBar, option=0x556eefd8ce00, painter=0x7fff3e27ad70, widget=0x0) at ./kstyle/breezestyle.cpp:1097 #15 0x00007f957c05b10f in ?? () from /usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/qqc2desktopstyle/private/libqqc2desktopstyleplugin.so #16 0x00007f957c05bea4 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/qqc2desktopstyle/private/libqqc2desktopstyleplugin.so #17 0x00007f958ce96d9c in QQuickWindowPrivate::polishItems (this=0x556eec37ede0) at items/qquickwindow.cpp:393 #18 0x00007f958ce38085 in QSGThreadedRenderLoop::polishAndSync (this=this@entry=0x556eec1ef540, w=0x556eecd9d0b0, inExpose=inExpose@entry=false) at scenegraph/qsgthreadedrenderloop.cpp:1577 #19 0x00007f958ce38df4 in QSGThreadedRenderLoop::handleUpdateRequest (this=0x556eec1ef540, window=0x556eec076ed0) at scenegraph/qsgthreadedrenderloop.cpp:1430 #20 0x00007f958cea3fa7 in QQuickWindow::event (this=0x556eec076ed0, e=0x7fff3e27b2c0) at items/qquickwindow.cpp:1857 #21 0x00007f958c448dc3 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x556eec076ed0, e=0x7fff3e27b2c0) at kernel/qapplication.cpp:3632 #22 0x00007f958c451bb8 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3156 #23 0x00007f958b254daa in QCoreApplication::notifyInternal2 (receiver=0x556eec076ed0, event=0x7fff3e27b2c0) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325 #24 0x00007f958b627c7d in QPlatformWindow::deliverUpdateRequest (this=this@entry=0x556eec4de670) at kernel/qplatformwindow.cpp:789 #25 0x00007f9586b4467e in QtWaylandClient::QWaylandWindow::deliverUpdateRequest (this=0x556eec4de660) at qwaylandwindow.cpp:1220 #26 0x00007f958b282949 in QObject::event (this=0x556eec4de660, e=0x556eecb6a690) at kernel/qobject.cpp:1314 #27 0x00007f958c448dc3 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x556eec4de660, e=0x556eecb6a690) at kernel/qapplication.cpp:3632 #28 0x00007f958c451bb8 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3156 #29 0x00007f958b254daa in QCoreApplication::notifyInternal2 (receiver=0x556eec4de660, event=0x556eecb6a690) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325 #30 0x00007f958b2576b1 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x556eebfe6760) at kernel/qcoreapplication.cpp:1821 #31 0x00007f958b2affa7 in postEventSourceDispatch (s=0x556eec00e1e0) at kernel/qeventdispatcher_glib.cpp:277 #32 0x00007f9589a4d17d in g_main_dispatch (context=0x556eec00bf50) at ../../../glib/gmain.c:3309 #33 g_main_context_dispatch (context=context@entry=0x556eec00bf50) at ../../../glib/gmain.c:3974 #34 0x00007f9589a4d400 in g_main_context_iterate (context=context@entry=0x556eec00bf50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4047 #35 0x00007f9589a4d4a3 in g_main_context_iteration (context=0x556eec00bf50, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108 #36 0x00007f958b2af602 in QEventDispatcherGlib::processEvents (this=0x556eebfbbfb0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #37 0x00007f958b2538ab in QEventLoop::exec (this=this@entry=0x7fff3e27b8d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141 #38 0x00007f958b25ba64 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #39 0x0000556eeb0645f4 in main (argc=<optimized out>, argv=<optimized out>) at ./discover/main.cpp:213
Right, this has nothing to do with snap, it's a bug in either Breeze Style, QCC2 Desktop Style. I reproduced it once and produced a fix that doesn't fix it entirely. https://invent.kde.org/frameworks/qqc2-desktop-style/-/merge_requests/108 Will have to look into it, I cannot reproduce it again now, so it's a bit complex.
*** Bug 447080 has been marked as a duplicate of this bug. ***
*** This bug has been marked as a duplicate of bug 448784 ***