Bug 427582 - Crash on Wayland with systemdBoot=true
Summary: Crash on Wayland with systemdBoot=true
Status: RESOLVED FIXED
Alias: None
Product: ksplash
Classification: Plasma
Component: general (show other bugs)
Version: 5.19.90
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-12 10:30 UTC by Thiago Sueto
Modified: 2021-02-07 14:08 UTC (History)
2 users (show)

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


Attachments
Full screenshot of ksplash before crash (522.54 KB, image/png)
2020-10-12 10:30 UTC, Thiago Sueto
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thiago Sueto 2020-10-12 10:30:20 UTC
Created attachment 132294 [details]
Full screenshot of ksplash before crash

This crash:
- Is Wayland specific (doesn't occur on Xorg)
- Occurs only with systemdBoot enabled (commenting it makes the bug disappear, no issue with dimensions)
- Is not always reproducible (sometimes ksplashqml finishes properly, despite its dimensions on the screen)
- Seems to imply another issue with ksplash not recognizing monitor resolutions (see attachment)
- Shows a Wayland window opening after login only with systemdBoot enabled (I mentioned about this to d_ed)


Application: ksplashqml (ksplashqml), signal: Segmentation fault

[New LWP 1945]
[New LWP 1946]
[New LWP 1947]
[New LWP 1948]
[New LWP 1949]
[New LWP 1950]
[New LWP 1951]
[New LWP 1958]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x00007f74a0533082 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
[Current thread is 1 (Thread 0x7f749e37d840 (LWP 1940))]

Thread 9 (Thread 0x7f7473fff640 (LWP 1958)):
[KCrash Handler]
#4  0x00007f749b3ee01d in update_buffers (dri2_surf=dri2_surf@entry=0x7f746c0051c0) at ../src/egl/drivers/dri2/platform_wayland.c:675
#5  0x00007f749b3ee584 in image_get_buffers (driDrawable=<optimized out>, format=<optimized out>, stamp=<optimized out>, loaderPrivate=0x7f746c0051c0, buffer_mask=<optimized out>, buffers=0x7f7473ffded0) at ../src/egl/drivers/dri2/platform_wayland.c:810
#6  0x00007f749ae64756 in intel_update_image_buffers (drawable=0x55fa6acb9800, brw=0x55fa6b1b8170) at ../src/mesa/drivers/dri/i965/brw_context.c:1896
#7  intel_update_renderbuffers.isra.0 (drawable=0x55fa6acb9800, context=<optimized out>, context=<optimized out>) at ../src/mesa/drivers/dri/i965/brw_context.c:1523
#8  0x00007f749a632d06 in intel_prepare_render (brw=0x55fa6b1b8170) at ../src/mesa/drivers/dri/i965/brw_context.c:1544
#9  0x00007f749a61d411 in brw_clear (ctx=0x55fa6b1b8170, mask=50) at ../src/mesa/drivers/dri/i965/brw_clear.c:257
#10 0x00007f74a21b02c7 in QSGBatchRenderer::Renderer::renderBatches (this=this@entry=0x7f746c006f10) at /usr/src/debug/libqt5-qtdeclarative-5.15.1-ku.2.1.x86_64/include/QtQuick/5.15.1/QtQuick/private/../../../../../src/quick/scenegraph/coreapi/qsgrenderer_p.h:131
#11 0x00007f74a21b0bd2 in QSGBatchRenderer::Renderer::render (this=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.1-ku.2.1.x86_64/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:4363
#12 0x00007f74a2199270 in QSGRenderer::renderScene (bindable=..., this=0x7f746c006f10) at /usr/src/debug/libqt5-qtdeclarative-5.15.1-ku.2.1.x86_64/src/quick/scenegraph/coreapi/qsgrenderer.cpp:264
#13 QSGRenderer::renderScene (this=0x7f746c006f10, bindable=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.1-ku.2.1.x86_64/src/quick/scenegraph/coreapi/qsgrenderer.cpp:220
#14 0x00007f74a2199743 in QSGRenderer::renderScene (this=<optimized out>, fboId=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.1-ku.2.1.x86_64/src/quick/scenegraph/coreapi/qsgrenderer.cpp:212
#15 0x00007f74a21f88d3 in QSGDefaultRenderContext::renderNextFrame (this=0x55fa6ac80a60, renderer=0x7f746c006f10, fboId=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.1-ku.2.1.x86_64/src/quick/scenegraph/qsgdefaultrendercontext.cpp:228
#16 0x00007f74a22624d9 in QQuickWindowPrivate::renderSceneGraph (this=0x55fa6abf81d0, size=..., surfaceSize=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.1-ku.2.1.x86_64/src/quick/items/qquickwindow.cpp:617
#17 0x00007f74a220664d in QSGRenderThread::syncAndRender (this=0x55fa6ac6f390, grabImage=0x0) at /usr/include/qt5/QtGui/5.15.1/QtGui/private/qrhi_p.h:1259
#18 0x00007f74a2206fa7 in QSGRenderThread::run (this=0x55fa6ac6f390) at /usr/src/debug/libqt5-qtdeclarative-5.15.1-ku.2.1.x86_64/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1043
#19 0x00007f74a12ea911 in QThreadPrivate::start (arg=0x55fa6ac6f390) at thread/qthread_unix.cpp:329
#20 0x00007f74a052ceb1 in start_thread () from /lib64/libpthread.so.0
#21 0x00007f74a0f6bccf in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7f747aefa640 (LWP 1951)):
#0  0x00007f74a0533082 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f74a12f092b in QWaitConditionPrivate::wait (deadline=..., deadline=..., this=0x55fa6ac8fa90) at thread/qwaitcondition_unix.cpp:146
#2  QWaitCondition::wait (this=this@entry=0x55fa6ac6eca8, mutex=mutex@entry=0x55fa6ac6eca0, deadline=...) at thread/qwaitcondition_unix.cpp:225
#3  0x00007f74a2204b57 in QSGRenderThreadEventQueue::takeEvent (wait=true, this=0x55fa6ac6ec98) at /usr/include/qt5/QtCore/qdeadlinetimer.h:68
#4  QSGRenderThread::processEventsAndWaitForMore (this=this@entry=0x55fa6ac6ec00) at /usr/src/debug/libqt5-qtdeclarative-5.15.1-ku.2.1.x86_64/src/quick/scenegraph/qsgthreadedrenderloop.cpp:936
#5  0x00007f74a2206fe9 in QSGRenderThread::run (this=0x55fa6ac6ec00) at /usr/src/debug/libqt5-qtdeclarative-5.15.1-ku.2.1.x86_64/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1053
#6  0x00007f74a12ea911 in QThreadPrivate::start (arg=0x55fa6ac6ec00) at thread/qthread_unix.cpp:329
#7  0x00007f74a052ceb1 in start_thread () from /lib64/libpthread.so.0
#8  0x00007f74a0f6bccf in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7f7483fff640 (LWP 1950)):
#0  0x00007f74a0f60e7f in poll () from /lib64/libc.so.6
#1  0x00007f749f2e05ee in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f749f2e070f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f74a15215cb in QEventDispatcherGlib::processEvents (this=0x7f747c000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f74a14c8a1b in QEventLoop::exec (this=this@entry=0x7f7483ffeca0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f74a12e97ce in QThread::exec (this=this@entry=0x55fa6a922770) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f74a0cf32d5 in QQmlThreadPrivate::run (this=0x55fa6a922770) at /usr/src/debug/libqt5-qtdeclarative-5.15.1-ku.2.1.x86_64/src/qml/qml/ftw/qqmlthread.cpp:155
#7  0x00007f74a12ea911 in QThreadPrivate::start (arg=0x55fa6a922770) at thread/qthread_unix.cpp:329
#8  0x00007f74a052ceb1 in start_thread () from /lib64/libpthread.so.0
#9  0x00007f74a0f6bccf in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7f7498b44640 (LWP 1949)):
#0  0x00007f74a0533082 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f749aa288fb in cnd_wait (mtx=0x55fa6a93f4c8, cond=0x55fa6a93f4f0) at ../include/c11/threads_posix.h:155
#2  util_queue_thread_func (input=input@entry=0x55fa6a976380) at ../src/util/u_queue.c:275
#3  0x00007f749aa27c67 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#4  0x00007f74a052ceb1 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f74a0f6bccf in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f7499345640 (LWP 1948)):
#0  0x00007f74a0533082 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f749aa288fb in cnd_wait (mtx=0x55fa6a93f4c8, cond=0x55fa6a93f4f0) at ../include/c11/threads_posix.h:155
#2  util_queue_thread_func (input=input@entry=0x55fa6a9761a0) at ../src/util/u_queue.c:275
#3  0x00007f749aa27c67 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#4  0x00007f74a052ceb1 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f74a0f6bccf in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f7499b46640 (LWP 1947)):
#0  0x00007f74a0533082 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f749aa288fb in cnd_wait (mtx=0x55fa6a93f4c8, cond=0x55fa6a93f4f0) at ../include/c11/threads_posix.h:155
#2  util_queue_thread_func (input=input@entry=0x55fa6a9761e0) at ../src/util/u_queue.c:275
#3  0x00007f749aa27c67 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#4  0x00007f74a052ceb1 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f74a0f6bccf in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f749a347640 (LWP 1946)):
#0  0x00007f74a0533082 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f749aa288fb in cnd_wait (mtx=0x55fa6a93f4c8, cond=0x55fa6a93f4f0) at ../include/c11/threads_posix.h:155
#2  util_queue_thread_func (input=input@entry=0x55fa6a976200) at ../src/util/u_queue.c:275
#3  0x00007f749aa27c67 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#4  0x00007f74a052ceb1 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f74a0f6bccf in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f749bc45640 (LWP 1945)):
#0  0x00007f74a0f60e7f in poll () from /lib64/libc.so.6
#1  0x00007f749f2e05ee in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f749f2e070f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f74a15215cb in QEventDispatcherGlib::processEvents (this=0x7f7494000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f74a14c8a1b in QEventLoop::exec (this=this@entry=0x7f749bc44c70, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f74a12e97ce in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f74a1f06a27 in ?? () from /usr/lib64/libQt5DBus.so.5
#7  0x00007f74a12ea911 in QThreadPrivate::start (arg=0x7f74a1f73d80) at thread/qthread_unix.cpp:329
#8  0x00007f74a052ceb1 in start_thread () from /lib64/libpthread.so.0
#9  0x00007f74a0f6bccf in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f749e37d840 (LWP 1940)):
#0  0x00007f74a0533082 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f74a12f092b in QWaitConditionPrivate::wait (deadline=..., deadline=..., this=0x55fa6acf76e0) at thread/qwaitcondition_unix.cpp:146
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x55fa6ac6f3e8, deadline=...) at thread/qwaitcondition_unix.cpp:225
#3  0x00007f74a22078ae in QSGThreadedRenderLoop::handleObscurity (this=0x55fa6aab9170, w=0x55fa6ac27b50) at /usr/include/qt5/QtCore/qdeadlinetimer.h:68
#4  0x00007f74a220889e in QSGThreadedRenderLoop::hide (this=0x55fa6aab9170, window=0x55fa6aca3f50) at /usr/include/qt5/QtCore/qlist.h:570
#5  0x00007f74a1918655 in QWindow::event(QEvent*) () from /usr/lib64/libQt5Gui.so.5
#6  0x00007f74a14ca05a in QCoreApplication::notifyInternal2 (receiver=0x55fa6aca3f50, event=0x7fff94d37330) at ../../include/QtCore/5.15.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#7  0x00007f74a191822e in QWindowPrivate::setVisible(bool) () from /usr/lib64/libQt5Gui.so.5
#8  0x00007f74a1917689 in QWindowPrivate::destroy() () from /usr/lib64/libQt5Gui.so.5
#9  0x00007f74a1918710 in QWindow::event(QEvent*) () from /usr/lib64/libQt5Gui.so.5
#10 0x00007f74a14ca05a in QCoreApplication::notifyInternal2 (receiver=0x55fa6aca3f50, event=0x7fff94d374d0) at ../../include/QtCore/5.15.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#11 0x00007f74a190915d in QGuiApplicationPrivate::processCloseEvent(QWindowSystemInterfacePrivate::CloseEvent*) () from /usr/lib64/libQt5Gui.so.5
#12 0x00007f74a18e2a95 in bool QWindowSystemInterfacePrivate::handleWindowSystemEvent<QWindowSystemInterface::SynchronousDelivery>(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib64/libQt5Gui.so.5
#13 0x00007f74a15045f2 in QtPrivate::QSlotObjectBase::call (a=0x7fff94d37530, r=<optimized out>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#14 QSingleShotTimer::timerEvent (this=0x55fa6ac6da80) at kernel/qtimer.cpp:320
#15 0x00007f74a14f5fcf in QObject::event (this=0x55fa6ac6da80, e=0x7fff94d37660) at kernel/qobject.cpp:1291
#16 0x00007f74a14ca05a in QCoreApplication::notifyInternal2 (receiver=0x55fa6ac6da80, event=0x7fff94d37660) at ../../include/QtCore/5.15.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#17 0x00007f74a1520973 in QTimerInfoList::activateTimers (this=0x55fa6a965c30) at kernel/qtimerinfo_unix.cpp:643
#18 0x00007f74a15211f4 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183
#19 0x00007f749f2e02d7 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#20 0x00007f749f2e0658 in ?? () from /usr/lib64/libglib-2.0.so.0
#21 0x00007f749f2e070f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#22 0x00007f74a15215af in QEventDispatcherGlib::processEvents (this=0x55fa6a9643f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#23 0x00007f74a14c8a1b in QEventLoop::exec (this=this@entry=0x7fff94d378a0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#24 0x00007f74a14d0c90 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#25 0x000055fa69497c52 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma5-workspace-5.20.80git.20201011T170646~3c7d853d0-ku.4.1.x86_64/ksplash/ksplashqml/main.cpp:72
[Inferior 1 (process 1940) detached]
Comment 1 torokati44 2020-11-22 00:49:52 UTC
I'm also seeing a very similar thing now that I upgraded to Plasma 5.20.4 on Fedora 33.
Except I don't even see a flash of the desktop.
After logging in, the spinner is shown for a while, then it disappears, and right around the time I expect to see the desktop, I get a dialog about ksplashqml crashing, in the same update_buffers function.
With the X11 session, this never happens.
Comment 2 torokati44 2020-11-23 09:10:22 UTC
I mean Plasma 5.20.3, pardon.
Comment 3 Thiago Sueto 2021-02-07 14:08:56 UTC
I can no longer reproduce this issue.
This seems to have been dependent on bug 432189, which is already fixed.
Closing, but if anyone else can still reproduce this with ksplash from git, feel free to reopen.