Bug 1079465 - Application: ksmserver-logout-greeter (ksmserver-logout-greeter), signal: Segmentation fault
Summary: Application: ksmserver-logout-greeter (ksmserver-logout-greeter), signal: Seg...
Status: RESOLVED FIXED
: 1078783 1079748 1079804 1079863 1079878 1080007 1080008 1080045 1080266 (view as bug list)
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: X.Org (show other bugs)
Version: Current
Hardware: 64bit openSUSE Factory
: P5 - None : Critical (vote)
Target Milestone: ---
Assignee: Michal Srb
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-06 02:07 UTC by André Verwijs
Modified: 2020-12-03 13:56 UTC (History)
17 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
added "ksmserver-logout-greeter-20180206-024106.kcrash.txt" .. (7.65 KB, text/plain)
2018-02-06 02:07 UTC, André Verwijs
Details

Note You need to log in before you can comment on or make changes to this bug.
Description André Verwijs 2018-02-06 02:07:51 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
Comment 1 Stefan Brüns 2018-02-06 06:08:13 UTC
As it crashes in __memcpy_ssse3:

Whats your CPU?

Whats the output of
$> grep sse /proc/cpuinfo  | uniq
Comment 2 Fabian Vogt 2018-02-06 08:24:58 UTC
(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.
Comment 3 Michal Srb 2018-02-06 08:37:47 UTC
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.
Comment 4 Michal Srb 2018-02-06 09:00:08 UTC
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.
Comment 5 Stefan Dirsch 2018-02-06 11:10:25 UTC
(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?
Comment 6 Michal Srb 2018-02-06 11:52:55 UTC
(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.
Comment 7 Luca Beltrame 2018-02-07 08:17:11 UTC
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).
Comment 8 Fabian Vogt 2018-02-07 08:20:12 UTC
Bumping priority to critical as it breaks booting to the desktop for many users.
Comment 9 Michal Srb 2018-02-07 08:24:07 UTC
Thank you for the feedback! Submitted now to Factory:
https://build.opensuse.org/request/show/573596
Comment 10 Michal Srb 2018-02-07 08:39:34 UTC
*** Bug 1079748 has been marked as a duplicate of this bug. ***
Comment 11 Michal Srb 2018-02-07 08:53:25 UTC
Closing the bug as fixed.
Comment 13 Silviu Marin-Caea 2018-02-07 15:44:17 UTC
*** Bug 1079804 has been marked as a duplicate of this bug. ***
Comment 14 Bunte Katze 2018-02-07 17:23:45 UTC
*** Bug 1079878 has been marked as a duplicate of this bug. ***
Comment 15 Stefan Dirsch 2018-02-07 23:59:17 UTC
*** Bug 1079863 has been marked as a duplicate of this bug. ***
Comment 16 Luca Beltrame 2018-02-08 09:04:41 UTC
*** Bug 1080008 has been marked as a duplicate of this bug. ***
Comment 17 Stefan Dirsch 2018-02-08 11:39:17 UTC
*** Bug 1080045 has been marked as a duplicate of this bug. ***
Comment 18 Stefan Dirsch 2018-02-08 11:40:18 UTC
*** Bug 1080007 has been marked as a duplicate of this bug. ***
Comment 19 Stefan Dirsch 2018-02-08 23:32:50 UTC
*** Bug 1079931 has been marked as a duplicate of this bug. ***
Comment 20 Wolfgang Bauer 2018-02-09 10:16:25 UTC
*** Bug 1080266 has been marked as a duplicate of this bug. ***
Comment 21 Jean Delvare 2018-02-11 08:57:20 UTC
*** Bug 1078783 has been marked as a duplicate of this bug. ***
Comment 22 Andreas Stieger 2018-02-12 07:22:25 UTC
*** Bug 1080495 has been marked as a duplicate of this bug. ***
Comment 23 Michal Srb 2018-02-12 14:22:40 UTC
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.