Summary: | Kontact crashes when clicking on Calendar | ||
---|---|---|---|
Product: | [Frameworks and Libraries] Akonadi | Reporter: | Christophe Marin <christophe> |
Component: | KResource compat bridges | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | andresbajotierra, christiandehne, christoph.paasch, georg.wittenburg, krammer, mcguire, pahcixam |
Priority: | NOR | ||
Version: | 4.2 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Christophe Marin
2008-02-20 22:37:36 UTC
It crash because korganizer is crashing at startup. You shouldn't be able to start korganizer as a standalone application, right? *** This bug has been marked as a duplicate of 158092 *** *** Bug 172815 has been marked as a duplicate of this bug. *** *** Bug 177895 has been marked as a duplicate of this bug. *** *** Bug 179444 has been marked as a duplicate of this bug. *** Reopening, still happening in trunk. Ok, for me it is happening when I use the Akonadi resource (doesn't happen if I use the normal resources). I have sub-todos, if that plays a role here. Can be triggered always be switching from summary to calendar. Relevant valgrind log: ==27188== Invalid read of size 4 ==27188== at 0x4DBCFB0: KCal::Incidence::descriptionIsRich() const (incidence.cpp:389) ==27188== by 0x10D6B8F3: KOTodoModel::data(QModelIndex const&, int) const (kotodomodel.cpp:728) ==27188== by 0x62DF688: QSortFilterProxyModel::data(QModelIndex const&, int) const (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== by 0x10D71EAC: QModelIndex::data(int) const (qabstractitemmodel.h:367) ==27188== by 0x10D6FD33: KOTodoRichTextDelegate::sizeHint(QStyleOptionViewItem const&, QModelIndex const&) const (kotododelegates.cpp:466) ==27188== by 0x6295C28: QTreeView::indexRowSizeHint(QModelIndex const&) const (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== by 0x6295D6D: QTreeViewPrivate::itemHeight(int) const (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== by 0x6295EEE: QTreeViewPrivate::updateScrollBars() (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== by 0x6299879: QTreeView::updateGeometries() (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== by 0x625C625: QAbstractItemView::doItemsLayout() (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== by 0x62A2798: QTreeView::doItemsLayout() (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== by 0x6265A77: QAbstractItemView::timerEvent(QTimerEvent*) (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== Address 0xEB05454 is 20 bytes inside a block of size 28 free'd ==27188== at 0x4022156: operator delete(void*) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==27188== by 0x4DC54DF: KCal::Todo::~Todo() (todo.cpp:102) ==27188== by 0x4DF2AC1: void qDeleteAll<QHash<QString, KCal::Todo*>::const_iterator>(QHash<QString, KCal::Todo*>::const_iterator, QHash<QString, KCal::Todo*>::const_iterator) (qalgorithms.h:346) ==27188== by 0x4DF2B27: void qDeleteAll<QHash<QString, KCal::Todo*> >(QHash<QString, KCal::Todo*> const&) (qalgorithms.h:354) ==27188== by 0x4DED5F7: KCal::CalendarLocal::deleteAllTodos() (calendarlocal.cpp:294) ==27188== by 0x4DEF5CA: KCal::CalendarLocal::close() (calendarlocal.cpp:168) ==27188== by 0xF1849BF: KCal::ResourceAkonadi::doLoad(bool) (resourceakonadi.cpp:660) ==27188== by 0x4E2955D: KCal::ResourceCalendar::load() (resourcecalendar.cpp:168) ==27188== by 0x4E3919F: KCal::CalendarResources::load() (calendarresources.cpp:272) ==27188== by 0x10CC2F1E: KOrganizerPart::KOrganizerPart(QWidget*, QObject*, QList<QVariant> const&) (korganizer_part.cpp:88) ==27188== by 0x10CC3ECD: QObject* KPluginFactory::createPartInstance<KOrganizerPart>(QWidget*, QObject*, QList<QVariant> const&) (kpluginfactory.h:467) ==27188== by 0x59D1E17: KPluginFactory::create(char const*, QWidget*, QObject*, QList<QVariant> const&, QString const&) (kpluginfactory.cpp:191)==27188== Invalid read of size 4 ==27188== at 0x4DBCFB0: KCal::Incidence::descriptionIsRich() const (incidence.cpp:389) ==27188== by 0x10D6B8F3: KOTodoModel::data(QModelIndex const&, int) const (kotodomodel.cpp:728) ==27188== by 0x62DF688: QSortFilterProxyModel::data(QModelIndex const&, int) const (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== by 0x10D71EAC: QModelIndex::data(int) const (qabstractitemmodel.h:367) ==27188== by 0x10D6FD33: KOTodoRichTextDelegate::sizeHint(QStyleOptionViewItem const&, QModelIndex const&) const (kotododelegates.cpp:466) ==27188== by 0x6295C28: QTreeView::indexRowSizeHint(QModelIndex const&) const (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== by 0x6295D6D: QTreeViewPrivate::itemHeight(int) const (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== by 0x6295EEE: QTreeViewPrivate::updateScrollBars() (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== by 0x6299879: QTreeView::updateGeometries() (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== by 0x625C625: QAbstractItemView::doItemsLayout() (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== by 0x62A2798: QTreeView::doItemsLayout() (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== by 0x6265A77: QAbstractItemView::timerEvent(QTimerEvent*) (in /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4.4.3) ==27188== Address 0xEB05454 is 20 bytes inside a block of size 28 free'd ==27188== at 0x4022156: operator delete(void*) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==27188== by 0x4DC54DF: KCal::Todo::~Todo() (todo.cpp:102) ==27188== by 0x4DF2AC1: void qDeleteAll<QHash<QString, KCal::Todo*>::const_iterator>(QHash<QString, KCal::Todo*>::const_iterator, QHash<QString, KCal::Todo*>::const_iterator) (qalgorithms.h:346) ==27188== by 0x4DF2B27: void qDeleteAll<QHash<QString, KCal::Todo*> >(QHash<QString, KCal::Todo*> const&) (qalgorithms.h:354) ==27188== by 0x4DED5F7: KCal::CalendarLocal::deleteAllTodos() (calendarlocal.cpp:294) ==27188== by 0x4DEF5CA: KCal::CalendarLocal::close() (calendarlocal.cpp:168) ==27188== by 0xF1849BF: KCal::ResourceAkonadi::doLoad(bool) (resourceakonadi.cpp:660) ==27188== by 0x4E2955D: KCal::ResourceCalendar::load() (resourcecalendar.cpp:168) ==27188== by 0x4E3919F: KCal::CalendarResources::load() (calendarresources.cpp:272) ==27188== by 0x10CC2F1E: KOrganizerPart::KOrganizerPart(QWidget*, QObject*, QList<QVariant> const&) (korganizer_part.cpp:88) ==27188== by 0x10CC3ECD: QObject* KPluginFactory::createPartInstance<KOrganizerPart>(QWidget*, QObject*, QList<QVariant> const&) (kpluginfactory.h:467) ==27188== by 0x59D1E17: KPluginFactory::create(char const*, QWidget*, QObject*, QList<QVariant> const&, QString const&) (kpluginfactory.cpp:191) Once, I didn't get the paintEvent/paintSiblings backtrace, but the following: #0 0xffffe403 in __kernel_vsyscall () #1 0xb583d8d6 in nanosleep () from /lib/libc.so.6 #2 0xb583d6b7 in sleep () from /lib/libc.so.6 #3 0xb69115ea in KCrash::startDrKonqi (argv=0xbfcc2884, argc=17) at /media/kdedev/trunk/src/KDE/kdelibs/kdeui/util/kcrash.cpp:412 #4 0xb6912035 in KCrash::defaultCrashHandler (sig=11) at /media/kdedev/trunk/src/KDE/kdelibs/kdeui/util/kcrash.cpp:337 #5 <signal handler called> #6 0xb62ec11b in QDateTime::date () from /media/kdedev/trunk/qt-copy/lib/libQtCore.so.4 #7 0xb659fcc0 in KDateTimePrivate::date (this=0x91ae390) at /media/kdedev/trunk/src/KDE/kdelibs/kdecore/date/kdatetime.cpp:376 #8 0xb6594741 in KDateTime::date (this=0xbfcc2ca0) at /media/kdedev/trunk/src/KDE/kdelibs/kdecore/date/kdatetime.cpp:833 #9 0xafddc073 in KOTodoModel::data (this=0x91674d8, index=@0xbfcc2d70, role=0) at /media/kdedev/trunk/src/KDE/kdepim/korganizer/views/todoview/kotodomodel.cpp:636 #10 0xb5fac689 in QSortFilterProxyModel::data () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #11 0xb5dc4ba1 in QModelIndex::data () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #12 0xb5fd0889 in QStyledItemDelegate::initStyleOption () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #13 0xb5fd0004 in QStyledItemDelegate::sizeHint () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #14 0xb5f62c29 in QTreeView::indexRowSizeHint () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #15 0xb5f62d6e in QTreeViewPrivate::itemHeight () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #16 0xb5f62eef in QTreeViewPrivate::updateScrollBars () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #17 0xb5f6687a in QTreeView::updateGeometries () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #18 0xb5f29626 in QAbstractItemView::doItemsLayout () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #19 0xb5f6f799 in QTreeView::doItemsLayout () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #20 0xb5f32a78 in QAbstractItemView::timerEvent () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #21 0xb5f6ecfa in QTreeView::timerEvent () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #22 0xb63e7d08 in QObject::event () from /media/kdedev/trunk/qt-copy/lib/libQtCore.so.4 #23 0xb5a80eda in QWidget::event () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #24 0xb5df2dac in QFrame::event () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #25 0xb5e8cb5a in QAbstractScrollArea::event () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #26 0xb5f301f2 in QAbstractItemView::event () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #27 0xb5a222cd in QApplicationPrivate::notify_helper () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #28 0xb5a23ef5 in QApplication::notify () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #29 0xb68a16dd in KApplication::notify (this=0xbfcc5ac4, receiver=0x9148cf8, event=0xbfcc3b54) at /media/kdedev/trunk/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:307 #30 0xb63d4c66 in QCoreApplication::notifyInternal () from /media/kdedev/trunk/qt-copy/lib/libQtCore.so.4 #31 0xb783ffad in QCoreApplication::sendEvent (receiver=0x9148cf8, event=0xbfcc3b54) at /media/kdedev/trunk/qt-copy/include/QtCore/../../src/corelib/kernel/qcoreapplication.h:209 #32 0xb64079a5 in QTimerInfoList::activateTimers () from /media/kdedev/trunk/qt-copy/lib/libQtCore.so.4 #33 0xb640524c in timerSourceDispatch () from /media/kdedev/trunk/qt-copy/lib/libQtCore.so.4 #34 0xb4ff65d6 in g_main_context_dispatch () from /usr//lib/libglib-2.0.so.0 #35 0xb4ff9972 in ?? () from /usr//lib/libglib-2.0.so.0 #36 0x08066508 in ?? () #37 0x00000000 in ?? ()#0 0xffffe403 in __kernel_vsyscall () #1 0xb583d8d6 in nanosleep () from /lib/libc.so.6 #2 0xb583d6b7 in sleep () from /lib/libc.so.6 #3 0xb69115ea in KCrash::startDrKonqi (argv=0xbfcc2884, argc=17) at /media/kdedev/trunk/src/KDE/kdelibs/kdeui/util/kcrash.cpp:412 #4 0xb6912035 in KCrash::defaultCrashHandler (sig=11) at /media/kdedev/trunk/src/KDE/kdelibs/kdeui/util/kcrash.cpp:337 #5 <signal handler called> #6 0xb62ec11b in QDateTime::date () from /media/kdedev/trunk/qt-copy/lib/libQtCore.so.4 #7 0xb659fcc0 in KDateTimePrivate::date (this=0x91ae390) at /media/kdedev/trunk/src/KDE/kdelibs/kdecore/date/kdatetime.cpp:376 #8 0xb6594741 in KDateTime::date (this=0xbfcc2ca0) at /media/kdedev/trunk/src/KDE/kdelibs/kdecore/date/kdatetime.cpp:833 #9 0xafddc073 in KOTodoModel::data (this=0x91674d8, index=@0xbfcc2d70, role=0) at /media/kdedev/trunk/src/KDE/kdepim/korganizer/views/todoview/kotodomodel.cpp:636 #10 0xb5fac689 in QSortFilterProxyModel::data () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #11 0xb5dc4ba1 in QModelIndex::data () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #12 0xb5fd0889 in QStyledItemDelegate::initStyleOption () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #13 0xb5fd0004 in QStyledItemDelegate::sizeHint () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #14 0xb5f62c29 in QTreeView::indexRowSizeHint () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #15 0xb5f62d6e in QTreeViewPrivate::itemHeight () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #16 0xb5f62eef in QTreeViewPrivate::updateScrollBars () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #17 0xb5f6687a in QTreeView::updateGeometries () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #18 0xb5f29626 in QAbstractItemView::doItemsLayout () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #19 0xb5f6f799 in QTreeView::doItemsLayout () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #20 0xb5f32a78 in QAbstractItemView::timerEvent () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #21 0xb5f6ecfa in QTreeView::timerEvent () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #22 0xb63e7d08 in QObject::event () from /media/kdedev/trunk/qt-copy/lib/libQtCore.so.4 #23 0xb5a80eda in QWidget::event () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #24 0xb5df2dac in QFrame::event () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #25 0xb5e8cb5a in QAbstractScrollArea::event () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #26 0xb5f301f2 in QAbstractItemView::event () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #27 0xb5a222cd in QApplicationPrivate::notify_helper () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #28 0xb5a23ef5 in QApplication::notify () from /media/kdedev/trunk/qt-copy/lib/libQtGui.so.4 #29 0xb68a16dd in KApplication::notify (this=0xbfcc5ac4, receiver=0x9148cf8, event=0xbfcc3b54) at /media/kdedev/trunk/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:307 #30 0xb63d4c66 in QCoreApplication::notifyInternal () from /media/kdedev/trunk/qt-copy/lib/libQtCore.so.4 #31 0xb783ffad in QCoreApplication::sendEvent (receiver=0x9148cf8, event=0xbfcc3b54) at /media/kdedev/trunk/qt-copy/include/QtCore/../../src/corelib/kernel/qcoreapplication.h:209 #32 0xb64079a5 in QTimerInfoList::activateTimers () from /media/kdedev/trunk/qt-copy/lib/libQtCore.so.4 #33 0xb640524c in timerSourceDispatch () from /media/kdedev/trunk/qt-copy/lib/libQtCore.so.4 #34 0xb4ff65d6 in g_main_context_dispatch () from /usr//lib/libglib-2.0.so.0 #35 0xb4ff9972 in ?? () from /usr//lib/libglib-2.0.so.0 #36 0x08066508 in ?? () #37 0x00000000 in ?? () (In reply to comment #6) > Ok, for me it is happening when I use the Akonadi resource (doesn't happen if I > use the normal resources). > I have sub-todos, if that plays a role here. FWIW, I'm also using the Akonadi resource and I also have some (completed) sub-todos. *** Bug 179689 has been marked as a duplicate of this bug. *** Reassigning to the Akonadi kresource bridge, as this doesn't happen with other resources. Adding Kevin to the CC list. Kevin, please look at the valgrind output in comment #6, to me it seems that the Akonadi resource does some double-delete of the todos, and this probably triggers the paint event crash later on. Isn't the original backtrace fixed by the 0256-fix-recursive-backingstore-sync-crash.diff patch ? (I though it was...) SVN commit 923208 by krake: Using nested event loops to achieve synchronous call behavior while doing Akonadi jobs has created way to many issues due to unexpected re-entrancy. This is basically backport of a series of changes in trunk which replace this form of blocking with real blocking of the caller and delegating the Akonadi job execution to a worker thread. This should fix all the bugs this is sent to. If they remain with 4.2.1 once it is released, please re-open. DarĂo, in case I missed some of the eventloop related bugs, please feel free to close them as well. BUG: 177294 BUG: 158129 BUG: 182475 BUG: 178869 BUG: 179577 BUG: 179838 BUG: 180384 BUG: 181153 BUG: 181966 BUG: 182833 BUG: 182956 BUG: 183187 M +210 -55 kabc/resourceakonadi.cpp M +202 -54 kcal/resourceakonadi.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=923208 *** Bug 225713 has been marked as a duplicate of this bug. *** |