Bug 319967 - kded crashes during update installation (Fedora 19 Beta RC2)
Summary: kded crashes during update installation (Fedora 19 Beta RC2)
Status: RESOLVED FIXED
Alias: None
Product: apper
Classification: Applications
Component: general (show other bugs)
Version: 0.8.0
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Daniel Nicoletti
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-18 01:43 UTC by Adam Williamson
Modified: 2013-06-24 18:33 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (9.46 KB, text/plain)
2013-05-20 15:57 UTC, Rex Dieter
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Williamson 2013-05-18 01:43:51 UTC
Application: kded4 (4.10.3)
KDE Platform Version: 4.10.3
Qt Version: 4.8.4
Operating System: Linux 3.9.2-301.fc19.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
- What I was doing when the application crashed:

Installing updates using apper. Happened twice in a row. Just install F19 Beta RC2 KDE from the DVD, let the update notification appear, and follow through. Just after you trust the Fedora GPG key, it explodes. Looks like the update transaction actually fails shortly in, leaving an inconsistent RPM database, which is bad.

The crash can be reproduced every time.

-- Backtrace:
Application: KDE Daemon (kded4), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f4ea7c238c0 (LWP 1402))]

Thread 5 (Thread 0x7f4e77bd5700 (LWP 1469)):
#0  0x00007f4e9fb39157 in g_main_context_iterate.isra.22 () from /lib64/libglib-2.0.so.0
#1  0x00007f4e9fb395fa in g_main_loop_run () from /lib64/libglib-2.0.so.0
#2  0x00007f4e86fe7b96 in gdbus_shared_thread_func () from /lib64/libgio-2.0.so.0
#3  0x00007f4e9fb5d225 in g_thread_proxy () from /lib64/libglib-2.0.so.0
#4  0x00007f4ea4a40c53 in start_thread (arg=0x7f4e77bd5700) at pthread_create.c:308
#5  0x00007f4ea2fb5ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7f4e771c8700 (LWP 1470)):
#0  0x00007f4e9fb7803a in g_mutex_get_impl () from /lib64/libglib-2.0.so.0
#1  0x00007f4e9fb78319 in g_mutex_unlock () from /lib64/libglib-2.0.so.0
#2  0x00007f4e9fb38c09 in g_main_context_check () from /lib64/libglib-2.0.so.0
#3  0x00007f4e9fb3912b in g_main_context_iterate.isra.22 () from /lib64/libglib-2.0.so.0
#4  0x00007f4e9fb3929c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#5  0x00007f4ea4dfbcd6 in QEventDispatcherGlib::processEvents (this=0x7f4e600008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007f4ea4dcdbdf in QEventLoop::processEvents (this=this@entry=0x7f4e771c7ce0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f4ea4dcded5 in QEventLoop::exec (this=this@entry=0x7f4e771c7ce0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f4ea4ccd62f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#9  0x00007f4e80d0d377 in KCupsConnection::run() () from /lib64/libkcupslib.so
#10 0x00007f4ea4ccfccf in QThreadPrivate::start (arg=0x1c4ba50) at thread/qthread_unix.cpp:338
#11 0x00007f4ea4a40c53 in start_thread (arg=0x7f4e771c8700) at pthread_create.c:308
#12 0x00007f4ea2fb5ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f4e769c7700 (LWP 1471)):
#0  0x00007f4e9fb7803a in g_mutex_get_impl () from /lib64/libglib-2.0.so.0
#1  0x00007f4e9fb782e9 in g_mutex_lock () from /lib64/libglib-2.0.so.0
#2  0x00007f4e9fb38d76 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#3  0x00007f4e9fb391f8 in g_main_context_iterate.isra.22 () from /lib64/libglib-2.0.so.0
#4  0x00007f4e9fb3929c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#5  0x00007f4ea4dfbcd6 in QEventDispatcherGlib::processEvents (this=0x7f4e6c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007f4ea4dcdbdf in QEventLoop::processEvents (this=this@entry=0x7f4e769c6d20, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f4ea4dcded5 in QEventLoop::exec (this=this@entry=0x7f4e769c6d20, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f4ea4ccd62f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#9  0x00007f4ea4ccfccf in QThreadPrivate::start (arg=0x1c4a430) at thread/qthread_unix.cpp:338
#10 0x00007f4ea4a40c53 in start_thread (arg=0x7f4e769c7700) at pthread_create.c:308
#11 0x00007f4ea2fb5ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f4e761c6700 (LWP 1472)):
#0  0x00007f4e9fb36699 in g_source_iter_next () from /lib64/libglib-2.0.so.0
#1  0x00007f4e9fb387db in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#2  0x00007f4e9fb390b3 in g_main_context_iterate.isra.22 () from /lib64/libglib-2.0.so.0
#3  0x00007f4e9fb3929c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#4  0x00007f4ea4dfbcd6 in QEventDispatcherGlib::processEvents (this=0x7f4e680008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f4ea4dcdbdf in QEventLoop::processEvents (this=this@entry=0x7f4e761c5ce0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f4ea4dcded5 in QEventLoop::exec (this=this@entry=0x7f4e761c5ce0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f4ea4ccd62f in QThread::exec (this=this@entry=0x1cbece0) at thread/qthread.cpp:542
#8  0x00007f4ea4daf443 in QInotifyFileSystemWatcherEngine::run (this=0x1cbece0) at io/qfilesystemwatcher_inotify.cpp:256
#9  0x00007f4ea4ccfccf in QThreadPrivate::start (arg=0x1cbece0) at thread/qthread_unix.cpp:338
#10 0x00007f4ea4a40c53 in start_thread (arg=0x7f4e761c6700) at pthread_create.c:308
#11 0x00007f4ea2fb5ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f4ea7c238c0 (LWP 1402)):
[KCrash Handler]
#6  QCoreApplication::postEvent (receiver=0x1dd4950, event=0x1e4bfb0, priority=0) at kernel/qcoreapplication.cpp:1346
#7  0x00007f4e7490fa34 in TransactionWatcher::transactionListChanged(QStringList const&) () from /usr/lib64/kde4/kded_apperd.so
#8  0x00007f4ea4de2adc in QMetaObject::activate (sender=0x1e391c0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff61396c70) at kernel/qobject.cpp:3539
#9  0x00007f4e746d7195 in PackageKit::Daemon::transactionListChanged(QStringList const&) () from /lib64/libpackagekit-qt2.so.6
#10 0x00007f4e746d9315 in PackageKit::Daemon::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /lib64/libpackagekit-qt2.so.6
#11 0x00007f4ea4de2adc in QMetaObject::activate (sender=0x1e49010, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff61396df0) at kernel/qobject.cpp:3539
#12 0x00007f4e746e9425 in DaemonProxy::TransactionListChanged(QStringList const&) () from /lib64/libpackagekit-qt2.so.6
#13 0x00007f4e746e9724 in DaemonProxy::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /lib64/libpackagekit-qt2.so.6
#14 0x00007f4e746ea60f in DaemonProxy::qt_metacall(QMetaObject::Call, int, void**) () from /lib64/libpackagekit-qt2.so.6
#15 0x00007f4ea5159126 in QDBusConnectionPrivate::deliverCall (this=0x1c339e0, object=0x1e49010, msg=..., metaTypes=..., slotIdx=8) at qdbusintegrator.cpp:951
#16 0x00007f4ea4de6e4e in QObject::event (this=0x1e49010, e=<optimized out>) at kernel/qobject.cpp:1194
#17 0x00007f4ea5ca246c in QApplicationPrivate::notify_helper (this=this@entry=0x1a61dc0, receiver=receiver@entry=0x1e49010, e=e@entry=0x1b8e8b0) at kernel/qapplication.cpp:4562
#18 0x00007f4ea5ca8a30 in QApplication::notify (this=this@entry=0x7fff613978e0, receiver=receiver@entry=0x1e49010, e=e@entry=0x1b8e8b0) at kernel/qapplication.cpp:4348
#19 0x00007f4ea69c2f0a in KApplication::notify (this=0x7fff613978e0, receiver=0x1e49010, event=0x1b8e8b0) at /usr/src/debug/kdelibs-4.10.3/kdeui/kernel/kapplication.cpp:311
#20 0x00007f4ea4dcef7d in QCoreApplication::notifyInternal (this=0x7fff613978e0, receiver=receiver@entry=0x1e49010, event=event@entry=0x1b8e8b0) at kernel/qcoreapplication.cpp:949
#21 0x00007f4ea4dd1d3f in sendEvent (event=0x1b8e8b0, receiver=0x1e49010) at kernel/qcoreapplication.h:231
#22 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x1a2dfe0) at kernel/qcoreapplication.cpp:1573
#23 0x00007f4ea4dd21e3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1466
#24 0x00007f4ea4dfc2d3 in sendPostedEvents () at kernel/qcoreapplication.h:236
#25 postEventSourceDispatch (s=0x1a63200) at kernel/qeventdispatcher_glib.cpp:279
#26 0x00007f4e9fb38ea6 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#27 0x00007f4e9fb391f8 in g_main_context_iterate.isra.22 () from /lib64/libglib-2.0.so.0
#28 0x00007f4e9fb3929c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#29 0x00007f4ea4dfbcb5 in QEventDispatcherGlib::processEvents (this=0x1a2f940, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#30 0x00007f4ea5d3ed76 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#31 0x00007f4ea4dcdbdf in QEventLoop::processEvents (this=this@entry=0x7fff613977b0, flags=...) at kernel/qeventloop.cpp:149
#32 0x00007f4ea4dcded5 in QEventLoop::exec (this=this@entry=0x7fff613977b0, flags=...) at kernel/qeventloop.cpp:204
#33 0x00007f4ea4dd2fbb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1221
#34 0x00007f4ea5ca0c2c in QApplication::exec () at kernel/qapplication.cpp:3823
#35 0x00007f4ea7834aab in kdemain (argc=1, argv=0x7fff61397a28) at /usr/src/debug/kdelibs-4.10.3/kded/kded.cpp:925
#36 0x00007f4ea2ee2b75 in __libc_start_main (main=0x4007e0 <main(int, char**)>, argc=1, ubp_av=0x7fff61397a28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff61397a18) at libc-start.c:258
#37 0x0000000000400811 in _start ()

