Bug 392890 - [wayland] - Blur effect crashes Latte on exit
Summary: [wayland] - Blur effect crashes Latte on exit
Status: RESOLVED FIXED
Alias: None
Product: lattedock
Classification: Plasma
Component: application (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Michail Vourlakos
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-04-08 20:15 UTC by Michail Vourlakos
Modified: 2018-04-09 08:49 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michail Vourlakos 2018-04-08 20:15:11 UTC
Latte Dock uses the following functions in order to blur the background:

KWindowEffects::enableBlurBehind
KWindowEffects::enableBackgroundContrast

even though blur doesnt work in my system because of: https://bugs.kde.org/show_bug.cgi?id=392693

the following crash occurs for Latte when exits:

-------------------------------------------------------

Application: Latte Dock (latte-dock), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f5d820eb8c0 (LWP 23560))]

Thread 10 (Thread 0x7f5d0efbd700 (LWP 23598)):
#0  0x00007f5d77af0360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f5d7c6c567b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x75ebf30) at thread/qwaitcondition_unix.cpp:143
#2  0x00007f5d7c6c567b in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x39885b8, mutex=mutex@entry=0x39885b0, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#3  0x00007f5d7fe818fd in QSGRenderThread::processEventsAndWaitForMore() (wait=true, this=0x39885a8) at scenegraph/qsgthreadedrenderloop.cpp:245
#4  0x00007f5d7fe818fd in QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x3988530) at scenegraph/qsgthreadedrenderloop.cpp:709
#5  0x00007f5d7fe821f5 in QSGRenderThread::run() (this=0x3988530) at scenegraph/qsgthreadedrenderloop.cpp:738
#6  0x00007f5d7c6c46eb in QThreadPrivate::start(void*) (arg=0x3988530) at thread/qthread_unix.cpp:376
#7  0x00007f5d77aea6ba in start_thread (arg=0x7f5d0efbd700) at pthread_create.c:333
#8  0x00007f5d7bab241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7f5d0fffe700 (LWP 23597)):
#0  0x00007f5d7baa227d in read () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f5d753706f0 in g_wakeup_acknowledge (__nbytes=16, __buf=0x7f5d0fffdad0, __fd=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/unistd.h:44
#2  0x00007f5d753706f0 in g_wakeup_acknowledge (wakeup=0x7f5d14002330) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gwakeup.c:210
#3  0x00007f5d7532ce74 in g_main_context_check (context=context@entry=0x7f5d08000990, max_priority=2147483647, fds=fds@entry=0x7f5d08003270, n_fds=n_fds@entry=1) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3632
#4  0x00007f5d7532d330 in g_main_context_iterate (context=context@entry=0x7f5d08000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3837
#5  0x00007f5d7532d49c in g_main_context_iteration (context=0x7f5d08000990, may_block=may_block@entry=1) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3901
#6  0x00007f5d7c8f85cb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5d080008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#7  0x00007f5d7c89f64a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5d0fffdce0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#8  0x00007f5d7c6bf554 in QThread::exec() (this=this@entry=0x7b5fe40) at thread/qthread.cpp:522
#9  0x00007f5d7f9a4a35 in QQmlThreadPrivate::run() (this=0x7b5fe40) at qml/ftw/qqmlthread.cpp:147
#10 0x00007f5d7c6c46eb in QThreadPrivate::start(void*) (arg=0x7b5fe40) at thread/qthread_unix.cpp:376
#11 0x00007f5d77aea6ba in start_thread (arg=0x7f5d0fffe700) at pthread_create.c:333
#12 0x00007f5d7bab241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7f5d1bdfb700 (LWP 23578)):
#0  0x00007f5d7532c908 in g_main_context_prepare (context=context@entry=0x7f5d14000990, priority=priority@entry=0x7f5d1bdfab80) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3440
#1  0x00007f5d7532d2bb in g_main_context_iterate (context=context@entry=0x7f5d14000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3820
#2  0x00007f5d7532d49c in g_main_context_iteration (context=0x7f5d14000990, may_block=may_block@entry=1) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3901
#3  0x00007f5d7c8f85cb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5d140008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f5d7c89f64a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5d1bdfacc0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#5  0x00007f5d7c6bf554 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:522
#6  0x00007f5d211bd517 in KCupsConnection::run() () at /usr/lib/x86_64-linux-gnu/libkcupslib.so
#7  0x00007f5d7c6c46eb in QThreadPrivate::start(void*) (arg=0x750fc30) at thread/qthread_unix.cpp:376
#8  0x00007f5d77aea6ba in start_thread (arg=0x7f5d1bdfb700) at pthread_create.c:333
#9  0x00007f5d7bab241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f5d2d4fb700 (LWP 23572)):
#0  0x00007f5d77af0360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f5d7c6c567b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x40e3280) at thread/qwaitcondition_unix.cpp:143
#2  0x00007f5d7c6c567b in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x408bb78, mutex=mutex@entry=0x408bb70, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#3  0x00007f5d7fe818fd in QSGRenderThread::processEventsAndWaitForMore() (wait=true, this=0x408bb68) at scenegraph/qsgthreadedrenderloop.cpp:245
#4  0x00007f5d7fe818fd in QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x408baf0) at scenegraph/qsgthreadedrenderloop.cpp:709
#5  0x00007f5d7fe821f5 in QSGRenderThread::run() (this=0x408baf0) at scenegraph/qsgthreadedrenderloop.cpp:738
#6  0x00007f5d7c6c46eb in QThreadPrivate::start(void*) (arg=0x408baf0) at thread/qthread_unix.cpp:376
#7  0x00007f5d77aea6ba in start_thread (arg=0x7f5d2d4fb700) at pthread_create.c:333
#8  0x00007f5d7bab241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f5d2e4fc700 (LWP 23571)):
#0  0x00007f5d77af0360 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f5d7c6c567b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x37193c0) at thread/qwaitcondition_unix.cpp:143
#2  0x00007f5d7c6c567b in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x408c358, mutex=mutex@entry=0x408c350, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#3  0x00007f5d7fe818fd in QSGRenderThread::processEventsAndWaitForMore() (wait=true, this=0x408c348) at scenegraph/qsgthreadedrenderloop.cpp:245
#4  0x00007f5d7fe818fd in QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x408c2d0) at scenegraph/qsgthreadedrenderloop.cpp:709
#5  0x00007f5d7fe821f5 in QSGRenderThread::run() (this=0x408c2d0) at scenegraph/qsgthreadedrenderloop.cpp:738
#6  0x00007f5d7c6c46eb in QThreadPrivate::start(void*) (arg=0x408c2d0) at thread/qthread_unix.cpp:376
#7  0x00007f5d77aea6ba in start_thread (arg=0x7f5d2e4fc700) at pthread_create.c:333
#8  0x00007f5d7bab241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f5d360a9700 (LWP 23570)):
#0  0x00007f5d7baa674d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f5d7532d38c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7f5d28002e70, timeout=<optimized out>, context=0x7f5d28000990) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:4135
#2  0x00007f5d7532d38c in g_main_context_iterate (context=context@entry=0x7f5d28000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3835
#3  0x00007f5d7532d49c in g_main_context_iteration (context=0x7f5d28000990, may_block=may_block@entry=1) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3901
#4  0x00007f5d7c8f85cb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5d280008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f5d7c89f64a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5d360a8d00, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f5d7c6bf554 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:522
#7  0x00007f5d7c6c46eb in QThreadPrivate::start(void*) (arg=0x274af10) at thread/qthread_unix.cpp:376
#8  0x00007f5d77aea6ba in start_thread (arg=0x7f5d360a9700) at pthread_create.c:333
#9  0x00007f5d7bab241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f5d368aa700 (LWP 23569)):
#0  0x00007f5d7baa227d in read () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f5d753706f0 in g_wakeup_acknowledge (__nbytes=16, __buf=0x7f5d368a9ad0, __fd=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/unistd.h:44
#2  0x00007f5d753706f0 in g_wakeup_acknowledge (wakeup=0x7f5d40002780) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gwakeup.c:210
#3  0x00007f5d7532ce74 in g_main_context_check (context=context@entry=0x7f5d30000990, max_priority=2147483647, fds=fds@entry=0x7f5d300013c0, n_fds=n_fds@entry=1) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3632
#4  0x00007f5d7532d330 in g_main_context_iterate (context=context@entry=0x7f5d30000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3837
#5  0x00007f5d7532d49c in g_main_context_iteration (context=0x7f5d30000990, may_block=may_block@entry=1) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3901
#6  0x00007f5d7c8f85cb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5d300008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#7  0x00007f5d7c89f64a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5d368a9ce0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#8  0x00007f5d7c6bf554 in QThread::exec() (this=this@entry=0x301a740) at thread/qthread.cpp:522
#9  0x00007f5d36f071d5 in QQuickXmlQueryEngine::run() (this=0x301a740) at qqmlxmllistmodel.cpp:323
#10 0x00007f5d7c6c46eb in QThreadPrivate::start(void*) (arg=0x301a740) at thread/qthread_unix.cpp:376
#11 0x00007f5d77aea6ba in start_thread (arg=0x7f5d368aa700) at pthread_create.c:333
#12 0x00007f5d7bab241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f5d616fc700 (LWP 23564)):
#0  0x00007f5d7baa227d in read () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f5d753706f0 in g_wakeup_acknowledge (__nbytes=16, __buf=0x7f5d616fbad0, __fd=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/unistd.h:44
#2  0x00007f5d753706f0 in g_wakeup_acknowledge (wakeup=0x7f5d5c0025a0) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gwakeup.c:210
#3  0x00007f5d7532ce74 in g_main_context_check (context=context@entry=0x7f5d58000990, max_priority=2147483647, fds=fds@entry=0x7f5d58002e70, n_fds=n_fds@entry=1) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3632
#4  0x00007f5d7532d330 in g_main_context_iterate (context=context@entry=0x7f5d58000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3837
#5  0x00007f5d7532d49c in g_main_context_iteration (context=0x7f5d58000990, may_block=may_block@entry=1) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3901
#6  0x00007f5d7c8f85cb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5d580008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#7  0x00007f5d7c89f64a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5d616fbce0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#8  0x00007f5d7c6bf554 in QThread::exec() (this=this@entry=0x22c2740) at thread/qthread.cpp:522
#9  0x00007f5d7f9a4a35 in QQmlThreadPrivate::run() (this=0x22c2740) at qml/ftw/qqmlthread.cpp:147
#10 0x00007f5d7c6c46eb in QThreadPrivate::start(void*) (arg=0x22c2740) at thread/qthread_unix.cpp:376
#11 0x00007f5d77aea6ba in start_thread (arg=0x7f5d616fc700) at pthread_create.c:333
#12 0x00007f5d7bab241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f5d6b55a700 (LWP 23561)):
#0  0x00007f5d75371a94 in g_mutex_unlock (mutex=0x7f5d64000990) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gthread-posix.c:1347
#1  0x00007f5d7532c38e in g_main_context_acquire (context=0x7f5d64000990) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3228
#2  0x00007f5d7532d245 in g_main_context_iterate (context=context@entry=0x7f5d64000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3790
#3  0x00007f5d7532d49c in g_main_context_iteration (context=0x7f5d64000990, may_block=may_block@entry=1) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3901
#4  0x00007f5d7c8f85cb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5d640008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f5d7c89f64a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5d6b559cd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f5d7c6bf554 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:522
#7  0x00007f5d7df8e2c5 in  () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#8  0x00007f5d7c6c46eb in QThreadPrivate::start(void*) (arg=0x7f5d7e202d60) at thread/qthread_unix.cpp:376
#9  0x00007f5d77aea6ba in start_thread (arg=0x7f5d6b55a700) at pthread_create.c:333
#10 0x00007f5d7bab241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f5d820eb8c0 (LWP 23560)):
[KCrash Handler]
#4  0x00007f5d798b4cc6 in wl_proxy_marshal_constructor (proxy=0x0, opcode=opcode@entry=0, interface=0x7f5d8148d5a0 <org_kde_kwin_blur_interface>) at ../src/wayland-client.c:729
#5  0x00007f5d812217e0 in KWayland::Client::BlurManager::createBlur(KWayland::Client::Surface*, QObject*) (surface=<optimized out>, org_kde_kwin_blur_manager=<optimized out>) at /workspace/build/obj-x86_64-linux-gnu/src/client/wayland-blur-client-protocol.h:112
#6  0x00007f5d812217e0 in KWayland::Client::BlurManager::createBlur(KWayland::Client::Surface*, QObject*) (this=0x27ca8f0, surface=0x354cb00, parent=0x354cb00) at /workspace/build/src/client/blur.cpp:91
#7  0x00007f5d543767fb in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/org.kde.kwindowsystem.platforms/KF5WindowSystemKWaylandPlugin.so
#8  0x00000000004aec5f in Latte::DockView::updateEffects() ()
#9  0x00007f5d7c8ce7b6 in QMetaObject::activate(QObject*, int, int, void**) (a=0x7fffa2cd72a0, r=0x35c16b0, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:378
#10 0x00007f5d7c8ce7b6 in QMetaObject::activate(QObject*, int, int, void**) (sender=0x35c16b0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3749
#11 0x00000000004ad389 in Latte::DockView::setEffectsArea(QRect) ()
#12 0x00000000004d4c01 in Latte::DockView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#13 0x00000000004d85ab in Latte::DockView::qt_metacall(QMetaObject::Call, int, void**) ()
#14 0x00007f5d7f9104ec in QQmlPropertyData::writeProperty(QObject*, void*, QFlags<QQmlPropertyData::WriteFlag>) const (this=this@entry=0x2d101e8, target=target@entry=0x35c16b0, value=<optimized out>, flags=...) at ../../include/QtQml/5.10.0/QtQml/private/../../../../../src/qml/qml/qqmlpropertycache_p.h:324
#15 0x00007f5d7f90efe6 in QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&, QVariant const&, QQmlContextData*, QFlags<QQmlPropertyData::WriteFlag>) (object=object@entry=0x35c16b0, property=..., value=..., context=0x3af2920, flags=..., flags@entry=...) at qml/qqmlproperty.cpp:1243
#16 0x00007f5d7f8d81cf in QV4::QObjectWrapper::setProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData*, QV4::Value const&) (engine=engine@entry=0x22c3770, object=object@entry=0x35c16b0, property=0x2d101e8, value=...) at jsruntime/qv4qobjectwrapper.cpp:550
#17 0x00007f5d7f8d8d1b in QV4::QObjectWrapper::setQmlProperty(QV4::ExecutionEngine*, QQmlContextData*, QObject*, QV4::String*, QV4::QObjectWrapper::RevisionMode, QV4::Value const&) (engine=0x22c3770, qmlContext=<optimized out>, object=0x35c16b0, name=<optimized out>, revisionMode=QV4::QObjectWrapper::IgnoreRevision, value=...) at jsruntime/qv4qobjectwrapper.cpp:423
#18 0x00007f5d7f8d8e1d in QV4::QObjectWrapper::put(QV4::Managed*, QV4::String*, QV4::Value const&) (m=0x7f5d606bd4e8, name=0x7f5d606bd4e0, value=...) at jsruntime/qv4qobjectwrapper.cpp:697
#19 0x00007f5d7f8e7e1d in QV4::Runtime::method_setProperty(QV4::ExecutionEngine*, QV4::Value const&, int, QV4::Value const&) (v=..., name=<optimized out>, this=<optimized out>) at jsruntime/qv4object_p.h:386
#20 0x00007f5d7f8e7e1d in QV4::Runtime::method_setProperty(QV4::ExecutionEngine*, QV4::Value const&, int, QV4::Value const&) (engine=0x22c3770, object=..., nameIndex=<optimized out>, value=...) at jsruntime/qv4runtime.cpp:601
#21 0x00007f5d3d18885e in  ()
#22 0x0000000007691d38 in  ()
#23 0x0000000000000001 in  ()
#24 0x0000000000000000 in  ()
Comment 1 Michail Vourlakos 2018-04-08 20:15:49 UTC
Note: I mean under Wayland, for X11 everything works just fine...
Comment 2 Martin Flöser 2018-04-09 07:09:36 UTC
Are you sure you setup everything correctly? I consider it unlikely that this works for Plasma but crashes for Latte. Please compare the setup sequence to usage in plasma. From the backtrace it looks like you setup blur too early before Qt created the Wayland window.

