Bug 405772 - Latte crashes when toggling the Pin button of the setting window then close it
Summary: Latte crashes when toggling the Pin button of the setting window then close it
Status: RESOLVED FIXED
Alias: None
Product: lattedock
Classification: Plasma
Component: application (show other bugs)
Version: git (master)
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Michail Vourlakos
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-23 06:49 UTC by trmdi
Modified: 2019-03-23 09:36 UTC (History)
0 users

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


Attachments
My layout (48.77 KB, text/plain)
2019-03-23 06:51 UTC, trmdi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description trmdi 2019-03-23 06:49:32 UTC
It only happens with my layout.

STEPS TO REPRODUCE
1. open the setting window in the Advanced mode.
2. Change the state of the Pin button
3. Click the Close button
4. Repeat 1-3 if it still does not crash.

BACKTRACE :
-----------

Application: Latte Dock (latte-dock), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7ff08c1e6900 (LWP 5521))]

Thread 8 (Thread 0x7ff065d79700 (LWP 5617)):
#0  0x00007ffd1f96e630 in  ()
#1  0x00007ff08e0bf396 in clock_gettime () at /lib64/libc.so.6
#2  0x00007ff08e738571 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007ff08e736db9 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5
#4  0x00007ff08e7373b5 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5
#5  0x00007ff08e7389ce in  () at /usr/lib64/libQt5Core.so.5
#6  0x00007ff08ca90689 in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#7  0x00007ff08ca9108b in  () at /usr/lib64/libglib-2.0.so.0
#8  0x00007ff08ca9127c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#9  0x00007ff08e738c5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#10 0x00007ff08e6e34fb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#11 0x00007ff08e52d396 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#12 0x00007ff08fd0af25 in  () at /usr/lib64/libQt5Qml.so.5
#13 0x00007ff08e52e6e2 in  () at /usr/lib64/libQt5Core.so.5
#14 0x00007ff08d4b5fab in start_thread () at /lib64/libpthread.so.0
#15 0x00007ff08e0b16af in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7ff0671d2700 (LWP 5552)):
#0  0x00007ff08e736dbd in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5
#1  0x00007ff08e7390c5 in  () at /usr/lib64/libQt5Core.so.5
#2  0x00007ff08ca90b31 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#3  0x00007ff08ca91100 in  () at /usr/lib64/libglib-2.0.so.0
#4  0x00007ff08ca9127c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#5  0x00007ff08e738c5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#6  0x00007ff08e6e34fb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#7  0x00007ff08e52d396 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#8  0x00007ff0679cb717 in KCupsConnection::run() () at /usr/lib64/libkcupslib.so
#9  0x00007ff08e52e6e2 in  () at /usr/lib64/libQt5Core.so.5
#10 0x00007ff08d4b5fab in start_thread () at /lib64/libpthread.so.0
#11 0x00007ff08e0b16af in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7ff074e9c700 (LWP 5542)):
#0  0x00007ffd1f96e62e in  ()
#1  0x00007ff08e0bf396 in clock_gettime () at /lib64/libc.so.6
#2  0x00007ff08e738571 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007ff08e736db9 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5
#4  0x00007ff08e7390c5 in  () at /usr/lib64/libQt5Core.so.5
#5  0x00007ff08ca90b31 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#6  0x00007ff08ca91100 in  () at /usr/lib64/libglib-2.0.so.0
#7  0x00007ff08ca9127c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#8  0x00007ff08e738c5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#9  0x00007ff08e6e34fb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#10 0x00007ff08e52d396 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#11 0x00007ff08e52e6e2 in  () at /usr/lib64/libQt5Core.so.5
#12 0x00007ff08d4b5fab in start_thread () at /lib64/libpthread.so.0
#13 0x00007ff08e0b16af in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7ff07569d700 (LWP 5541)):
#0  0x00007ff08e7373c7 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5
#1  0x00007ff08e7389ce in  () at /usr/lib64/libQt5Core.so.5
#2  0x00007ff08ca90689 in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#3  0x00007ff08ca9108b in  () at /usr/lib64/libglib-2.0.so.0
#4  0x00007ff08ca9127c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#5  0x00007ff08e738c5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#6  0x00007ff08e6e34fb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#7  0x00007ff08e52d396 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#8  0x00007ff075aa7c55 in  () at /usr/lib64/qt5/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so
#9  0x00007ff08e52e6e2 in  () at /usr/lib64/libQt5Core.so.5
#10 0x00007ff08d4b5fab in start_thread () at /lib64/libpthread.so.0
#11 0x00007ff08e0b16af in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7ff082012700 (LWP 5536)):
#0  0x00007ff08d4bc03c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007ff0823f0443 in  () at /usr/lib64/dri/i965_dri.so
#2  0x00007ff0823f0197 in  () at /usr/lib64/dri/i965_dri.so
#3  0x00007ff08d4b5fab in start_thread () at /lib64/libpthread.so.0
#4  0x00007ff08e0b16af in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7ff083fff700 (LWP 5534)):
#0  0x00007ff08e0a6ae9 in poll () at /lib64/libc.so.6
#1  0x00007ff08ca91156 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007ff08ca9127c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007ff08e738c5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007ff08e6e34fb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007ff08e52d396 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007ff08fd0af25 in  () at /usr/lib64/libQt5Qml.so.5
#7  0x00007ff08e52e6e2 in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007ff08d4b5fab in start_thread () at /lib64/libpthread.so.0
#9  0x00007ff08e0b16af in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7ff08957f700 (LWP 5528)):
#0  0x00007ff08e0a26c4 in read () at /lib64/libc.so.6
#1  0x00007ff08cad6c70 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007ff08ca90c2f in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#3  0x00007ff08ca91100 in  () at /usr/lib64/libglib-2.0.so.0
#4  0x00007ff08ca9127c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#5  0x00007ff08e738c5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#6  0x00007ff08e6e34fb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#7  0x00007ff08e52d396 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#8  0x00007ff08f68a565 in  () at /usr/lib64/libQt5DBus.so.5
#9  0x00007ff08e52e6e2 in  () at /usr/lib64/libQt5Core.so.5
#10 0x00007ff08d4b5fab in start_thread () at /lib64/libpthread.so.0
#11 0x00007ff08e0b16af in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7ff08c1e6900 (LWP 5521)):
[KCrash Handler]
#5  0x000055663d283800 in Latte::ViewPart::PrimaryConfigView::availableScreenGeometry() const (this=0x0) at /usr/src/debug/latte-dock-999.git.20190321.d8c04e80-200.1.x86_64/app/view/settings/primaryconfigview.cpp:207
#6  0x000055663d287578 in Latte::ViewPart::SecondaryConfigView::syncGeometry() (this=0x556643919a00) at /usr/include/c++/8/bits/atomic_base.h:390
#7  0x00007ff08e70e5b3 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#8  0x00007ff08e71a1a7 in QTimer::timeout(QTimer::QPrivateSignal) () at /usr/lib64/libQt5Core.so.5
#9  0x00007ff08e70ecbb in QObject::event(QEvent*) () at /usr/lib64/libQt5Core.so.5
#10 0x00007ff08f0d6591 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#11 0x00007ff08f0ddb30 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#12 0x00007ff08e6e4829 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#13 0x00007ff08e738053 in QTimerInfoList::activateTimers() () at /usr/lib64/libQt5Core.so.5
#14 0x00007ff08e7388a4 in  () at /usr/lib64/libQt5Core.so.5
#15 0x00007ff08ca90f4e in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#16 0x00007ff08ca911e8 in  () at /usr/lib64/libglib-2.0.so.0
#17 0x00007ff08ca9127c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#18 0x00007ff08e738c43 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#19 0x00007ff08e6e34fb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#20 0x00007ff08e6eb652 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#21 0x000055663d1f121c in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/latte-dock-999.git.20190321.d8c04e80-200.1.x86_64/app/main.cpp:280
[Inferior 1 (process 5521) detached]
Comment 1 trmdi 2019-03-23 06:51:43 UTC
Created attachment 118981 [details]
My layout
Comment 2 Michail Vourlakos 2019-03-23 08:30:38 UTC
I cant reproduce but if you change in secondaryconfigview.cpp line:152 to:

if (!m_latteView || !m_latteView->managedLayout() || !m_latteView->containment() || !m_parent || !rootObject()) {


is it fixed?
Comment 3 trmdi 2019-03-23 09:28:49 UTC
(In reply to Michail Vourlakos from comment #2)
> I cant reproduce but if you change in secondaryconfigview.cpp line:152 to:
> 
> if (!m_latteView || !m_latteView->managedLayout() ||
> !m_latteView->containment() || !m_parent || !rootObject()) {
> 
> 
> is it fixed?

Yes, I can no longer reproduce it with this change.
Comment 4 Michail Vourlakos 2019-03-23 09:36:02 UTC
Git commit b93588756aa5ca86d0f0d7d62f1058a69a51273c by Michail Vourlakos.
Committed on 23/03/2019 at 09:35.
Pushed by mvourlakos into branch 'master'.

fix crash from Close button in config window

M  +1    -1    app/view/settings/secondaryconfigview.cpp

https://commits.kde.org/latte-dock/b93588756aa5ca86d0f0d7d62f1058a69a51273c