Reported using DrKonqi
Comment 1 Kevin Kofler 2013-05-18 01:49:39 UTC
Reassigning to apper because this crashes in kded_apperd.
Comment 2 Daniel Nicoletti 2013-05-20 14:27:09 UTC
Can you please attach a backtrace with apper and packagekit-qt debug symbols?

Thanks
Comment 3 Rex Dieter 2013-05-20 14:51:44 UTC
Looks like it was a crash in PackageKit's yum backend, and a fix for that was found.

Given that, ideally kded shouldn't crash if packagekitd goes down too... would you still be interested in another/better backtrace?
Comment 4 Daniel Nicoletti 2013-05-20 14:59:42 UTC
Yes, I was pretty sure the backend crashed which will trigger that signal, I just have no clue of why/where it crashed, so if a better backtrace can fix the crash kded would not crash in case of another backend/packagekitd bug.
Comment 5 Rex Dieter 2013-05-20 15:04:38 UTC
OK, I think I can generate another one here in a bit.
Comment 6 Rex Dieter 2013-05-20 15:57:11 UTC
Created attachment 79975 [details]
New crash information added by DrKonqi

kded4 (4.10.3) on KDE Platform 4.10.3 using Qt 4.8.4

- What I was doing when the application crashed:

installing update that includes unicode characters in pkg description that triggered crash in PackageKit-yum backend

