https://bugs.kde.org/show_bug.cgi?id=492109

James Lyne <jim+...@not-null.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jim+...@not-null.co.uk

--- Comment #1 from James Lyne <jim+...@not-null.co.uk> ---
I am also able to reproduce this, again with specific tracks triggering it 100%
of the time. Plasmashell will also freeze immediately when restarting after
being killed, if one of the offending tracks is already playing at the time.

I got a backtrace from gdb which seems to show plasmashell is stuck trying to
paint an SVG? I tried a few times and all backtraces are largely the same up to
KSvg::SvgPrivate::findInCache.

For example:
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ff8f2ec9962 in QtLinuxFutex::_q_futex (addr=<optimized out>,
op=<optimized out>, val=<optimized out>, val2=<optimized out>, 
    addr2=<optimized out>, val3=<optimized out>, addr=<optimized out>,
op=<optimized out>, val=<optimized out>, val2=<optimized out>, 
    addr2=<optimized out>, val3=<optimized out>) at
/usr/src/debug/qt6-base/qtbase/src/corelib/thread/qfutex_linux_p.h:48
#2  QtLinuxFutex::futexWait<QBasicAtomicInteger<unsigned int> > (futex=...,
expectedValue=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qfutex_linux_p.h:67
#3  futexSemaphoreTryAcquire_loop<false> (timer=..., u=..., curValue=<optimized
out>, nn=17179869187)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qsemaphore.cpp:174
#4  futexSemaphoreTryAcquire<QDeadlineTimer::ForeverConstant> (u=...,
n=<optimized out>, 
    timeout=timeout@entry=QDeadlineTimer::ForeverConstant::Forever) at
/usr/src/debug/qt6-base/qtbase/src/corelib/thread/qsemaphore.cpp:239
#5  0x00007ff8f2ec999b in QSemaphore::acquire (this=<optimized out>,
n=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qsemaphore.cpp:327
#6  0x00007ff8f3834b43 in blend_color_argb (count=<optimized out>,
spans=<optimized out>, userData=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/gui/painting/qdrawhelper.cpp:3876
#7  0x00007ff8f346dc9e in gray_convert_glyph (worker=0x7ffdf99e5b80) at
/usr/src/debug/qt6-base/qtbase/src/gui/painting/qgrayraster.c:1779
#8  0x00007ff8f3494d0f in QRasterPaintEnginePrivate::rasterize
(this=0x5e7a8cbe3a90, outline=<optimized out>, 
    callback=0x7ff8f38347b0 <blend_color_argb(int, QT_FT_Span const*, void*)>,
userData=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qscopedpointer.h:105
#9  0x00007ff8f3499966 in QRasterPaintEngine::fill (this=<optimized out>,
path=..., brush=...)
    at
/usr/src/debug/qt6-base/qtbase/src/gui/painting/qpaintengine_raster.cpp:1696
#10 0x00007ff8f34ac9ad in QPaintEngineEx::draw (this=0x5e7a88935e00, path=...)
    at /usr/src/debug/qt6-base/qtbase/src/gui/painting/qpaintengineex.cpp:592
#11 0x00007ff8f1c00437 in QSvgPath::drawCommand (this=0x5e7a855fc420,
p=0x7ffdf99e83b8, states=...)
    at /usr/src/debug/qt6-svg/qtsvg/src/svg/qsvggraphics.cpp:112
#12 0x00007ff8f1c1dd88 in QSvgNode::fillThenStroke
(this=this@entry=0x5e7a855fc420, p=p@entry=0x7ffdf99e83b8, states=...)
    at /usr/src/debug/qt6-svg/qtsvg/src/svg/qsvgnode.cpp:93
#13 0x00007ff8f1c21ade in QSvgNode::draw (this=0x5e7a855fc420,
p=0x7ffdf99e83b8, states=...)
    at /usr/src/debug/qt6-svg/qtsvg/src/svg/qsvgnode.cpp:72
#14 0x00007ff8f1c24c67 in QSvgNode::draw (this=0x5e7a855fc420,
p=0x7ffdf99e83b8, states=...)
    at /usr/src/debug/qt6-svg/qtsvg/src/svg/qsvgnode.cpp:44
#15 QSvgG::drawCommand (this=0x5e7a855afdd0, p=0x7ffdf99e83b8, states=...) at
/usr/src/debug/qt6-svg/qtsvg/src/svg/qsvgstructure.cpp:42
#16 0x00007ff8f1c21a94 in QSvgNode::draw (this=0x5e7a855afdd0,
p=0x7ffdf99e83b8, states=...)
    at /usr/src/debug/qt6-svg/qtsvg/src/svg/qsvgnode.cpp:74
