SUMMARY After upgrading from ktextaddons 1.8.0-2 to 1.9.0-1 I could no longer add new display alarms. When I clicked New Display Alarm in the application menu or from the taskbar, kalarm would crash and tell the console there was a segmentation fault. I downgraded ktextaddons to 1.8.0-2 and could once again add display alarms as usual. This did not affect other alarm types or deferring existing display alarms. STEPS TO REPRODUCE 1. run kalarm 3.12.0 with ktextaddons 1.9.0 installed 2. open either the application menu or the taskbar menu 3. select New Alarm → New Display Alarm OBSERVED RESULT kalarm crash. segfault reported if run from terminal. EXPECTED RESULT New Display Alarm window appears over the main kalarm window SOFTWARE/OS VERSIONS Linux Version: 6.18.3-arch1-1 (64-bit) KDE Plasma Version: 6.5.4 KDE Frameworks Version: 6.21.0 Qt Version: 6.10.1 Graphics Platform: Wayland ADDITIONAL INFORMATION As I'm disabled I presently don't have the time to find and install debug symbols for every single thing involved in kalarm's display alarm window. I found the package that can be introduced or removed to introduce or remove the segfault, as changing nothing but the version of ktextaddons decides whether it will happen, independent of any other updates or downgrades. I haven't changed the text display options in the New Display Alarm window since the defaults that came with the original installation of kalarm 23.04.2-1 when I first set up this particular home drive. If having trouble reproducing, try using the settings that were default in April 2023.
Backtrace: #0 QTextToSpeech::state (this=0x0) at /usr/src/debug/qt6-speech/qtspeech/src/tts/qtexttospeech.cpp:616 #1 0x00007ffff7217c46 in TextEditTextToSpeech::TextToSpeech::isReady (this=<optimized out>) at /usr/src/debug/ktextaddons/ktextaddons-1.9.0/textedittexttospeech/texttospeech.cpp:121 #2 0x0000555555656cfc in SoundPicker::showSpeak (this=this@entry=0x55555627d9e0, show=show@entry=true) at /usr/src/debug/kalarm/kalarm-25.12.0/src/soundpicker.cpp:134 #3 0x00005555556572f0 in SoundPicker::SoundPicker (this=<optimized out>, parent=<optimized out>, this=<optimized out>, parent=<optimized out>) at /usr/src/debug/kalarm/kalarm-25.12.0/src/soundpicker.cpp:70 #4 0x0000555555648314 in EditDisplayAlarmDlg::type_init (this=0x555555dc8f10, parent=0x555556254520, frameLayout=0x555555fe49c0) at /usr/src/debug/kalarm/kalarm-25.12.0/src/editdlgtypes.cpp:216 #5 0x000055555563cb6b in EditAlarmDlg::init (this=this@entry=0x555555dc8f10, event=...) at /usr/src/debug/kalarm/kalarm-25.12.0/src/editdlg.cpp:262 #6 0x000055555563e87d in EditAudioAlarmDlg::EditAudioAlarmDlg (getResource=<optimized out>, this=<optimized out>, Template=<optimized out>, parent=<optimized out>) at /usr/src/debug/kalarm/kalarm-25.12.0/src/editdlgtypes.cpp:1597 #7 EditAlarmDlg::create(bool, EditAlarmDlg::Type, QWidget*, EditAlarmDlg::GetResourceType) [clone .constprop.0] (Template=Template@entry=false, type=<optimized out>, parent=0x555555d60b20, getResource=EditAlarmDlg::RES_PROMPT) at /usr/src/debug/kalarm/kalarm-25.12.0/src/editdlg.cpp:98 #8 0x0000555555690872 in KAlarm::editNewAlarm (type=<optimized out>, startDate=..., parent=<optimized out>) at /usr/src/debug/kalarm/kalarm-25.12.0/src/functions.cpp:1083 #9 KAlarm::editNewAlarm (type=<optimized out>, parent=<optimized out>) at /usr/src/debug/kalarm/kalarm-25.12.0/src/functions.cpp:1079 #10 MainWindow::slotNew (this=<optimized out>, type=<optimized out>) at /usr/src/debug/kalarm/kalarm-25.12.0/src/mainwindow.cpp:759 #11 0x00007ffff55dd382 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #12 doActivate<false> (sender=0x555555d03e40, signal_index=11, argv=0x7fffffffb870) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4371 --Type <RET> for more, q to quit, c to continue without paging--c #13 0x00005555557167ff in QMetaObject::activate<void, EditAlarmDlg::Type> (sender=<optimized out>, mo=<optimized out>, local_signal_index=0, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs.h:319 #14 NewAlarmAction::selected (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/kalarm/build/src/kalarm_bin_autogen/include/moc_newalarmaction.cpp:162 #15 NewAlarmAction::slotSelected (this=<optimized out>, action=<optimized out>) at /usr/src/debug/kalarm/kalarm-25.12.0/src/newalarmaction.cpp:139 #16 0x00007ffff55dd382 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #17 doActivate<false> (sender=0x555555d03ea0, signal_index=9, argv=0x7fffffffb9d0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4371 #18 0x00007ffff691e627 in QMetaObject::activate<void, QAction*> (sender=0x555555d03ea0, mo=<optimized out>, local_signal_index=2, ret=0x0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs.h:321 #19 QMenu::triggered (this=0x555555d03ea0, _t1=0x555555e221f0) at /usr/src/debug/qt6-base/build/src/widgets/Widgets_autogen/include/moc_qmenu.cpp:237 #20 QMenuPrivate::_q_actionTriggered (this=0x555555d5b5f0) at /usr/src/debug/qt6-base/qtbase/src/widgets/widgets/qmenu.cpp:1521 #21 QMenu::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/qt6-base/build/src/widgets/Widgets_autogen/include/moc_qmenu.cpp:125 #22 0x00007ffff55dd713 in doActivate<false> (sender=<error reading variable: Cannot access memory at address 0x7fffffffba78>, signal_index=<error reading variable: Cannot access memory at address 0x7fffffffba74>, argv=<error reading variable: Cannot access memory at address 0x7fffffffba58>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4383 #23 0x00007ffff6228ed5 in QMetaObject::activate<void, bool> (sender=<optimized out>, mo=<optimized out>, local_signal_index=<optimized out>, ret=<optimized out>, sender=<optimized out>, mo=<optimized out>, local_signal_index=<optimized out>, ret=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs.h:321 #24 QAction::triggered (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/qt6-base/build/src/gui/Gui_autogen/include/moc_qaction.cpp:376 #25 QAction::activate (this=<error reading variable: Cannot access memory at address 0x7fffffffbab8>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qaction.cpp:1104
Git commit da43e1bab4a3e755b2dec7d1533e5b2ca8f6e06b by Laurent Montel. Committed on 06/01/2026 at 12:32. Pushed by mlaurent into branch '1.9'. Fix 514212: segfault/crash when choosing "New Display Alarm" in kalarm since upgrade to ktextaddons 1.9.0 M +3 -0 textedittexttospeech/texttospeech.cpp https://invent.kde.org/libraries/ktextaddons/-/commit/da43e1bab4a3e755b2dec7d1533e5b2ca8f6e06b