Bug 353380

Summary: Kontact crashed upon exit
Product: [Frameworks and Libraries] frameworks-kwidgetsaddons Reporter: Robby Engelmann <robby.engelmann>
Component: generalAssignee: Christoph Feck <cfeck>
Status: RESOLVED FIXED    
Severity: crash CC: kde, kde, kdebug, kdelibs-bugs, mark, martin.tlustos, nkukard, robby.engelmann
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 5.35.0

Description Robby Engelmann 2015-09-30 19:33:23 UTC
Application: kontact ()

Qt Version: 5.4.2
Operating System: Linux 4.1.6-3-desktop x86_64
Distribution: "openSUSE 20150924 (Tumbleweed) (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
Kontact crashes upon exit. This happens everytime after clicking on the quit button

-- Backtrace:
Application: kontact (kontact), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fa40e7a28c0 (LWP 3069))]

Thread 8 (Thread 0x7fa3ee542700 (LWP 3071)):
#0  0x00007fa40b27026d in poll () from /lib64/libc.so.6
#1  0x00007fa4046de432 in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007fa4046e0007 in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
#3  0x00007fa3f028e7f9 in ?? () from /usr/lib64/qt5/plugins/platforms/libqxcb.so
#4  0x00007fa40bb72eaf in QThreadPrivate::start (arg=0x1a33150) at thread/qthread_unix.cpp:337
#5  0x00007fa404e3f4a4 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fa40b278bfd in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7fa3e7fff700 (LWP 3072)):
#0  0x00007fa404e4507f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fa409f2c25b in ?? () from /usr/lib64/libQt5WebKit.so.5
#2  0x00007fa409f2c299 in ?? () from /usr/lib64/libQt5WebKit.so.5
#3  0x00007fa404e3f4a4 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa40b278bfd in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7fa3a35c7700 (LWP 3076)):
#0  0x00007fa40b27026d in poll () from /lib64/libc.so.6
#1  0x00007fa403fb8e94 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fa403fb8f9c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fa40bd9720b in QEventDispatcherGlib::processEvents (this=0x7fa39c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#4  0x00007fa40bd405ea in QEventLoop::exec (this=this@entry=0x7fa3a35c6d10, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007fa40bb6e13c in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#6  0x00007fa40bb72eaf in QThreadPrivate::start (arg=0x1b5ce00) at thread/qthread_unix.cpp:337
#7  0x00007fa404e3f4a4 in start_thread () from /lib64/libpthread.so.0
#8  0x00007fa40b278bfd in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7fa3a1578700 (LWP 3078)):
#0  0x00007fa404e4507f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fa409c3a734 in ?? () from /usr/lib64/libQt5WebKit.so.5
#2  0x00007fa409f5b2e1 in ?? () from /usr/lib64/libQt5WebKit.so.5
#3  0x00007fa404e3f4a4 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa40b278bfd in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7fa3a0d58700 (LWP 3079)):
#0  0x00007fa404e4507f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fa409c3b763 in ?? () from /usr/lib64/libQt5WebKit.so.5
#2  0x00007fa409f5b2e1 in ?? () from /usr/lib64/libQt5WebKit.so.5
#3  0x00007fa404e3f4a4 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa40b278bfd in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fa39bfff700 (LWP 3080)):
#0  0x00007fa404e4507f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fa409c3b763 in ?? () from /usr/lib64/libQt5WebKit.so.5
#2  0x00007fa409f5b2e1 in ?? () from /usr/lib64/libQt5WebKit.so.5
#3  0x00007fa404e3f4a4 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa40b278bfd in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fa39b7fe700 (LWP 3081)):
#0  0x00007fa404e4507f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fa409c3b763 in ?? () from /usr/lib64/libQt5WebKit.so.5
#2  0x00007fa409f5b2e1 in ?? () from /usr/lib64/libQt5WebKit.so.5
#3  0x00007fa404e3f4a4 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa40b278bfd in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fa40e7a28c0 (LWP 3069)):
[KCrash Handler]
#6  0x00007fa40caf6df4 in QAbstractSlider::maximum (this=0x7fa40bdec960 <QArrayData::shared_null>) at widgets/qabstractslider.cpp:359
#7  0x00007fa40734697f in restoreScrollBarState (this=0x5f67260) at /usr/src/debug/kwidgetsaddons-5.14.0/src/kviewstateserializer.cpp:54
#8  KViewStateSerializer::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at /usr/src/debug/kwidgetsaddons-5.14.0/build/src/moc_kviewstateserializer.cpp:73
#9  0x00007fa40bd72b39 in QObject::event (this=0x609ed20, e=<optimized out>) at kernel/qobject.cpp:1245
#10 0x00007fa40ca0186c in QApplicationPrivate::notify_helper (this=this@entry=0x1a191e0, receiver=receiver@entry=0x609ed20, e=e@entry=0x23dce30) at kernel/qapplication.cpp:3720
#11 0x00007fa40ca06b80 in QApplication::notify (this=0x7ffea90d8a30, receiver=0x609ed20, e=0x23dce30) at kernel/qapplication.cpp:3503
#12 0x00007fa40bd42bf3 in QCoreApplication::notifyInternal (this=0x7ffea90d8a30, receiver=0x609ed20, event=event@entry=0x23dce30) at kernel/qcoreapplication.cpp:935
#13 0x00007fa40bd44c37 in sendEvent (event=0x23dce30, receiver=<optimized out>) at kernel/qcoreapplication.h:228
#14 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x1a14120) at kernel/qcoreapplication.cpp:1552
#15 0x00007fa40bd45158 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1410
#16 0x00007fa40bd96de3 in postEventSourceDispatch (s=0x1a5c500) at kernel/qeventdispatcher_glib.cpp:271
#17 0x00007fa403fb8cc7 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#18 0x00007fa403fb8ef8 in ?? () from /usr/lib64/libglib-2.0.so.0
#19 0x00007fa403fb8f9c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#20 0x00007fa40bd971ef in QEventDispatcherGlib::processEvents (this=0x1a62360, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#21 0x00007fa40bd405ea in QEventLoop::exec (this=this@entry=0x7ffea90d87b0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#22 0x00007fa40bd47d6d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
#23 0x0000000000404e62 in main ()

