Bug 524870

Summary: KDEPIM still segfaults on LDAP auto-lookup
Product: [Fedora] Fedora Reporter: David Mair <dmair>
Component: kdepimAssignee: Lukáš Tinkl <ltinkl>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: high    
Version: 10CC: fedora, ggr.seaton, jgrulich, jreznik, kevin, lorenzo, ltinkl, rdieter, smparrish, than
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 4.3.1-5.fc10 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-09-25 20:05:35 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description David Mair 2009-09-22 14:31:10 UTC
Description of problem:
According to KDEPIM upstream this bug is resolved and checking the changelog for kdepim-4.3.1-4.fc10.x86_64 we pulled in the fix from upstream; however, it is still segfaulting on LDAP address auto lookups. I can reproduce the problem pretty readily.  This renders the application nearly useless since you can't look up e-mail addresses or the

Version-Release number of selected component (if applicable):
kdepim-4.3.1-4.fc10.x86_64

How reproducible:
Very

Steps to Reproduce:
1. Start kdepim with ldap lookup configured
2. Start a new e-mail or add new e-mail addresses to a reply
3. kdepim will segfault
  
Actual results:
Segfault

Expected results:
Auto lookup should complete without error

Additional info:
I have a backtrace from the latest kdepim (doesn't appear to be an updated debuginfo package so hopefully this backtrace is good).  Please let me know if I can help with additional testing and/or debugging.

Application: Kontact (kontact), signal: Segmentation fault
[KCrash Handler]
#5  0x00007fa3f8f26b85 in KPIM::AddresseeLineEdit::slotLDAPSearchData () from /usr/lib64/libkdepim.so.4
#6  0x00007fa3f8f27b7c in KPIM::AddresseeLineEdit::qt_metacall () from /usr/lib64/libkdepim.so.4
#7  0x00007fa3eb68d4bd in ?? () from /usr/lib64/libkmailprivate.so.4
#8  0x00007fa3eb6feccd in ?? () from /usr/lib64/libkmailprivate.so.4
#9  0x000000302bb58f52 in QMetaObject::activate () from /usr/lib64/libQtCore.so.4
#10 0x00007fa3f8f2a905 in KPIM::LdapSearch::searchData () from /usr/lib64/libkdepim.so.4
#11 0x00007fa3f8f2da21 in KPIM::LdapSearch::slotDataTimer () from /usr/lib64/libkdepim.so.4
#12 0x00007fa3f8f2daa5 in KPIM::LdapSearch::finish () from /usr/lib64/libkdepim.so.4
#13 0x00007fa3f8f30408 in KPIM::LdapSearch::qt_metacall () from /usr/lib64/libkdepim.so.4
#14 0x000000302bb58f52 in QMetaObject::activate () from /usr/lib64/libQtCore.so.4
#15 0x00007fa3f8f2aff9 in KPIM::LdapClient::slotDone () from /usr/lib64/libkdepim.so.4
#16 0x00007fa3f8f30b50 in KPIM::LdapClient::qt_metacall () from /usr/lib64/libkdepim.so.4
#17 0x000000302bb58f52 in QMetaObject::activate () from /usr/lib64/libQtCore.so.4
#18 0x0000003b934eee52 in KJob::result (this=0x13f6850, _t1=0x2745370) at /usr/src/debug/kdelibs-4.3.1/x86_64-redhat-linux-gnu/kdecore/kjob.moc:188
#19 0x0000003b934ef1cf in KJob::emitResult (this=0x2745370) at /usr/src/debug/kdelibs-4.3.1/kdecore/jobs/kjob.cpp:304
#20 0x0000003b942f2080 in KIO::SimpleJob::slotFinished (this=0x2745370) at /usr/src/debug/kdelibs-4.3.1/kio/kio/job.cpp:477
#21 0x0000003b942f2533 in KIO::TransferJob::slotFinished (this=0x2745370) at /usr/src/debug/kdelibs-4.3.1/kio/kio/job.cpp:948
#22 0x0000003b942ed325 in KIO::TransferJob::qt_metacall (this=0x2745370, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff317320e0)
    at /usr/src/debug/kdelibs-4.3.1/x86_64-redhat-linux-gnu/kio/jobclasses.moc:343
#23 0x000000302bb58f52 in QMetaObject::activate () from /usr/lib64/libQtCore.so.4
#24 0x0000003b943afe61 in KIO::SlaveInterface::dispatch (this=0x153fb60, _cmd=104, rawdata=<value optimized out>) at /usr/src/debug/kdelibs-4.3.1/kio/kio/slaveinterface.cpp:175
#25 0x0000003b943ac9b2 in KIO::SlaveInterface::dispatch (this=0x153fb60) at /usr/src/debug/kdelibs-4.3.1/kio/kio/slaveinterface.cpp:91
#26 0x0000003b9439f533 in KIO::Slave::gotInput (this=0x153fb60) at /usr/src/debug/kdelibs-4.3.1/kio/kio/slave.cpp:322
#27 0x0000003b943a1798 in KIO::Slave::qt_metacall (this=0x153fb60, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff31732500) at /usr/src/debug/kdelibs-4.3.1/x86_64-redhat-linux-gnu/kio/slave.moc:76
#28 0x000000302bb58f52 in QMetaObject::activate () from /usr/lib64/libQtCore.so.4
#29 0x0000003b942bac21 in KIO::ConnectionPrivate::dequeue (this=0x26ca1f0) at /usr/src/debug/kdelibs-4.3.1/kio/kio/connection.cpp:82
#30 0x0000003b942bb07a in KIO::Connection::qt_metacall (this=0x153bfd0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x27456e0)
    at /usr/src/debug/kdelibs-4.3.1/x86_64-redhat-linux-gnu/kio/connection.moc:73
#31 0x000000302bb540d8 in QObject::event () from /usr/lib64/libQtCore.so.4
#32 0x000000302d39008d in QApplicationPrivate::notify_helper () from /usr/lib64/libQtGui.so.4
#33 0x000000302d3982ca in QApplication::notify () from /usr/lib64/libQtGui.so.4
#34 0x0000003b93c134ab in KApplication::notify (this=0x7fff31732f60, receiver=0x153bfd0, event=0x26c1640) at /usr/src/debug/kdelibs-4.3.1/kdeui/kernel/kapplication.cpp:302
#35 0x000000302bb4407c in QCoreApplication::notifyInternal () from /usr/lib64/libQtCore.so.4
#36 0x000000302bb44cea in QCoreApplicationPrivate::sendPostedEvents () from /usr/lib64/libQtCore.so.4
#37 0x000000302bb6d903 in ?? () from /usr/lib64/libQtCore.so.4
#38 0x0000003bcd8377bb in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#39 0x0000003bcd83af8d in ?? () from /lib64/libglib-2.0.so.0
#40 0x0000003bcd83b14b in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#41 0x000000302bb6d58f in QEventDispatcherGlib::processEvents () from /usr/lib64/libQtCore.so.4
#42 0x000000302d4274cf in ?? () from /usr/lib64/libQtGui.so.4
#43 0x000000302bb42912 in QEventLoop::processEvents () from /usr/lib64/libQtCore.so.4
#44 0x000000302bb42ce4 in QEventLoop::exec () from /usr/lib64/libQtCore.so.4
#45 0x000000302bb44fb4 in QCoreApplication::exec () from /usr/lib64/libQtCore.so.4
#46 0x00000000004045f5 in main (argc=1, argv=0x7fff31733648) at /usr/src/debug/kdepim-4.3.1/kontact/src/main.cpp:218

Comment 1 Lukáš Tinkl 2009-09-22 14:50:36 UTC
https://admin.fedoraproject.org/updates/F10/FEDORA-2009-9732 fixes that; please try that and reopen if the bug persists.

Comment 2 Lukáš Tinkl 2009-09-22 14:52:27 UTC
Hmm looking at the bug description you do seem to have the latest version, I'll look into that.

Comment 3 David Mair 2009-09-22 15:34:36 UTC
I was about to say. :-)  I've also found a work-around but it's very cumbersome. It's better than having Kontact segfault on you.  Instead of typing the e-mail address/name in the the to/cc/bcc lines, press the "select" button to the far right.  In the pop-up window click the "search directory service" button.  Enter the name you want to search for.  Select your name and then click "add selected".  Like I said, it's cumbersome but better than having the app segfault on you.

