Bugzilla – Bug 1079465
Application: ksmserver-logout-greeter (ksmserver-logout-greeter), signal: Segmentation fault
Last modified: 2020-12-03 13:56:08 UTC
Created attachment 758908 [details] added "ksmserver-logout-greeter-20180206-024106.kcrash.txt" .. Tumbleweed 20180203 ksmserver-logout-greeter crashes with CTRL+ALT+DEL keys. backtrace: Application: ksmserver-logout-greeter (ksmserver-logout-greeter), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7fe6a79fd040 (LWP 9460))] Thread 5 (Thread 0x7fe67fbce700 (LWP 9464)): #0 0x00007fe6a326af8b in poll () from /lib64/libc.so.6 #1 0x00007fe69be33109 in ?? () from /usr/lib64/libglib-2.0.so.0 #2 0x00007fe69be3321c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #3 0x00007fe6a3ba178b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #4 0x00007fe6a3b486ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #5 0x00007fe6a396f8da in QThread::exec() () from /usr/lib64/libQt5Core.so.5 #6 0x00007fe6a5bc7fd5 in QQmlThreadPrivate::run() () from /usr/lib64/libQt5Qml.so.5 #7 0x00007fe6a39748d0 in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5 #8 0x00007fe69ddf7558 in start_thread () from /lib64/libpthread.so.0 #9 0x00007fe6a327572f in clone () from /lib64/libc.so.6 Thread 4 (Thread 0x7fe6803cf700 (LWP 9463)): #0 0x00007fe69ddfd82d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007fe6888b458b in cnd_wait (mtx=0x55c482206f30, cond=0x55c482206f58) at ../../include/c11/threads_posix.h:155 #2 util_queue_thread_func (input=input@entry=0x55c482206110) at u_queue.c:255 #3 0x00007fe6888b42b7 in impl_thrd_routine (p=<optimized out>) at ../../include/c11/threads_posix.h:87 #4 0x00007fe69ddf7558 in start_thread () from /lib64/libpthread.so.0 #5 0x00007fe6a327572f in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7fe68af20700 (LWP 9462)): #0 0x00007fe69be300d5 in ?? () from /usr/lib64/libglib-2.0.so.0 #1 0x00007fe69be3259b in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0 #2 0x00007fe69be3303b in ?? () from /usr/lib64/libglib-2.0.so.0 #3 0x00007fe69be3321c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #4 0x00007fe6a3ba178b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #5 0x00007fe6a3b486ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #6 0x00007fe6a396f8da in QThread::exec() () from /usr/lib64/libQt5Core.so.5 #7 0x00007fe6a4771bd5 in ?? () from /usr/lib64/libQt5DBus.so.5 #8 0x00007fe6a39748d0 in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5 #9 0x00007fe69ddf7558 in start_thread () from /lib64/libpthread.so.0 #10 0x00007fe6a327572f in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7fe691228700 (LWP 9461)): #0 0x00007fe6a326af8b in poll () from /lib64/libc.so.6 #1 0x00007fe69e458387 in ?? () from /usr/lib64/libxcb.so.1 #2 0x00007fe69e45a17a in xcb_wait_for_event () from /usr/lib64/libxcb.so.1 #3 0x00007fe693bc68d9 in QXcbEventReader::run() () from /usr/lib64/libQt5XcbQpa.so.5 #4 0x00007fe6a39748d0 in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5 #5 0x00007fe69ddf7558 in start_thread () from /lib64/libpthread.so.0 #6 0x00007fe6a327572f in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7fe6a79fd040 (LWP 9460)): [KCrash Handler] #6 0x00007fe6a32b77c5 in __memcpy_ssse3 () from /lib64/libc.so.6 #7 0x00007fe6889b5bc4 in memcpy (__len=42815120, __src=0x55c4826c8c40, __dest=<optimized out>) at /usr/include/bits/string_fortified.h:34 #8 tgsi_dup_tokens (tokens=0x55c4826c8c40) at tgsi/tgsi_parse.c:281 #9 0x00007fe6887ff7a2 in st_create_vp_variant (key=0x7fffbf14fdd0, stvp=0x55c48269fda0, st=0x55c4826277b0) at state_tracker/st_program.c:579 #10 st_get_vp_variant (st=0x55c4826277b0, stvp=0x55c48269fda0, key=0x7fffbf14fdd0) at state_tracker/st_program.c:629 #11 0x00007fe6888008b5 in st_precompile_shader_variant (st=st@entry=0x55c4826277b0, prog=prog@entry=0x55c48269fda0) at state_tracker/st_program.c:1915 #12 0x00007fe688801c02 in st_deserialise_tgsi_program (ctx=0x55c482637440, shProg=0x55c4826bc600, prog=0x55c48269fda0) at state_tracker/st_shader_cache.c:279 #13 0x00007fe688722379 in read_program_payload (binary_format=34655, sh_prog=0x55c4826bc600, blob=0x7fffbf14fe70, ctx=0x55c482637440) at main/program_binary.c:206 #14 _mesa_program_binary (ctx=0x55c482637440, sh_prog=0x55c4826bc600, binary_format=<optimized out>, binary=0x7fe67c063040, length=4429) at main/program_binary.c:285 #15 0x00007fe6a443b0f0 in QOpenGLProgramBinaryCache::setProgramBinary(unsigned int, unsigned int, void const*, unsigned int) () from /usr/lib64/libQt5Gui.so.5 #16 0x00007fe6a443bb77 in QOpenGLProgramBinaryCache::load(QByteArray const&, unsigned int) () from /usr/lib64/libQt5Gui.so.5 #17 0x00007fe6a4408055 in QOpenGLShaderProgramPrivate::linkBinary() () from /usr/lib64/libQt5Gui.so.5 #18 0x00007fe6a4408998 in QOpenGLShaderProgram::link() () from /usr/lib64/libQt5Gui.so.5 #19 0x00007fe6a62bb5d0 in QSGDefaultRenderContext::compileShader(QSGMaterialShader*, QSGMaterial*, char const*, char const*) () from /usr/lib64/libQt5Quick.so.5 #20 0x00007fe6a628a906 in QSGBatchRenderer::ShaderManager::prepareMaterial(QSGMaterial*) () from /usr/lib64/libQt5Quick.so.5 #21 0x00007fe6a628b23a in QSGBatchRenderer::Renderer::renderMergedBatch(QSGBatchRenderer::Batch const*) () from /usr/lib64/libQt5Quick.so.5 #22 0x00007fe6a628c625 in QSGBatchRenderer::Renderer::renderBatches() () from /usr/lib64/libQt5Quick.so.5 #23 0x00007fe6a6291acc in QSGBatchRenderer::Renderer::render() () from /usr/lib64/libQt5Quick.so.5 #24 0x00007fe6a628293d in QSGRenderer::renderScene(QSGBindable const&) () from /usr/lib64/libQt5Quick.so.5 #25 0x00007fe6a6282dcb in QSGRenderer::renderScene(unsigned int) () from /usr/lib64/libQt5Quick.so.5 #26 0x00007fe6a62ba940 in QSGDefaultRenderContext::renderNextFrame(QSGRenderer*, unsigned int) () from /usr/lib64/libQt5Quick.so.5 #27 0x00007fe6a6318fe8 in QQuickWindowPrivate::renderSceneGraph(QSize const&) () from /usr/lib64/libQt5Quick.so.5 #28 0x00007fe6a62ad784 in QSGGuiThreadRenderLoop::renderWindow(QQuickWindow*) () from /usr/lib64/libQt5Quick.so.5 #29 0x00007fe6a62ae6aa in QSGGuiThreadRenderLoop::exposureChanged(QQuickWindow*) () from /usr/lib64/libQt5Quick.so.5 #30 0x00007fe6a40cf61b in QWindow::event(QEvent*) () from /usr/lib64/libQt5Gui.so.5 #31 0x00007fe6a6323ad5 in QQuickWindow::event(QEvent*) () from /usr/lib64/libQt5Quick.so.5 #32 0x000055c4802de6a1 in KSMShutdownDlg::event (this=0x55c482159410, e=0x7fffbf150a80) at /usr/src/debug/plasma5-workspace-5.11.95-1.1.x86_64/ksmserver/shutdowndlg.cpp:234 #33 0x00007fe6a4d4ff0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #34 0x00007fe6a4d57204 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #35 0x00007fe6a3b49ea8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #36 0x00007fe6a40c4e89 in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () from /usr/lib64/libQt5Gui.so.5 #37 0x00007fe6a40c59ed in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib64/libQt5Gui.so.5 #38 0x00007fe6a409edfb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5 #39 0x00007fe693c47fbb in QPAEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5XcbQpa.so.5 #40 0x00007fe6a3b486ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #41 0x00007fe6a3b511f4 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5 #42 0x000055c4802db6f2 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma5-workspace-5.11.95-1.1.x86_64/ksmserver/logout-greeter/main.cpp:221
As it crashes in __memcpy_ssse3: Whats your CPU? Whats the output of $> grep sse /proc/cpuinfo | uniq
(In reply to André Verwijs from comment #0) > Application: ksmserver-logout-greeter (ksmserver-logout-greeter), signal: > Segmentation fault > Using host libthread_db library "/lib64/libthread_db.so.1". > [Current thread is 1 (Thread 0x7fe6a79fd040 (LWP 9460))] [..] > Thread 1 (Thread 0x7fe6a79fd040 (LWP 9460)): > [KCrash Handler] > #6 0x00007fe6a32b77c5 in __memcpy_ssse3 () from /lib64/libc.so.6 > #7 0x00007fe6889b5bc4 in memcpy (__len=42815120, __src=0x55c4826c8c40, > __dest=<optimized out>) at /usr/include/bits/string_fortified.h:34 > #8 tgsi_dup_tokens (tokens=0x55c4826c8c40) at tgsi/tgsi_parse.c:281 > #9 0x00007fe6887ff7a2 in st_create_vp_variant (key=0x7fffbf14fdd0, > stvp=0x55c48269fda0, st=0x55c4826277b0) at state_tracker/st_program.c:579 > #10 st_get_vp_variant (st=0x55c4826277b0, stvp=0x55c48269fda0, > key=0x7fffbf14fdd0) at state_tracker/st_program.c:629 > #11 0x00007fe6888008b5 in st_precompile_shader_variant > (st=st@entry=0x55c4826277b0, prog=prog@entry=0x55c48269fda0) at > state_tracker/st_program.c:1915 > #12 0x00007fe688801c02 in st_deserialise_tgsi_program (ctx=0x55c482637440, > shProg=0x55c4826bc600, prog=0x55c48269fda0) at > state_tracker/st_shader_cache.c:279 > #13 0x00007fe688722379 in read_program_payload (binary_format=34655, > sh_prog=0x55c4826bc600, blob=0x7fffbf14fe70, ctx=0x55c482637440) at > main/program_binary.c:206 > #14 _mesa_program_binary (ctx=0x55c482637440, sh_prog=0x55c4826bc600, > binary_format=<optimized out>, binary=0x7fe67c063040, length=4429) at > main/program_binary.c:285 The upper part is inside Mesa, so very likely a Mesa bug.
Looks like this upstream bug: https://bugs.freedesktop.org/show_bug.cgi?id=104762 It is problem in the shader cache. It was fixed upstream in: 041b18cf23a0acf7b0eddf63cd7a2a10192432a1 Since it is not issue of choosing the right memcpy implementation, clearing the needinfo about procinfo.
I have backported the fix and added it in Mesa in: https://build.opensuse.org/project/show/home:michalsrb:branches:bnc1079465:X11:XOrg Please test if installing that Mesa helps. The upstream bug also recommends to clean cache (~/.cache) of the affected users. If you use sddm display manager, also clean /var/lib/sddm/.cache.
(In reply to Michal Srb from comment #4) > I have backported the fix and added it in Mesa in: > https://build.opensuse.org/project/show/home:michalsrb:branches:bnc1079465: > X11:XOrg Hmm. Maybe I'm stupid, but I don't see a difference in this project to Mesa in X11:XOrg. :-( Maybe you haven't committed your changes?
(In reply to Stefan Dirsch from comment #5) > Hmm. Maybe I'm stupid, but I don't see a difference in this project to Mesa > in X11:XOrg. :-( Maybe you haven't committed your changes? You are right, sorry, forgot to commit. Now it is there. A patch "u_mesa-st-shader_cache-restore-num_tgsi_tokens-when-loading.patch" was added.
Tried the patched Mesa. Until I cleaned the cache, ksmserver-logout-greeter would keep on crashing. After that, it doesn't seem so anymore (I've tried repeatedly).
Bumping priority to critical as it breaks booting to the desktop for many users.
Thank you for the feedback! Submitted now to Factory: https://build.opensuse.org/request/show/573596
*** Bug 1079748 has been marked as a duplicate of this bug. ***
Closing the bug as fixed.
*** Bug 1079804 has been marked as a duplicate of this bug. ***
*** Bug 1079878 has been marked as a duplicate of this bug. ***
*** Bug 1079863 has been marked as a duplicate of this bug. ***
*** Bug 1080008 has been marked as a duplicate of this bug. ***
*** Bug 1080045 has been marked as a duplicate of this bug. ***
*** Bug 1080007 has been marked as a duplicate of this bug. ***
*** Bug 1079931 has been marked as a duplicate of this bug. ***
*** Bug 1080266 has been marked as a duplicate of this bug. ***
*** Bug 1078783 has been marked as a duplicate of this bug. ***
*** Bug 1080495 has been marked as a duplicate of this bug. ***
Note that this bug is only about crash in Mesa caused by a broken cached shader. It is fixed since 18.0.0-186.1 and contrary to what we thought does not need cleaning of cache. Other issues that involve broken rendering (such as white screen in sddm) are actually bug #1080578.