Bug 356048 - kalarm always crashes when changing alarms
Summary: kalarm always crashes when changing alarms
Status: CLOSED FIXED
Alias: None
Product: kalarm
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: David Jarvie
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-11-29 00:18 UTC by Kevin
Modified: 2020-08-17 23:47 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 15.12.2


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin 2015-11-29 00:18:11 UTC
Application: kalarm (2.11.3-5ak)

Qt Version: 5.5.1
Operating System: Linux 4.2.5-1-ARCH x86_64
Distribution: "Arch Linux"

-- Information about the crash:
- What I was doing when the application crashed:
I changed the date of an alarm. The crash is extremely easy to reproduce. All kinds of alarm modifications crash kalarm 100% of the time.

- Steps to reproduce for me:
Edit and existing or newly expired alarm, brigging up the "Edit Dispaly Alarm" dialog. Pressing "Ok" or "Cancel" or the close button on the top right will crash kalarm.

The crash can be reproduced every time.

-- Backtrace:
Application: KAlarm (kalarm), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[KCrash Handler]
#5  0x00007f9ae35bf868 in KDialog::button(KDialog::ButtonCode) const () from /usr/lib/libKF5KDELibs4Support.so.5
#6  0x00000000004c096f in EditAlarmDlg::contentsChanged (this=0xf541c0) at /home/k/build/kdepim/src/kdepim-15.08.3/kalarm/editdlg.cpp:720
#7  0x00007f9ade215d93 in QtPrivate::QSlotObjectBase::call (a=0x7fff581334d0, r=0xf541c0, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124
#8  QMetaObject::activate (sender=0x1552300, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3698
#9  0x00007f9ade216767 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f9adfc487e0 <QTextEdit::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3578
#10 0x00007f9adf6e32e1 in QTextEdit::textChanged (this=<optimized out>) at .moc/moc_qtextedit.cpp:524
#11 0x00007f9adf6e999f in QTextEdit::qt_static_metacall (_o=0x1552300, _c=<optimized out>, _id=<optimized out>, _a=0x7fff58133650) at .moc/moc_qtextedit.cpp:318
#12 0x00007f9ade215f17 in QMetaObject::activate (sender=0x1554ea0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3713
#13 0x00007f9ade216767 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f9adfc4a380 <QWidgetTextControl::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3578
#14 0x00007f9adf70370f in QWidgetTextControl::textChanged (this=<optimized out>) at .moc/moc_qwidgettextcontrol_p.cpp:481
#15 0x00007f9adf7114b0 in QWidgetTextControl::qt_static_metacall (_o=_o@entry=0x1554ea0, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=0, _a=_a@entry=0x7fff581337e0) at .moc/moc_qwidgettextcontrol_p.cpp:254
#16 0x00007f9adf7120a2 in QWidgetTextControl::qt_metacall (this=0x1554ea0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff581337e0) at .moc/moc_qwidgettextcontrol_p.cpp:451
#17 0x00007f9ade2160f8 in QMetaObject::activate (sender=sender@entry=0x1554ec0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at kernel/qobject.cpp:3728
#18 0x00007f9ade216767 in QMetaObject::activate (sender=sender@entry=0x1554ec0, m=m@entry=0x7f9adf38af80 <QTextDocument::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at kernel/qobject.cpp:3578
#19 0x00007f9adf0d3db8 in QTextDocument::contentsChanged (this=this@entry=0x1554ec0) at .moc/moc_qtextdocument.cpp:378
#20 0x00007f9adee427b2 in QTextDocumentPrivate::contentsChanged (this=0x1557dd0) at text/qtextdocument_p.cpp:1646
#21 QTextDocumentPrivate::finishEdit (this=0x1557dd0) at text/qtextdocument_p.cpp:1238
#22 0x00007f9adee46772 in QTextDocumentPrivate::endEditBlock (this=<optimized out>) at text/qtextdocument_p.cpp:1193
#23 0x00007f9adee89519 in QSyntaxHighlighter::setDocument (this=this@entry=0x165ba00, doc=doc@entry=0x0) at text/qsyntaxhighlighter.cpp:333
#24 0x00007f9adee89760 in QSyntaxHighlighter::~QSyntaxHighlighter (this=0x165ba00, __in_chrg=<optimized out>) at text/qsyntaxhighlighter.cpp:315
#25 0x00007f9adbbada39 in Sonnet::Highlighter::~Highlighter() () from /usr/lib/libKF5SonnetUi.so.5
#26 0x00007f9ade21433d in QObjectPrivate::deleteChildren (this=this@entry=0x176b710) at kernel/qobject.cpp:1946
#27 0x00007f9ade21e07f in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1024
#28 0x00007f9ae1baead3 in ?? () from /usr/lib/libKF5TextWidgets.so.5
#29 0x00007f9ae1ba9acb in KTextEdit::~KTextEdit() () from /usr/lib/libKF5TextWidgets.so.5
#30 0x00000000004cb021 in TextEdit::~TextEdit (this=0x1552300, __in_chrg=<optimized out>) at /home/k/build/kdepim/src/kdepim-15.08.3/kalarm/editdlg_p.h:45
#31 TextEdit::~TextEdit (this=0x1552300, __in_chrg=<optimized out>) at /home/k/build/kdepim/src/kdepim-15.08.3/kalarm/editdlg_p.h:45
#32 0x00007f9ade21433d in QObjectPrivate::deleteChildren (this=this@entry=0x154d640) at kernel/qobject.cpp:1946
#33 0x00007f9adf55ee0d in QWidget::~QWidget (this=0x154dc70, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1658
#34 0x00007f9adf66e1df in QGroupBox::~QGroupBox (this=<optimized out>, __in_chrg=<optimized out>) at widgets/qgroupbox.cpp:206
#35 0x00007f9adf66e20a in QGroupBox::~QGroupBox (this=0x154dc70, __in_chrg=<optimized out>) at widgets/qgroupbox.cpp:208
#36 0x00007f9ade21433d in QObjectPrivate::deleteChildren (this=this@entry=0xe17150) at kernel/qobject.cpp:1946
#37 0x00007f9adf55ee0d in QWidget::~QWidget (this=0xf5cdc0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1658
#38 0x00007f9adf66d8ff in QFrame::~QFrame (this=<optimized out>, __in_chrg=<optimized out>) at widgets/qframe.cpp:252
#39 0x00000000004cb091 in PageFrame::~PageFrame (this=0xf5cdc0, __in_chrg=<optimized out>) at /home/k/build/kdepim/src/kdepim-15.08.3/kalarm/editdlg_p.h:32
#40 PageFrame::~PageFrame (this=0xf5cdc0, __in_chrg=<optimized out>) at /home/k/build/kdepim/src/kdepim-15.08.3/kalarm/editdlg_p.h:32
#41 0x00007f9ade21433d in QObjectPrivate::deleteChildren (this=this@entry=0xea7000) at kernel/qobject.cpp:1946
#42 0x00007f9adf55ee0d in QWidget::~QWidget (this=0xee3a70, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1658
#43 0x00007f9adf55eef2 in QWidget::~QWidget (this=0xee3a70, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1678
#44 0x00007f9ade21433d in QObjectPrivate::deleteChildren (this=this@entry=0xe1a360) at kernel/qobject.cpp:1946
#45 0x00007f9adf55ee0d in QWidget::~QWidget (this=0xee3a30, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1658
#46 0x00007f9adf66d8ff in QFrame::~QFrame (this=<optimized out>, __in_chrg=<optimized out>) at widgets/qframe.cpp:252
#47 0x00007f9adf6fb0b3 in QAbstractScrollArea::~QAbstractScrollArea (this=0xee3a30, __in_chrg=<optimized out>) at widgets/qabstractscrollarea.cpp:569
#48 0x00007f9adf700ef7 in QScrollArea::~QScrollArea (this=<optimized out>, __in_chrg=<optimized out>) at widgets/qscrollarea.cpp:166
#49 0x00000000004b679c in StackedWidgetT<QScrollArea>::~StackedWidgetT (this=0xee3a30, __in_chrg=<optimized out>) at /home/k/build/kdepim/src/kdepim-15.08.3/kalarm/lib/stackedwidgets.h:50
#50 StackedScrollWidget::~StackedScrollWidget (this=0xee3a30, __in_chrg=<optimized out>) at /home/k/build/kdepim/src/kdepim-15.08.3/kalarm/lib/stackedwidgets.h:103
#51 StackedScrollWidget::~StackedScrollWidget (this=0xee3a30, __in_chrg=<optimized out>) at /home/k/build/kdepim/src/kdepim-15.08.3/kalarm/lib/stackedwidgets.h:103
#52 0x00007f9ade21433d in QObjectPrivate::deleteChildren (this=this@entry=0xfa8550) at kernel/qobject.cpp:1946
#53 0x00007f9adf55ee0d in QWidget::~QWidget (this=0x117f2c0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1658
#54 0x00007f9adf66d8ff in QFrame::~QFrame (this=<optimized out>, __in_chrg=<optimized out>) at widgets/qframe.cpp:252
#55 0x00007f9adf6d3b69 in QStackedWidget::~QStackedWidget (this=<optimized out>, __in_chrg=<optimized out>) at widgets/qstackedwidget.cpp:141
#56 0x00007f9adf6d3b94 in QStackedWidget::~QStackedWidget (this=0x117f2c0, __in_chrg=<optimized out>) at widgets/qstackedwidget.cpp:143
#57 0x00007f9ade21433d in QObjectPrivate::deleteChildren (this=this@entry=0x117dfe0) at kernel/qobject.cpp:1946
#58 0x00007f9adf55ee0d in QWidget::~QWidget (this=0xd80560, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1658
#59 0x00007f9adf6dfedf in QTabWidget::~QTabWidget (this=<optimized out>, __in_chrg=<optimized out>) at widgets/qtabwidget.cpp:357
#60 0x00007f9adf6dff0a in QTabWidget::~QTabWidget (this=0xd80560, __in_chrg=<optimized out>) at widgets/qtabwidget.cpp:359
#61 0x00007f9ade21433d in QObjectPrivate::deleteChildren (this=this@entry=0xf12d00) at kernel/qobject.cpp:1946
#62 0x00007f9adf55ee0d in QWidget::~QWidget (this=0xea0d10, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1658
#63 0x00007f9adf66d8ff in QFrame::~QFrame (this=<optimized out>, __in_chrg=<optimized out>) at widgets/qframe.cpp:252
#64 0x00007f9ae35e7ea9 in KVBox::~KVBox() () from /usr/lib/libKF5KDELibs4Support.so.5
#65 0x00007f9ade21433d in QObjectPrivate::deleteChildren (this=this@entry=0x11ffa00) at kernel/qobject.cpp:1946
#66 0x00007f9adf55ee0d in QWidget::~QWidget (this=0xf541c0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1658
#67 0x00007f9adf734e5f in QDialog::~QDialog (this=0xf541c0, __in_chrg=<optimized out>) at dialogs/qdialog.cpp:341
#68 0x00000000004c6130 in EditAlarmDlg::~EditAlarmDlg (this=0xf541c0, __in_chrg=<optimized out>) at /home/k/build/kdepim/src/kdepim-15.08.3/kalarm/editdlg.cpp:460
#69 0x00000000005e2564 in EditDisplayAlarmDlg::~EditDisplayAlarmDlg (this=0xf541c0, __in_chrg=<optimized out>) at /home/k/build/kdepim/src/build/kalarm/../../kdepim-15.08.3/kalarm/editdlgtypes.h:52
#70 EditDisplayAlarmDlg::~EditDisplayAlarmDlg (this=0xf541c0, __in_chrg=<optimized out>) at /home/k/build/kdepim/src/build/kalarm/../../kdepim-15.08.3/kalarm/editdlgtypes.h:52
#71 0x00000000005027f2 in AutoQPointer<EditAlarmDlg>::~AutoQPointer (this=0x7fff581342e0, __in_chrg=<optimized out>) at /home/k/build/kdepim/src/kdepim-15.08.3/kalarm/lib/autoqpointer.h:39
#72 0x0000000000557916 in KAlarm::editAlarm (event=<optimized out>, parent=<optimized out>) at /home/k/build/kdepim/src/kdepim-15.08.3/kalarm/functions.cpp:1147
#73 0x000000000056448f in EventListDelegate::editorEvent (this=0xcccce0, e=<optimized out>, model=0xfb3dc0, index=...) at /home/k/build/kdepim/src/kdepim-15.08.3/kalarm/eventlistview.cpp:231
#74 0x00007f9adf79fec8 in QAbstractItemViewPrivate::sendDelegateEvent (this=this@entry=0xda99c0, index=..., event=event@entry=0x7fff58134fd0) at itemviews/qabstractitemview.cpp:4297
#75 0x00007f9adf7a5af7 in QAbstractItemView::edit (this=0xdbcf40, index=..., trigger=QAbstractItemView::NoEditTriggers, event=0x7fff58134fd0) at itemviews/qabstractitemview.cpp:2592
#76 0x00007f9adf7a01db in QAbstractItemView::mouseReleaseEvent (this=this@entry=0xdbcf40, event=event@entry=0x7fff58134fd0) at itemviews/qabstractitemview.cpp:1845
#77 0x00007f9adf7ea79c in QTreeView::mouseReleaseEvent (this=0xdbcf40, event=0x7fff58134fd0) at itemviews/qtreeview.cpp:1917
#78 0x00007f9adf563148 in QWidget::event (this=this@entry=0xdbcf40, event=event@entry=0x7fff58134fd0) at kernel/qwidget.cpp:8678
#79 0x00007f9adf66e11f in QFrame::event (this=this@entry=0xdbcf40, e=e@entry=0x7fff58134fd0) at widgets/qframe.cpp:540
#80 0x00007f9adf6fd893 in QAbstractScrollArea::viewportEvent (this=this@entry=0xdbcf40, e=e@entry=0x7fff58134fd0) at widgets/qabstractscrollarea.cpp:1200
#81 0x00007f9adf7a9bb5 in QAbstractItemView::viewportEvent (this=this@entry=0xdbcf40, event=event@entry=0x7fff58134fd0) at itemviews/qabstractitemview.cpp:1685
#82 0x00007f9adf7ea1c1 in QTreeView::viewportEvent (this=this@entry=0xdbcf40, event=event@entry=0x7fff58134fd0) at itemviews/qtreeview.cpp:1309
#83 0x0000000000564bcc in EventListView::viewportEvent (this=0xdbcf40, e=0x7fff58134fd0) at /home/k/build/kdepim/src/kdepim-15.08.3/kalarm/eventlistview.cpp:184
#84 0x00007f9adf6fe29c in QAbstractScrollAreaPrivate::viewportEvent (event=<optimized out>, this=<optimized out>) at widgets/qabstractscrollarea_p.h:102
#85 QAbstractScrollAreaFilter::eventFilter (this=<optimized out>, o=<optimized out>, e=<optimized out>) at widgets/qabstractscrollarea_p.h:118
#86 0x00007f9ade1e485c in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=this@entry=0xad6d70, receiver=receiver@entry=0xf65660, event=event@entry=0x7fff58134fd0) at kernel/qcoreapplication.cpp:1072
#87 0x00007f9adf51babf in QApplicationPrivate::notify_helper (this=this@entry=0xad6d70, receiver=receiver@entry=0xf65660, e=0x7fff58134fd0) at kernel/qapplication.cpp:3712
#88 0x00007f9adf521412 in QApplication::notify (this=<optimized out>, receiver=0xf65660, e=<optimized out>) at kernel/qapplication.cpp:3276
#89 0x00007f9ade1e4a9b in QCoreApplication::notifyInternal (this=0xaaacc0, receiver=receiver@entry=0xf65660, event=event@entry=0x7fff58134fd0) at kernel/qcoreapplication.cpp:965
#90 0x00007f9adf52022d in QCoreApplication::sendSpontaneousEvent (event=0x7fff58134fd0, receiver=0xf65660) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:227
#91 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0xf65660, event=event@entry=0x7fff58134fd0, alienWidget=0xf65660, nativeWidget=0xc2df40, buttonDown=buttonDown@entry=0x7f9adfc75520 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:2770
#92 0x00007f9adf57f1d8 in QWidgetWindow::handleMouseEvent (this=this@entry=0xd04a90, event=event@entry=0x7fff581353f0) at kernel/qwidgetwindow.cpp:555
#93 0x00007f9adf580c26 in QWidgetWindow::event (this=0xd04a90, event=0x7fff581353f0) at kernel/qwidgetwindow.cpp:210
#94 0x00007f9adf51bad2 in QApplicationPrivate::notify_helper (this=this@entry=0xad6d70, receiver=receiver@entry=0xd04a90, e=e@entry=0x7fff581353f0) at kernel/qapplication.cpp:3716
#95 0x00007f9adf520dbe in QApplication::notify (this=0xaaacc0, receiver=0xd04a90, e=<optimized out>) at kernel/qapplication.cpp:3160
#96 0x00007f9ade1e4a9b in QCoreApplication::notifyInternal (this=0xaaacc0, receiver=receiver@entry=0xd04a90, event=event@entry=0x7fff581353f0) at kernel/qcoreapplication.cpp:965
#97 0x00007f9aded26d5a in QCoreApplication::sendSpontaneousEvent (event=0x7fff581353f0, receiver=0xd04a90) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:227
#98 QGuiApplicationPrivate::processMouseEvent (e=0xf14040) at kernel/qguiapplication.cpp:1789
#99 0x00007f9aded28b05 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0xf14040) at kernel/qguiapplication.cpp:1581
#100 0x00007f9aded0a7a9 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:625
#101 0x00007f9ac4e369b9 in userEventSourceDispatch (source=<optimized out>) at eventdispatchers/qeventdispatcher_glib.cpp:70
#102 0x00007f9ad655edc7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#103 0x00007f9ad655f020 in ?? () from /usr/lib/libglib-2.0.so.0
#104 0x00007f9ad655f0cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#105 0x00007f9ade23f700 in QEventDispatcherGlib::processEvents (this=0xb07c60, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#106 0x00007f9ac4e36bb5 in QPAEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qeventdispatcher_glib.cpp:115
#107 0x00007f9ade1e1f83 in QEventLoop::exec (this=this@entry=0x7fff581357c0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#108 0x00007f9ade1ea796 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
#109 0x00007f9aded1ddec in QGuiApplication::exec () at kernel/qguiapplication.cpp:1527
#110 0x00007f9adf517274 in QApplication::exec () at kernel/qapplication.cpp:2976
#111 0x00000000004a6165 in main (argc=1, argv=0x7fff58136368) at /home/k/build/kdepim/src/kdepim-15.08.3/kalarm/main.cpp:136

Reported using DrKonqi
Comment 1 Kevin 2016-01-02 03:27:14 UTC
I figured out how to reproduce this bug as a new user with a 100% default home directory. All one needs to do is go to
System Settings -> Regional Settings -> Spell Check
and check the
"automatic spell checking enabled by default"
box. Once this is done, create an alarm in kalarm. Once the alarm is created, try to edit it. Kalarm will crash.
Comment 2 David Jarvie 2016-01-22 13:10:02 UTC
Thanks for the information on how to reproduce the crash.

I suspect that one of the library classes doesn't handle destruction properly, and allows the contentsChanged() signal to be emitted when it shouldn't, but KAlarm now ignores the unwanted signal.

Fixed in commit 6af5386719f01cc3a71f9486807c66b1b3da26d1 (15.12 branch and master).