Version: (using KDE 3.0.0) Compiler: gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110) OS: Linux (i686) release 2.4.19 RH 7.3 Kernel 2.4.19 KDE 3.0 Removed RH kpilot and pilot-link Using kpilot 3.0-4.3.8 --prefix=/usr (RHism) pilot-link 0.11.7 Palm V PalmOS 3.3 When ever I try to sync KOrganizer the Kpilotdaemon crashes. [New Thread 1024 (LWP 2359)] 0x420b4769 in wait4 () from /lib/i686/libc.so.6 #0 0x420b4769 in wait4 () from /lib/i686/libc.so.6 #1 0x4213030c in __DTOR_END__ () from /lib/i686/libc.so.6 #2 0x40ea5ca3 in waitpid () from /lib/i686/libpthread.so.0 #3 0x4062b8d2 in KCrash::defaultCrashHandler () from /usr/lib/libkdecore-gcc2.96.so.4 #4 0x40ea3f75 in pthread_sighandler () from /lib/i686/libpthread.so.0 #5 <signal handler called> #6 0x413a2271 in VCalConduitPrivate::updateIncidences () from /usr/lib/kde3/libvcalconduit.so.0 #7 0x4139af26 in VCalConduitBase::openCalendar () from /usr/lib/kde3/libvcalconduit.so.0 #8 0x413994f7 in VCalConduitBase::exec () from /usr/lib/kde3/libvcalconduit.so.0 #9 0x40efd548 in SyncAction::execConduit () from /usr/lib/libkpilot.so.0 #10 0x40efbe61 in SyncAction::qt_invoke () from /usr/lib/libkpilot.so.0 #11 0x40ef5540 in ConduitAction::qt_invoke () from /usr/lib/libkpilot.so.0 #12 0x41397b9b in VCalConduitBase::qt_invoke () from /usr/lib/kde3/libvcalconduit.so.0 #13 0x413a20f4 in VCalConduit::qt_invoke () from /usr/lib/kde3/libvcalconduit.so.0 #14 0x40938ec7 in QObject::activate_signal () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #15 0x40c315ac in QSignal::signal () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #16 0x4094ed04 in QSignal::activate () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #17 0x4095488b in QSingleShotTimer::event () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #18 0x408d8ff3 in QApplication::internalNotify () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #19 0x408d8e8c in QApplication::notify () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #20 0x40590f1b in KApplication::notify () from /usr/lib/libkdecore-gcc2.96.so.4 #21 0x40880339 in qt_activate_timers () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #22 0x4087dec4 in QApplication::processNextEvent () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #23 0x408da4bc in QApplication::enter_loop () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #24 0x4087d637 in QApplication::exec () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #25 0x0805f803 in main () #26 0x42017499 in __libc_start_main () from /lib/i686/libc.so.6
Debug Stacktrace [New Thread 1024 (LWP 20725)] 0x420b4769 in wait4 () from /lib/i686/libc.so.6 #0 0x420b4769 in wait4 () from /lib/i686/libc.so.6 #1 0x4213030c in __DTOR_END__ () from /lib/i686/libc.so.6 #2 0x40ea5ca3 in waitpid () from /lib/i686/libpthread.so.0 #3 0x4062b8d2 in KCrash::defaultCrashHandler () from /usr/lib/libkdecore-gcc2.96.so.4 #4 0x40ea3f75 in pthread_sighandler () from /lib/i686/libpthread.so.0 #5 <signal handler called> #6 0x4136261a in VCalConduitPrivate::updateIncidences (this=0x81acaf8) at vcal-conduit.cc:90 #7 0x4135f981 in VCalConduitBase::openCalendar (this=0x815e1a8) at vcal-conduitbase.cc:341 #8 0x4135f0a1 in VCalConduitBase::exec (this=0x815e1a8) at vcal-conduitbase.cc:245 #9 0x40ef9668 in SyncAction::execConduit (this=0x815e1a8) at syncAction.cc:91 #10 0x40ef8d8f in SyncAction::qt_invoke (this=0x815e1a8, _id=2, _o=0xbffff440) at syncAction.moc:146 #11 0x40ef644d in ConduitAction::qt_invoke (this=0x815e1a8, _id=2, _o=0xbffff440) at plugin.moc:146 #12 0x4135e6e9 in VCalConduitBase::qt_invoke (this=0x815e1a8, _id=2, _o=0xbffff440) at vcal-conduitbase.moc:92 #13 0x41362431 in VCalConduit::qt_invoke (this=0x815e1a8, _id=2, _o=0xbffff440) at vcal-conduit.moc:76 #14 0x40938ec7 in QObject::activate_signal () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #15 0x40c315ac in QSignal::signal () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #16 0x4094ed04 in QSignal::activate () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #17 0x4095488b in QSingleShotTimer::event () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #18 0x408d8ff3 in QApplication::internalNotify () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #19 0x408d8e8c in QApplication::notify () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #20 0x40590f1b in KApplication::notify () from /usr/lib/libkdecore-gcc2.96.so.4 #21 0x40880339 in qt_activate_timers () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #22 0x4087dec4 in QApplication::processNextEvent () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #23 0x408da4bc in QApplication::enter_loop () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #24 0x4087d637 in QApplication::exec () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #25 0x0805690c in main (argc=1, argv=0xbffffc74) at pilotDaemon.cc:900 #26 0x42017499 in __libc_start_main () from /lib/i686/libc.so.6
Subject: kdepim/kpilot/conduits/vcalconduit CVS commit by kainhofe: Added a few checks for 0L pointers. A messed up configuration (e.g. because the conduit's config dialog changed) could have lead to crashes as in bug #56454. CCMAIL: 56454-done@bugs.kde.org M +8 -5 vcal-conduit.cc 1.89 M +7 -1 vcal-conduitbase.cc 1.37 M +0 -5 vcal-setup.cc 1.29 --- kdepim/kpilot/conduits/vcalconduit/vcal-conduit.cc #1.88:1.89 @@ -80,4 +80,6 @@ void VCalConduitPrivate::addIncidence(KC int VCalConduitPrivate::updateIncidences() { + FUNCTIONSETUP; + if (!fCalendar) return 0; fAllEvents = fCalendar->events(); fAllEvents.setAutoDelete(false); @@ -90,4 +92,5 @@ void VCalConduitPrivate::removeIncidence // use dynamic_cast which returns a null pointer if the class does not match... fAllEvents.remove(dynamic_cast<KCal::Event*>(e)); + if (!fCalendar) return 0; fCalendar->deleteEvent(dynamic_cast<KCal::Event*>(e)); } --- kdepim/kpilot/conduits/vcalconduit/vcal-conduitbase.cc #1.36:1.37 @@ -348,4 +348,10 @@ error: } + if (!fCalendar) + { + kdWarning() <<k_funcinfo << "Unable to initialize calendar object. Please check the conduit's setup."<<endl; + emit logError(i18n("Unable to initialize the calendar object. Please check the conduit's setup")); + return false; + } fP = newVCalPrivate(fCalendar); if (!fP) return false; --- kdepim/kpilot/conduits/vcalconduit/vcal-setup.cc #1.28:1.29 @@ -38,5 +38,4 @@ #include <kconfig.h> -//#include <kfiledialog.h> #include <kurlrequester.h>