Bug 336392 - Kleopatra crashed when searching "Gael"
Summary: Kleopatra crashed when searching "Gael"
Status: RESOLVED UPSTREAM
Alias: None
Product: kleopatra
Classification: Applications
Component: general (show other bugs)
Version: 2.2.0
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: drkonqi
: 268630 321460 328844 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-06-18 13:35 UTC by Chen-Pang He
Modified: 2015-08-05 13:24 UTC (History)
8 users (show)

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 Chen-Pang He 2014-06-18 13:35:51 UTC
Application: kleopatra (2.2.0)
KDE Platform Version: 4.12.5
Qt Version: 4.8.6
Operating System: Linux 3.14.7-200.fc20.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
- What I was doing when the application crashed:
I clicked "Lookup Certificates on Server", searching "Gael", and then it crashed.

However it worked when I searched with other strings, such as "jdh8" and "Jitse".

The crash can be reproduced every time.

-- Backtrace:
Application: Kleopatra (kleopatra), 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 0x7f53ea49d8c0 (LWP 6460))]

Thread 5 (Thread 0x7f53de601700 (LWP 6463)):
#0  0x00000036d508a2ea in g_mutex_get_impl () from /lib64/libglib-2.0.so.0
#1  0x00000036d508a599 in g_mutex_lock () from /lib64/libglib-2.0.so.0
#2  0x00000036d504948d in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#3  0x00000036d50496dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#4  0x000000356a1b5a7e in QEventDispatcherGlib::processEvents (this=0x7f53d80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#5  0x000000356a18595f in QEventLoop::processEvents (this=this@entry=0x7f53de600cc0, flags=...) at kernel/qeventloop.cpp:149
#6  0x000000356a185cad in QEventLoop::exec (this=this@entry=0x7f53de600cc0, flags=...) at kernel/qeventloop.cpp:204
#7  0x000000356a079e8f in QThread::exec (this=this@entry=0x164a6f0) at thread/qthread.cpp:538
#8  0x000000356a1662e3 in QInotifyFileSystemWatcherEngine::run (this=0x164a6f0) at io/qfilesystemwatcher_inotify.cpp:265
#9  0x000000356a07c6bf in QThreadPrivate::start (arg=0x164a6f0) at thread/qthread_unix.cpp:349
#10 0x00000036d3007f33 in start_thread (arg=0x7f53de601700) at pthread_create.c:309
#11 0x00000036d28f4ded in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7f53dde00700 (LWP 6505)):
#0  0x000000356a1b7333 in constBegin (this=0x7f53d0001220) at ../../src/corelib/tools/qlist.h:269
#1  QTimerInfoList::timerWait (this=0x7f53d0001220, tm=...) at kernel/qeventdispatcher_unix.cpp:465
#2  0x000000356a1b590c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7f53dddffaf4) at kernel/qeventdispatcher_glib.cpp:143
#3  0x000000356a1b59d5 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:176
#4  0x00000036d5048bed in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#5  0x00000036d50494bb in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#6  0x00000036d50496dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#7  0x000000356a1b5a7e in QEventDispatcherGlib::processEvents (this=0x7f53d0002bd0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#8  0x000000356a18595f in QEventLoop::processEvents (this=this@entry=0x7f53dddffcc0, flags=...) at kernel/qeventloop.cpp:149
#9  0x000000356a185cad in QEventLoop::exec (this=this@entry=0x7f53dddffcc0, flags=...) at kernel/qeventloop.cpp:204
#10 0x000000356a079e8f in QThread::exec (this=this@entry=0x1693570) at thread/qthread.cpp:538
#11 0x000000356a1662e3 in QInotifyFileSystemWatcherEngine::run (this=0x1693570) at io/qfilesystemwatcher_inotify.cpp:265
#12 0x000000356a07c6bf in QThreadPrivate::start (arg=0x1693570) at thread/qthread_unix.cpp:349
#13 0x00000036d3007f33 in start_thread (arg=0x7f53dde00700) at pthread_create.c:309
#14 0x00000036d28f4ded in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f53dc8e6700 (LWP 6506)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x000000356a07cbd4 in wait (time=2000, this=0x1631da0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=this@entry=0x164e238, mutex=mutex@entry=0x164e230, time=time@entry=2000) at thread/qwaitcondition_unix.cpp:158
#3  0x00000000005c7400 in (anonymous namespace)::ReaderStatusThread::run (this=0x164e220) at /usr/src/debug/kdepim-4.12.5/kleopatra/smartcard/readerstatus.cpp:560
#4  0x000000356a07c6bf in QThreadPrivate::start (arg=0x164e220) at thread/qthread_unix.cpp:349
#5  0x00000036d3007f33 in start_thread (arg=0x7f53dc8e6700) at pthread_create.c:309
#6  0x00000036d28f4ded in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f53ceca8700 (LWP 6535)):
[KCrash Handler]
#6  gpg_keylist_preprocess (line=<optimized out>, r_line=0x7f53ceca77e0) at engine-gpg.c:2108
#7  0x00000036fee18224 in read_colon_line (gpg=0x7f53bc0025d0) at engine-gpg.c:1201
#8  colon_line_handler (opaque=<optimized out>, fd=<optimized out>) at engine-gpg.c:1249
#9  0x00000036fee09998 in _gpgme_run_io_cb (an_fds=0x7f53bc003808, checked=checked@entry=0, op_err=op_err@entry=0x7f53ceca78a0) at wait.c:219
#10 0x00000036fee0a2c4 in _gpgme_wait_on_condition (ctx=ctx@entry=0x1a47710, cond=cond@entry=0x7f53bc002df0, op_err_p=op_err_p@entry=0x0) at wait-private.c:115
#11 0x00000036fee110ab in gpgme_op_keylist_next (ctx=0x1a47710, r_key=0x7f53ceca7938) at keylist.c:957
#12 0x0000003a3021bce6 in GpgME::Context::nextKey (this=this@entry=0x1737220, e=...) at /usr/src/debug/kdepimlibs-4.12.5/gpgme++/context.cpp:490
#13 0x000000357e08fece in do_list_keys (ctx=ctx@entry=0x1737220, pats=..., keys=std::vector of length 202, capacity 256 = {...}, secretOnly=secretOnly@entry=false) at /usr/src/debug/kdepim-4.12.5/libkleo/backends/qgpgme/qgpgmekeylistjob.cpp:74
#14 0x000000357e090ddb in list_keys (ctx=0x1737220, pats=..., secretOnly=false) at /usr/src/debug/kdepim-4.12.5/libkleo/backends/qgpgme/qgpgmekeylistjob.cpp:87
#15 0x000000357e094380 in operator()<boost::tuples::tuple<GpgME::KeyListResult, std::vector<GpgME::Key>, QString, GpgME::Error>, boost::tuples::tuple<GpgME::KeyListResult, std::vector<GpgME::Key>, QString, GpgME::Error> (*)(GpgME::Context*, QStringList, bool), boost::_bi::list1<GpgME::Context*&> > (f=@0x1a4cb50: 0x357e090310 <list_keys(GpgME::Context*, QStringList, bool)>, a=<synthetic pointer>, this=0x1a4cb58) at /usr/include/boost/bind/bind.hpp:382
#16 operator()<GpgME::Context*> (a1=@0x1a4cb68: 0x1737220, this=0x1a4cb50) at /usr/include/boost/bind/bind_template.hpp:32
#17 operator()<boost::tuples::tuple<GpgME::KeyListResult, std::vector<GpgME::Key>, QString, GpgME::Error>, boost::_bi::bind_t<boost::tuples::tuple<GpgME::KeyListResult, std::vector<GpgME::Key>, QString, GpgME::Error>, boost::tuples::tuple<GpgME::KeyListResult, std::vector<GpgME::Key>, QString, GpgME::Error> (*)(GpgME::Context*, QStringList, bool), boost::_bi::list3<boost::arg<1>, boost::_bi::value<QStringList>, boost::_bi::value<bool> > >, boost::_bi::list0> (a=<synthetic pointer>, f=..., this=0x1a4cb68) at /usr/include/boost/bind/bind.hpp:243
#18 operator() (this=0x1a4cb50) at /usr/include/boost/bind/bind_template.hpp:20
#19 boost::detail::function::function_obj_invoker0<boost::_bi::bind_t<boost::_bi::unspecified, boost::_bi::bind_t<boost::tuples::tuple<GpgME::KeyListResult, std::vector<GpgME::Key, std::allocator<GpgME::Key> >, QString, GpgME::Error, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::tuples::tuple<GpgME::KeyListResult, std::vector<GpgME::Key, std::allocator<GpgME::Key> >, QString, GpgME::Error, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> (*)(GpgME::Context*, QStringList, bool), boost::_bi::list3<boost::arg<1>, boost::_bi::value<QStringList>, boost::_bi::value<bool> > >, boost::_bi::list1<boost::_bi::value<GpgME::Context*> > >, boost::tuples::tuple<GpgME::KeyListResult, std::vector<GpgME::Key, std::allocator<GpgME::Key> >, QString, GpgME::Error, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >::invoke (function_obj_ptr=...) at /usr/include/boost/function/function_template.hpp:132
#20 0x000000357e095582 in operator() (this=0x1a4b640) at /usr/include/boost/function/function_template.hpp:767
#21 Kleo::_detail::Thread<boost::tuples::tuple<GpgME::KeyListResult, std::vector<GpgME::Key, std::allocator<GpgME::Key> >, QString, GpgME::Error, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >::run (this=0x1a4b628) at /usr/src/debug/kdepim-4.12.5/libkleo/backends/qgpgme/threadedjobmixin.h:103
#22 0x000000356a07c6bf in QThreadPrivate::start (arg=0x1a4b628) at thread/qthread_unix.cpp:349
#23 0x00000036d3007f33 in start_thread (arg=0x7f53ceca8700) at pthread_create.c:309
#24 0x00000036d28f4ded in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f53ea49d8c0 (LWP 6460)):
#0  0x00000036d300e87d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00000036d50897b0 in g_wakeup_acknowledge () from /lib64/libglib-2.0.so.0
#2  0x00000036d504909c in g_main_context_check () from /lib64/libglib-2.0.so.0
#3  0x00000036d5049533 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#4  0x00000036d50496dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#5  0x000000356a1b5a5e in QEventDispatcherGlib::processEvents (this=0x1460c60, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#6  0x000000356c66cd86 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#7  0x000000356a18595f in QEventLoop::processEvents (this=this@entry=0x7fff278233b0, flags=...) at kernel/qeventloop.cpp:149
#8  0x000000356a185cad in QEventLoop::exec (this=this@entry=0x7fff278233b0, flags=...) at kernel/qeventloop.cpp:204
#9  0x000000356a18b399 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#10 0x000000356c5c94ec in QApplication::exec () at kernel/qapplication.cpp:3823
#11 0x000000000043a544 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kdepim-4.12.5/kleopatra/main.cpp:321