Please in general: first question your own implementation before creating bug reports. If you have questions concerning API usage please ask on the mailing list instead of bug reports. It doesn't scale if I have to handle all latte questions.
Comment 3 Michail Vourlakos 2018-04-09 08:39:21 UTC
Git commit 745b9ea07554cda9d71d10e6b937d15a90da4dde by Michail Vourlakos.
Committed on 09/04/2018 at 08:38.
Pushed by mvourlakos into branch 'master'.

dont apply too early blur effect

dont delay the corona destruction under wayland
because that creates a crash with kwin effects

M  +3    -3    app/dock/dockview.cpp
M  +10   -5    app/dockcorona.cpp

https://commits.kde.org/latte-dock/745b9ea07554cda9d71d10e6b937d15a90da4dde
Comment 4 Michail Vourlakos 2018-04-09 08:48:50 UTC
(In reply to Martin Flöser from comment #2)
> Are you sure you setup everything correctly? I consider it unlikely that
> this works for Plasma but crashes for Latte. Please compare the setup
> sequence to usage in plasma. From the backtrace it looks like you setup blur
> too early before Qt created the Wayland window.

I found it, even though it was something a little different. 
Latte in order to slide-out its docks/panels during exit it was delaying the corona destruction which is the parent of "KWayland::Client::PlasmaShell". It was using the following code in corona destruction:

        QTimer::singleShot(400, [this]() {
            m_quitTimedEnded = true;
        });

        while (!m_quitTimedEnded) {
            QGuiApplication::processEvents(QEventLoop::AllEvents, 50);
        }

--------
by blocking this code for wayland crash disappeared.


> Please in general: first question your own implementation before creating
> bug reports. If you have questions concerning API usage please ask on the
> mailing list instead of bug reports. It doesn't scale if I have to handle
> all latte questions.

of course. I just wanted to keep track and the mailing list isnt that helpful. I think the best in the future is to file them under latte-dock product and point to mailing lists if someone wants to help or explain me.

thanks a lot for your efforts