Comment 4 George 2009-09-23 01:51:16 UTC
Just to add that with the latest kdepim in F11 the ldap lookup also segfaults (i386).  I had reported it upstream and had been told it had been fixed,

kdepim-4.3.1-4.fc11.i586

Comment 5 Rex Dieter 2009-09-23 02:23:01 UTC
ok, verified we have the patch upstream recommended, apparently we're seeing something new/different.  Without a usable backtrace, it's hard to know for sure.

Maybe this?
http://websvn.kde.org/branches/KDE/4.3/kdepim/libkdepim/addresseelineedit.cpp?r1=1019119&r2=1019358

another post-4.3.1 crasher.

Comment 6 David Mair 2009-09-23 14:16:16 UTC
I can't comment on the diff, myself, however, I'm willing to try to test/debug however I can.  The backtrace did look a little lighter than the previous backtraces I had before updating to the latest kdepim.  Perhaps this is a stupid question but should there be an updated kdepim-debuginfo package to go along with the latest update?  KCrashhandler seems to be indicating that it's not getting a full backtrace.  I wonder if there are symbols missing...

Comment 7 Rex Dieter 2009-09-23 14:26:15 UTC
new -debuginfo are available yes, but these don't get upgraded automatically.  you'll likely need to do:

debuginfo-install kdepim