#17 0x00007ff8f1c38a61 in QSvgTinyDocument::draw (this=<optimized out>,
p=0x7ffdf99e83b8, id=..., bounds=...)
    at /usr/src/debug/qt6-svg/qtsvg/src/svg/qsvgtinydocument.cpp:297
#18 0x00007ff8f5357e20 in KSvg::SvgPrivate::findInCache (this=<optimized out>,
elementId=..., ratio=1, s=...)
    at /usr/src/debug/ksvg/ksvg-6.5.0/src/ksvg/svg.cpp:619
#19 0x00007ff8f53593bd in KSvg::Svg::image (this=<optimized out>, size=...,
elementID=...)
    at /usr/src/debug/ksvg/ksvg-6.5.0/src/ksvg/svg.cpp:901
#20 0x00007ff8e3fee84d in KSvg::SvgItem::updatePolish (this=0x5e7a855ebfb0)
    at /usr/src/debug/ksvg/ksvg-6.5.0/src/declarativeimports/svgitem.cpp:253
#21 0x00007ff8f44469ca in QQuickWindowPrivate::polishItems
(this=0x5e7a847e51f0)
--Type <RET> for more, q to quit, c to continue without paging--c
    at
/usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:369
#22 0x00007ff8f4616491 in QSGThreadedRenderLoop::polishAndSync
(this=0x5e7a841a92a0, w=0x5e7a8b3be920, inExpose=false)
    at
/usr/src/debug/qt6-declarative/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1616
#23 0x00007ff8f444e130 in QQuickWindow::event (this=this@entry=0x5e7a8483e3a0,
event=event@entry=0x7ffdf99e8de0)
    at
/usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:1600
#24 0x00005e7a4ed7cc2c in PanelView::event (this=0x5e7a8483e3a0,
e=0x7ffdf99e8de0)
    at
/usr/src/debug/plasma-workspace/plasma-workspace-6.1.4/shell/panelview.cpp:1233
#25 0x00007ff8f4cfc51c in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x5e7a8483e3a0, e=0x7ffdf99e8de0)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3287
#26 0x00007ff8f2d44d28 in QCoreApplication::notifyInternal2
(receiver=0x5e7a8483e3a0, event=0x7ffdf99e8de0)
    at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1142
#27 0x00007ff8f2d44d6d in QCoreApplication::sendEvent (receiver=<optimized
out>, event=<optimized out>)
    at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1583
#28 0x00007ff8f33bc8ec in QPlatformWindow::deliverUpdateRequest
(this=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qplatformwindow.cpp:792
#29 0x00007ff8f2d8c00f in QObject::event (this=0x5e7a848677d0,
e=0x5e7a8859e170)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1452
#30 0x00007ff8f4cfc51c in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x5e7a848677d0, e=0x5e7a8859e170)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3287
#31 0x00007ff8f2d44d28 in QCoreApplication::notifyInternal2
(receiver=0x5e7a848677d0, event=event@entry=0x5e7a8859e170)
    at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1142
#32 0x00007ff8f2d450eb in QCoreApplication::sendEvent (receiver=<optimized
out>, event=0x5e7a8859e170)
    at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1583
#33 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0,
data=0x5e7a83700ba0)
    at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1940
#34 0x00007ff8f2fa49ec in QCoreApplication::sendPostedEvents (receiver=0x0,
event_type=0)
    at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1797
#35 postEventSourceDispatch (s=0x5e7a8372ece0) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:244
#36 0x00007ff8f188aab9 in g_main_dispatch (context=0x7ff8e4000f00) at
../glib/glib/gmain.c:3344
#37 0x00007ff8f18ec9e7 in g_main_context_dispatch_unlocked
(context=0x7ff8e4000f00) at ../glib/glib/gmain.c:4152
#38 g_main_context_iterate_unlocked.isra.0
(context=context@entry=0x7ff8e4000f00, block=block@entry=1,
dispatch=dispatch@entry=1, 
    self=<optimized out>) at ../glib/glib/gmain.c:4217
#39 0x00007ff8f1889fc5 in g_main_context_iteration (context=0x7ff8e4000f00,
may_block=1) at ../glib/glib/gmain.c:4282
#40 0x00007ff8f2fa2cbd in QEventDispatcherGlib::processEvents
(this=0x5e7a8373f820, flags=...)
    at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#41 0x00007ff8f2d4f01e in QEventLoop::processEvents (this=0x7ffdf99e92a0,
flags=...)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:100
#42 QEventLoop::exec (this=0x7ffdf99e92a0, flags=...) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:182
#43 0x00007ff8f2d4934d in QCoreApplication::exec () at
/usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74
#44 0x00007ff8f4cf83ba in QApplication::exec () at
/usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2555
#45 0x00005e7a4ed58d86 in main (argc=<optimized out>, argv=<optimized out>)
    at
/usr/src/debug/plasma-workspace/plasma-workspace-6.1.4/shell/main.cpp:188

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to