Reported using DrKonqi
Comment 1 Samir Nassar 2014-08-02 14:44:34 UTC
I can confirm this bug. I checked it with

Application: kleopatra (2.2.0)
Using KDE Development Platform 4.13.3
Qt Version: 4.8.6
Operating System: Linux 3.15.7-1-ARCH x86_64
Distribution: Arch linux packages

I reproduced the steps for the crash as described. Kleopatra crashes as described.

Bug confirmed.
Comment 2 Peter Möller 2014-10-28 12:53:28 UTC
Confirmed with different searchstring "cacert", "cert" works (with no results)

OpenSUSE 13.1 64bit
OS 3.11.10-21-desktop
KDE 4.11.5
QT 4.8.5
Comment 3 pm1707 2014-11-05 09:51:58 UTC
Confirmed crashes with "Denk" as well. (But not with "Denke", "Den", "Dank", "Danke".)

Win XP, SP 3
Gpg4Win 2.2.2
Comment 4 pm1707 2014-11-05 10:51:18 UTC
"McCoy" and "Lefebvre" as well.
Comment 5 Andre Heinecke 2015-06-05 11:57:54 UTC
This issue can be reproduced without kleopatra using gpgme directly. I've opened a Bug report with gpgme for this problem: https://bugs.gnupg.org/gnupg/issue1997
Comment 6 Andre Heinecke 2015-06-05 12:00:43 UTC
*** Bug 328844 has been marked as a duplicate of this bug. ***
Comment 7 Andre Heinecke 2015-06-05 12:03:15 UTC
*** Bug 321460 has been marked as a duplicate of this bug. ***
Comment 8 Pål Börje 2015-06-05 12:06:24 UTC
*  aheinecke@intevation.de*

   /Thanks for your message regarding [kleopatra] [Bug 336392] Kleopatra
   crashed when searching "Gael"/
   Your mail is now save at the mailserver.
   Note that it does not mean that the e-mail read yet.
   Due to illness, so it can actually *go a week* before the email is
   read.

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

   Notera att det inte innebär att e-posten lästs ännu.
   På grund av sjukdom, så kan det faktiskt *gå en vecka* innan e-posten
   läses.

   Regards

   paul@borje.com

   Fri, 05 Jun 2015 12:03:15 +0000
Comment 9 Andre Heinecke 2015-06-05 13:18:01 UTC
This is now fixed upstream. I've confirmed that all searches mentioned in the bugs here work now.
Thanks for the reports.

A fixed gpgme version will be included in Gpg4win 2.2.5
Comment 10 Pål Börje 2015-06-05 13:21:21 UTC
*  aheinecke@intevation.de*

   /Thanks for your message regarding [kleopatra] [Bug 336392] Kleopatra
   crashed when searching "Gael"/
   Your mail is now save at the mailserver.
   Note that it does not mean that the e-mail read yet.
   Due to illness, so it can actually *go a week* before the email is
   read.

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

   Notera att det inte innebär att e-posten lästs ännu.
   På grund av sjukdom, så kan det faktiskt *gå en vecka* innan e-posten
   läses.

   Regards

   paul@borje.com

   Fri, 05 Jun 2015 13:18:01 +0000
Comment 11 Andre Heinecke 2015-08-05 13:24:42 UTC
*** Bug 268630 has been marked as a duplicate of this bug. ***