-- Backtrace (Reduced):
#6  QCoreApplication::postEvent (receiver=0xd22ab0, event=0xc5b1c0, priority=0) at kernel/qcoreapplication.cpp:1346
#7  0x00007f6789905d14 in TransactionWatcher::transactionListChanged (this=0xa49fb0, tids=...) at /usr/src/debug/apper-0.8.1/apperd/TransactionWatcher.cpp:82
[...]
#9  0x00007f67896cbe25 in PackageKit::Daemon::transactionListChanged (this=this@entry=0xcc43b0, _t1=...) at /usr/src/debug/PackageKit-Qt-0.8.8/x86_64-redhat-linux-gnu/src/daemon.moc:307
#10 0x00007f67896ceac2 in PackageKit::Daemon::qt_static_metacall (_o=0xcc43b0, _c=<optimized out>, _id=<optimized out>, _a=0x7fffd556b9d0) at /usr/src/debug/PackageKit-Qt-0.8.8/x86_64-redhat-linux-gnu/src/daemon.moc:159
[...]
#12 0x00007f67896de995 in DaemonProxy::TransactionListChanged (this=this@entry=0xcd2130, _t1=...) at /usr/src/debug/PackageKit-Qt-0.8.8/x86_64-redhat-linux-gnu/src/daemonproxy.moc:219
Comment 7 Rex Dieter 2013-06-24 18:33:47 UTC
This should be fixed in git master/ branch now.