to get it.

Comment 8 David Mair 2009-09-23 15:19:14 UTC
Okay, here's a new backtrace with the updated kdepim-debuginfo installed.  I should also note some reproducer nuances.  I can reproduce the segfault at will when working in offline mode.  I have Kmail setup with a DIMAP account so that I can work on and offline.  When I'm in offline and attempt to add an e-mail address to an e-mail Kontact will segfault immediately.  What I have noticed since updating to the latest kdepim is that I cannot reproduce this problem consistently when I'm working in online mode.  Sometime it will segfault on the first attempt to resolve an e-mail address sometimes it will be on subsequent attempts.

Application: Kontact (kontact), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fb43ce68810 (LWP 4487))]

Thread 2 (Thread 0x7fb427c99950 (LWP 4528)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x000000302ba5b597 in QWaitConditionPrivate::wait () at thread/qwaitcondition_unix.cpp:85
#2  QWaitCondition::wait (this=0x2802e38, mutex=0x2802e30, time=30000) at thread/qwaitcondition_unix.cpp:159
#3  0x000000302ba51239 in QThreadPoolThread::run (this=0x2802530) at concurrent/qthreadpool.cpp:140
#4  0x000000302ba5a5d5 in QThreadPrivate::start (arg=0x2802530) at thread/qthread_unix.cpp:188
#5  0x00000035e3c073da in start_thread (arg=<value optimized out>) at pthread_create.c:297
#6  0x00000035e30e62bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 1 (Thread 0x7fb43ce68810 (LWP 4487)):
[KCrash Handler]
#5  QListWidgetItem::text () at /usr/include/QtGui/qlistwidget.h:90
#6  KPIM::AddresseeLineEdit::slotLDAPSearchData (this=<value optimized out>, adrs=<value optimized out>) at /usr/src/debug/kdepim-4.3.1/libkdepim/addresseelineedit.cpp:820
#7  0x00007fb43cf35b7c in KPIM::AddresseeLineEdit::qt_metacall (this=0x1a405a0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff87510340)
    at /usr/src/debug/kdepim-4.3.1/x86_64-redhat-linux-gnu/libkdepim/addresseelineedit.moc:95
#8  0x00007fb42f69b4bd in KMLineEdit::qt_metacall (this=0x1a859c0, _c=QMetaObject::InvokeMetaMethod, _id=27810240, _a=0x1)
    at /usr/src/debug/kdepim-4.3.1/x86_64-redhat-linux-gnu/kmail/kmlineeditspell.moc:68
#9  0x00007fb42f70cccd in RecipientLineEdit::qt_metacall (this=0x1a859c0, _c=QMetaObject::InvokeMetaMethod, _id=27810240, _a=0x1)
    at /usr/src/debug/kdepim-4.3.1/x86_64-redhat-linux-gnu/kmail/recipientseditor.moc:123
#10 0x000000302bb58f52 in QMetaObject::activate (sender=0x1b08c10, from_signal_index=<value optimized out>, to_signal_index=5, argv=0x1) at kernel/qobject.cpp:3113
#11 0x00007fb43cf38905 in KPIM::LdapSearch::searchData (this=0x1a859c0, _t1=<value optimized out>) at /usr/src/debug/kdepim-4.3.1/x86_64-redhat-linux-gnu/libkdepim/ldapclient.moc:205
#12 0x00007fb43cf3ba21 in KPIM::LdapSearch::slotDataTimer (this=0x1b08c10) at /usr/src/debug/kdepim-4.3.1/libkdepim/ldapclient.cpp:465
#13 0x00007fb43cf3baa5 in KPIM::LdapSearch::finish (this=0x1b08c10) at /usr/src/debug/kdepim-4.3.1/libkdepim/ldapclient.cpp:472
#14 0x00007fb43cf3e408 in KPIM::LdapSearch::qt_metacall (this=0x1b08c10, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff87510460)
    at /usr/src/debug/kdepim-4.3.1/x86_64-redhat-linux-gnu/libkdepim/ldapclient.moc:184
#15 0x000000302bb58f52 in QMetaObject::activate (sender=0x1f78ad0, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x1) at kernel/qobject.cpp:3113
#16 0x00007fb43cf38ff9 in KPIM::LdapClient::slotDone (this=0x1f78ad0) at /usr/src/debug/kdepim-4.3.1/libkdepim/ldapclient.cpp:119
#17 0x00007fb43cf3eb50 in KPIM::LdapClient::qt_metacall (this=0x1f78ad0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff87510600)
    at /usr/src/debug/kdepim-4.3.1/x86_64-redhat-linux-gnu/libkdepim/ldapclient.moc:92
#18 0x000000302bb58f52 in QMetaObject::activate (sender=0x2bb6280, from_signal_index=<value optimized out>, to_signal_index=7, argv=0x1) at kernel/qobject.cpp:3113
#19 0x0000003b934eee52 in KJob::result (this=0x1a859c0, _t1=0x2bb6280) at /usr/src/debug/kdelibs-4.3.1/x86_64-redhat-linux-gnu/kdecore/kjob.moc:188
#20 0x0000003b934ef1cf in KJob::emitResult (this=0x2bb6280) at /usr/src/debug/kdelibs-4.3.1/kdecore/jobs/kjob.cpp:304
#21 0x0000003b942f2080 in KIO::SimpleJob::slotFinished (this=0x2bb6280) at /usr/src/debug/kdelibs-4.3.1/kio/kio/job.cpp:477
#22 0x0000003b942f2533 in KIO::TransferJob::slotFinished (this=0x2bb6280) at /usr/src/debug/kdelibs-4.3.1/kio/kio/job.cpp:948
#23 0x0000003b942ed325 in KIO::TransferJob::qt_metacall (this=0x2bb6280, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff87510a00)
    at /usr/src/debug/kdelibs-4.3.1/x86_64-redhat-linux-gnu/kio/jobclasses.moc:343
#24 0x000000302bb58f52 in QMetaObject::activate (sender=0x1947770, from_signal_index=<value optimized out>, to_signal_index=8, argv=0x1) at kernel/qobject.cpp:3113
#25 0x0000003b943afe61 in KIO::SlaveInterface::dispatch (this=0x1947770, _cmd=104, rawdata=<value optimized out>) at /usr/src/debug/kdelibs-4.3.1/kio/kio/slaveinterface.cpp:175
#26 0x0000003b943ac9b2 in KIO::SlaveInterface::dispatch (this=0x1947770) at /usr/src/debug/kdelibs-4.3.1/kio/kio/slaveinterface.cpp:91
#27 0x0000003b9439f533 in KIO::Slave::gotInput (this=0x1947770) at /usr/src/debug/kdelibs-4.3.1/kio/kio/slave.cpp:322
#28 0x0000003b943a1798 in KIO::Slave::qt_metacall (this=0x1947770, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff87510e20) at /usr/src/debug/kdelibs-4.3.1/x86_64-redhat-linux-gnu/kio/slave.moc:76
#29 0x000000302bb58f52 in QMetaObject::activate (sender=0x2b27ad0, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x1) at kernel/qobject.cpp:3113
#30 0x0000003b942bac21 in KIO::ConnectionPrivate::dequeue (this=0x2bb5490) at /usr/src/debug/kdelibs-4.3.1/kio/kio/connection.cpp:82
#31 0x0000003b942bb07a in KIO::Connection::qt_metacall (this=0x2b27ad0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x291eb50)
    at /usr/src/debug/kdelibs-4.3.1/x86_64-redhat-linux-gnu/kio/connection.moc:73
#32 0x000000302bb540d8 in QObject::event (this=0x2b27ad0, e=0x2b27f00) at kernel/qobject.cpp:1111
#33 0x000000302d39008d in QApplicationPrivate::notify_helper (this=0x119b890, receiver=0x2b27ad0, e=0x2b27f00) at kernel/qapplication.cpp:4056
#34 0x000000302d3982ca in QApplication::notify (this=0x7fff87511880, receiver=0x2b27ad0, e=0x2b27f00) at kernel/qapplication.cpp:4021
#35 0x0000003b93c134ab in KApplication::notify (this=0x7fff87511880, receiver=0x2b27ad0, event=0x2b27f00) at /usr/src/debug/kdelibs-4.3.1/kdeui/kernel/kapplication.cpp:302
#36 0x000000302bb4407c in QCoreApplication::notifyInternal (this=0x7fff87511880, receiver=0x2b27ad0, event=0x2b27f00) at kernel/qcoreapplication.cpp:610
#37 0x000000302bb44cea in QCoreApplication::sendEvent () at kernel/qcoreapplication.h:213
#38 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1169850) at kernel/qcoreapplication.cpp:1247
#39 0x000000302bb6d903 in QCoreApplication::sendPostedEvents () at kernel/qcoreapplication.h:218
#40 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:210
#41 0x0000003bcd8377bb in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#42 0x0000003bcd83af8d in ?? () from /lib64/libglib-2.0.so.0
#43 0x0000003bcd83b14b in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#44 0x000000302bb6d58f in QEventDispatcherGlib::processEvents (this=0x1169110, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#45 0x000000302d4274cf in QGuiEventDispatcherGlib::processEvents (this=0x1a859c0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#46 0x000000302bb42912 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#47 0x000000302bb42ce4 in QEventLoop::exec (this=0x7fff875117e0, flags=) at kernel/qeventloop.cpp:201
#48 0x000000302bb44fb4 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#49 0x00000000004045f5 in main (argc=1, argv=0x7fff87511f68) at /usr/src/debug/kdepim-4.3.1/kontact/src/main.cpp:218

Comment 9 David Mair 2009-09-23 15:22:21 UTC
Let me know if you want me to run kdepim through gdb if that would help or if there's anything else I can do.

Comment 10 Rex Dieter 2009-09-23 15:38:54 UTC
dang, looking over it quickly, it seems to match the backtrace in 
http://bugs.kde.org/show_bug.cgi?id=206024

I'd recommend commenting on the upstream bug, mentioning your use of an already patched kdepim, and include your own backtrace for posterity.

Comment 11 David Mair 2009-09-23 17:15:46 UTC
Please note the most recent comments in the upstream bug.  It appears we're missing part of the fix. :-/

Comment 12 David Mair 2009-09-23 17:17:47 UTC
Probably should have been more specific -- comments 30-32 in the upstream bug linked to this one.

Comment 13 Rex Dieter 2009-09-23 17:22:23 UTC
got it (we're subscribed there too). :)

Comment 14 Fedora Update System 2009-09-25 20:05:27 UTC
kdepim-4.3.1-5.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 15 Fedora Update System 2009-09-25 20:10:26 UTC
kdepim-4.3.1-5.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.