Bug 357103 - Zanshin (0.3 beta) crashes if I enable/disable a collection/source
Summary: Zanshin (0.3 beta) crashes if I enable/disable a collection/source
Status: RESOLVED FIXED
Alias: None
Product: zanshin
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: already done
Assignee: Kevin Ottens
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-23 17:33 UTC by Matija Šuklje
Modified: 2015-12-23 21:08 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matija Šuklje 2015-12-23 17:33:09 UTC
Sometimes if I click to enable or disable a collection in the Sources list, Zanshin dies.

Reproducible: Sometimes

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

1) Lunch Zanshin (obviously)
2) enable or disable a collection listed under “Sources”


Actual Results:  
3) blammo! it crashes

Expected Results:  
Not crash, obviously.

Application: zanshin (0.2.80)
KDE Platform Version: 4.14.5 (Compiled from sources)
Qt Version: 4.8.6
Operating System: Linux 4.1.13-desktop-2.mga5 x86_64
Distribution: "Mageia 5"

I haven’t noticed any other side-effects to this so far, but it’s still a bit annoying, since this is the only method to filter out or find todos that belong to a specific calendar (e.g. shared work vs., private calendar)

The crash can be reproduced sometimes.

-- Backtrace:
Application: Zanshin Todo (zanshin), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[KCrash Handler]
#5  0x00007ff6254b7b60 in QObject::setParent(QObject*) () at /lib64/libQtCore.so.4
#6  0x0000000000485862 in Presentation::ApplicationModel::setCurrentPage(QObject*) (this=0x0, this@entry=0xce5338, page=0x0) at /home/hook/tmp_build/zanshin-0.2.80/src/presentation/applicationmodel.cpp:90
#7  0x000000000048291c in Presentation::ApplicationModel::qt_metacall(QMetaObject::Call, int, void**) (this=0xce5338, _c=QMetaObject::WriteProperty, _id=2, _a=0x7ffffa66f340) at /home/hook/tmp_build/zanshin-0.2.80/src/src/presentation/moc_applicationmodel.cpp:126
#8  0x00007ff6254a8658 in QMetaProperty::write(QObject*, QVariant const&) const () at /lib64/libQtCore.so.4
#9  0x00007ff6254b84ef in QObject::setProperty(char const*, QVariant const&) () at /lib64/libQtCore.so.4
#10 0x00000000004b9c1d in Widgets::ApplicationComponents::onCurrentPageChanged(QObject*) (this=0xd40b90, page=0x0) at /home/hook/tmp_build/zanshin-0.2.80/src/widgets/applicationcomponents.cpp:187
#11 0x00007ff6254b288a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#12 0x00000000004c62af in Widgets::AvailablePagesView::currentPageChanged(QObject*) (this=this@entry=0xe69620, _t1=0x0) at /home/hook/tmp_build/zanshin-0.2.80/src/src/widgets/moc_availablepagesview.cpp:141
#13 0x00000000004ba670 in Widgets::AvailablePagesView::onCurrentChanged(QModelIndex const&) (this=0xe69620, current=...) at /home/hook/tmp_build/zanshin-0.2.80/src/widgets/availablepagesview.cpp:225
#14 0x00000000004c5ea9 in Widgets::AvailablePagesView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at /home/hook/tmp_build/zanshin-0.2.80/src/src/widgets/moc_availablepagesview.cpp:84
#15 0x00007ff6254b288a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#16 0x00007ff6268c54ca in QItemSelectionModel::currentChanged(QModelIndex const&, QModelIndex const&) () at /lib64/libQtGui.so.4
#17 0x00007ff6268c9596 in QItemSelectionModelPrivate::_q_rowsAboutToBeRemoved(QModelIndex const&, int, int) () at /lib64/libQtGui.so.4
#18 0x00007ff6268cc389 in QItemSelectionModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.33] () at /lib64/libQtGui.so.4
#19 0x00007ff6254b288a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#20 0x00007ff6254fc164 in QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex const&, int, int) () at /lib64/libQtCore.so.4
#21 0x00007ff6254954f5 in QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) () at /lib64/libQtCore.so.4
#22 0x00007ff6268f25e5 in QSortFilterProxyModelPrivate::remove_proxy_interval(QVector<int>&, QVector<int>&, int, int, QModelIndex const&, Qt::Orientation, bool) () at /lib64/libQtGui.so.4
#23 0x00007ff6268f7d35 in QSortFilterProxyModelPrivate::remove_source_items(QVector<int>&, QVector<int>&, QVector<int> const&, QModelIndex const&, Qt::Orientation, bool) () at /lib64/libQtGui.so.4
#24 0x00007ff6268f7f45 in QSortFilterProxyModelPrivate::source_items_about_to_be_removed(QModelIndex const&, int, int, Qt::Orientation) () at /lib64/libQtGui.so.4
#25 0x00007ff6254b288a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#26 0x00007ff6254fc164 in QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex const&, int, int) () at /lib64/libQtCore.so.4
#27 0x00007ff6254954f5 in QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) () at /lib64/libQtCore.so.4
#28 0x00000000004a9419 in Presentation::QueryTreeNodeBase::beginRemoveRows(QModelIndex const&, int, int) (this=<optimized out>, parent=..., first=<optimized out>, last=<optimized out>) at /home/hook/tmp_build/zanshin-0.2.80/src/presentation/querytreemodelbase.cpp:105
#29 0x000000000048c9f6 in std::_Function_handler<void (QSharedPointer<QObject>, int), Presentation::QueryTreeNode<QSharedPointer<QObject> >::init(Presentation::QueryTreeModelBase*, std::function<QSharedPointer<Domain::QueryResultInterface<QSharedPointer<QObject> > > (QSharedPointer<QObject> const&)> const&)::{lambda(QSharedPointer<QObject> const&, int)#3}>::_M_invoke(std::_Any_data const&, QSharedPointer<QObject>, int) (index=0, __closure=0x1343c50) at /home/hook/tmp_build/zanshin-0.2.80/src/presentation/querytreenode.h:159
#30 0x000000000048c9f6 in std::_Function_handler<void (QSharedPointer<QObject>, int), Presentation::QueryTreeNode<QSharedPointer<QObject> >::init(Presentation::QueryTreeModelBase*, std::function<QSharedPointer<Domain::QueryResultInterface<QSharedPointer<QObject> > > (QSharedPointer<QObject> const&)> const&)::{lambda(QSharedPointer<QObject> const&, int)#3}>::_M_invoke(std::_Any_data const&, QSharedPointer<QObject>, int) (__functor=..., __args#0=..., __args#1=0) at /usr/include/c++/4.9.2/functional:2039
#31 0x000000000048d804 in std::function<void (QSharedPointer<QObject>, int)>::operator()(QSharedPointer<QObject>, int) const (this=<optimized out>, __args#0=..., __args#1=<optimized out>) at /usr/include/c++/4.9.2/functional:2439
#32 0x0000000000496908 in std::_Function_handler<void (QSharedPointer<Domain::Project>, int), std::function<void (QSharedPointer<QObject>, int)> >::_M_invoke(std::_Any_data const&, QSharedPointer<Domain::Project>, int) (__functor=..., __args#0=..., __args#1=<optimized out>) at /usr/include/c++/4.9.2/functional:2039
#33 0x000000000045db8c in Domain::QueryResultProvider<QSharedPointer<Domain::Project> >::callChangeHandlers(QSharedPointer<Domain::Project> const&, int, std::function<QList<std::function<void (QSharedPointer<Domain::Project>, int)> > (QSharedPointer<Domain::QueryResultInputImpl<QSharedPointer<Domain::Project> > >)> const&) (__args#1=0, __args#0=..., this=0x7ffffa66fe80) at /usr/include/c++/4.9.2/functional:2439
#34 0x000000000045db8c in Domain::QueryResultProvider<QSharedPointer<Domain::Project> >::callChangeHandlers(QSharedPointer<Domain::Project> const&, int, std::function<QList<std::function<void (QSharedPointer<Domain::Project>, int)> > (QSharedPointer<Domain::QueryResultInputImpl<QSharedPointer<Domain::Project> > >)> const&) (this=this@entry=0xffe658, item=..., index=index@entry=0, handlerGetter=...) at /home/hook/tmp_build/zanshin-0.2.80/src/domain/queryresultprovider.h:259
#35 0x000000000045de42 in Domain::LiveQuery<Akonadi::Item, QSharedPointer<Domain::Project> >::clear() (this=0xffe658) at /home/hook/tmp_build/zanshin-0.2.80/src/domain/queryresultprovider.h:177
#36 0x000000000045de42 in Domain::LiveQuery<Akonadi::Item, QSharedPointer<Domain::Project> >::clear() (this=0xffe658) at /home/hook/tmp_build/zanshin-0.2.80/src/domain/queryresultprovider.h:187
#37 0x000000000045de42 in Domain::LiveQuery<Akonadi::Item, QSharedPointer<Domain::Project> >::clear() (this=this@entry=0x1003c28) at /home/hook/tmp_build/zanshin-0.2.80/src/domain/livequery.h:244
#38 0x000000000045e8f9 in Domain::LiveQuery<Akonadi::Item, QSharedPointer<Domain::Project> >::reset() (this=0x1003c28) at /home/hook/tmp_build/zanshin-0.2.80/src/domain/livequery.h:131
#39 0x0000000000454bed in Akonadi::LiveQueryIntegrator::onCollectionSelectionChanged() (this=<optimized out>) at /home/hook/tmp_build/zanshin-0.2.80/src/akonadi/akonadilivequeryintegrator.cpp:71
#40 0x00007ff6254b288a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#41 0x000000000047a715 in Akonadi::MonitorInterface::collectionSelectionChanged(Akonadi::Collection const&) (this=this@entry=0xd27c40, _t1=...) at /home/hook/tmp_build/zanshin-0.2.80/src/src/akonadi/moc_akonadimonitorinterface.cpp:148
#42 0x000000000045965e in Akonadi::MonitorImpl::onCollectionChanged(Akonadi::Collection const&, QSet<QByteArray> const&) (this=0xd27c40, collection=..., parts=...) at /home/hook/tmp_build/zanshin-0.2.80/src/akonadi/akonadimonitorimpl.cpp:103
#43 0x00007ff6254b288a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#44 0x00007ff62945c7aa in Akonadi::Monitor::collectionChanged(Akonadi::Collection const&, QSet<QByteArray> const&) () at /lib64/libakonadi-kde.so.4
#45 0x00007ff62946733c in Akonadi::MonitorPrivate::emitCollectionNotification(Akonadi::NotificationMessageV3 const&, Akonadi::Collection const&, Akonadi::Collection const&, Akonadi::Collection const&) () at /lib64/libakonadi-kde.so.4
#46 0x00007ff629467ffc in Akonadi::MonitorPrivate::emitNotification(Akonadi::NotificationMessageV3 const&) () at /lib64/libakonadi-kde.so.4
#47 0x00007ff629463e91 in Akonadi::MonitorPrivate::flushPipeline() () at /lib64/libakonadi-kde.so.4
#48 0x00007ff629464099 in Akonadi::MonitorPrivate::dataAvailable() () at /lib64/libakonadi-kde.so.4
#49 0x00007ff6254b288a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#50 0x00007ff6293bd24e in Akonadi::EntityCache<Akonadi::Collection, Akonadi::CollectionFetchJob, Akonadi::CollectionFetchScope>::processResult(KJob*) () at /lib64/libakonadi-kde.so.4
#51 0x00007ff6254b288a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#52 0x00007ff625bb3b52 in KJob::result(KJob*) () at /lib64/libkdecore.so.5
#53 0x00007ff625bb3b90 in KJob::emitResult() () at /lib64/libkdecore.so.5
#54 0x00007ff6254b6d61 in QObject::event(QEvent*) () at /lib64/libQtCore.so.4
#55 0x00007ff62637a79c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQtGui.so.4
#56 0x00007ff626380e40 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQtGui.so.4
#57 0x00007ff62af6625a in KApplication::notify(QObject*, QEvent*) () at /lib64/libkdeui.so.5
#58 0x00007ff62549ecad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /lib64/libQtCore.so.4
#59 0x00007ff6254a1be1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQtCore.so.4
#60 0x00007ff6254cbcae in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQtCore.so.4
#61 0x00007ff61f1c3c6d in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#62 0x00007ff61f1c3f18 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#63 0x00007ff61f1c3fbc in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#64 0x00007ff6254cbe1e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#65 0x00007ff6264184f6 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtGui.so.4
#66 0x00007ff62549d931 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#67 0x00007ff62549dc45 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#68 0x00007ff6254a2e59 in QCoreApplication::exec() () at /lib64/libQtCore.so.4
#69 0x000000000042bdc9 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/hook/tmp_build/zanshin-0.2.80/src/zanshin/app/main.cpp:109
Comment 1 Kevin Ottens 2015-12-23 18:44:41 UTC
Fixed earlier today with commit f7b439b. :-)
Comment 2 Matija Šuklje 2015-12-23 19:00:40 UTC
Man, you’re quick!

May I ask where the git is located? It’s hard to find …
Comment 3 Kevin Ottens 2015-12-23 21:08:17 UTC
Sure:
git clone git://anongit.kde.org/zanshin.git

I plan a revamp of the website around the 0.3 release, it needs updating for people to find the infrastructure properly.