Reported using DrKonqi
Comment 1 Robby Engelmann 2015-10-28 06:07:03 UTC
Still valid for me under Qt 5.5.1, Plasma 5.4.2, KF 5.15 and KDE Apps 15.08.2
Comment 2 Christoph Feck 2017-05-11 14:13:35 UTC
*** Bug 363396 has been marked as a duplicate of this bug. ***
Comment 3 Christoph Feck 2017-05-11 14:14:46 UTC
*** Bug 355848 has been marked as a duplicate of this bug. ***
Comment 4 Christoph Feck 2017-05-11 14:15:25 UTC
*** Bug 379574 has been marked as a duplicate of this bug. ***
Comment 5 Christoph Feck 2017-05-11 14:15:57 UTC
*** Bug 371088 has been marked as a duplicate of this bug. ***
Comment 6 Christoph Feck 2017-05-11 14:16:29 UTC
*** Bug 358157 has been marked as a duplicate of this bug. ***
Comment 7 Christoph Feck 2017-06-02 23:45:44 UTC
Git commit cebdbaf56d1eed9547eecec355481e0f822ef83f by Christoph Feck.
Committed on 02/06/2017 at 23:39.
Pushed by cfeck into branch 'master'.

KViewStateSerializer: Fix crash when view is destroyed before state serializer

KViewStateSerializer::restoreScrollBarState() calls QScrollBar::maximum()
on an invalid (i.e. already deleted) scrollbar. This means, the enclosing
QAbstractScrollArea has been deleted between the call to ::restoreScrollState()
and the deferred (via a single shot timer) ::restoreScrollBarState().

This commit works around the issue by allowing users to delete the view
immediately after ::restoreScrollState() was called.
FIXED-IN: 5.35.0

Reviewers: #frameworks, skelly

Reviewed By: skelly

Subscribers: mlaurent

Differential Revision: https://phabricator.kde.org/D5821

M  +5    -1    src/kviewstateserializer.cpp

https://commits.kde.org/kwidgetsaddons/cebdbaf56d1eed9547eecec355481e0f822ef83f
Comment 8 Christoph Feck 2017-12-31 12:44:52 UTC
*** Bug 387717 has been marked as a duplicate of this bug. ***