#1103728 kaffeine: crashes when adding another TV-recording or when trying to add TV-channels

Package:
kaffeine
Source:
kaffeine
Description:
versatile media player for KDE
Submitter:
Date:
2026-05-23 22:11:04 UTC
Severity:
normal
Tags:
#1103728#5
Date:
2025-04-21 00:21:02 UTC
From:
To:
Dear Maintainer,

   * What led up to the situation?

A) trying to add a second TV-recording
B) trying to add another TV-channel after a scan

   * What exactly did you do (or not do) that was effective (or
     ineffective)?

Nothing I could do about it.

   * What was the outcome of this action?

kaffeine crashes (memory access error)

   * What outcome did you expect instead?

addition of TV-recording entry / TV-channel entry

#1103728#10
Date:
2025-09-23 19:26:56 UTC
From:
To:
Version: 2.0.19-1

Dear Maintainer,

   * What led up to the situation?

Installation of Kaffeine version 2.0.19-1 on new Debian Trixie

   * What exactly did you do (or not do) that was effective (or
     ineffective)?

Started kaffeine, ensured kaffeine and television configured correctly, selected Channels and started scan.
Scan completed successfully so I selected all channels and copied to the Channels panel.
On pressing Ok, the program chashed.

   * What was the outcome of this action?

When run from a command line a Segmentation fault is reported.

   * What outcome did you expect instead?

Expected to see a list of channels to select and view TV programs from.

I have the previous version 2.0.18 working fine on Debian Bookworm.
I also noticed that the current version on Arch linux is at 2.0.19-2 so perhaps the issue is already fixed upstream?

#1103728#15
Date:
2025-12-13 15:13:44 UTC
From:
To:
Hello,
I received also a crash [3] when using kaffeine with a DVB-S stick
and trying after a scan new found channels.

The crash in [1] looks similar.

I opened an upstream merge request [2] to fix usage of std::prev,
which returns currently one element after end(),
not the element before end() and therefore crashes.

Kind regards,
Bernhard


[1] https://bugs.kde.org/show_bug.cgi?id=505497

[2] https://invent.kde.org/multimedia/kaffeine/-/merge_requests/23

[3]
Program terminated with signal SIGSEGV, Segmentation fault.
#0  SqlInterface::sqlFindFreeKey<QMap<SqlKey, ExplicitlySharedDataPointer<DvbChannel const> > > (this=<optimized out>, container=...) at /usr/include/c++/14/bits/stl_iterator_base_funcs.h:175
175             while (__n--)
[Current thread is 1 (Thread 0x7fc6a0915040 (LWP 2453962))]
(gdb) bt
#0  SqlInterface::sqlFindFreeKey<QMap<SqlKey, ExplicitlySharedDataPointer<DvbChannel const> > > (this=<optimized out>, container=...) at /usr/include/c++/14/bits/stl_iterator_base_funcs.h:175
#1  DvbChannelModel::addChannel (this=this@entry=0x557886ca9730, channel=...) at ./src/dvb/dvbchannel.cpp:376
#2  0x00005578795cb83b in DvbChannelModel::cloneFrom (this=0x557886ca9730, other=<optimized out>) at ./src/dvb/dvbchannel.cpp:300
#3  0x000055787963f8d9 in DvbScanDialog::dialogAccepted (this=0x7fc698002690) at ./src/dvb/dvbscandialog.cpp:488
#4  0x00007fc6a551893e in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fc6a6308068 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6  0x00007fc6a5518912 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fc6a625a976 in QAbstractButton::clicked(bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007fc6a625abee in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007fc6a625c7d9 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007fc6a625ca1c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007fc6a61a6038 in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007fc6a6163052 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007fc6a616b37a in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007fc6a54dde98 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007fc6a61693e2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007fc6a61c001a in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007fc6a61c352f in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007fc6a6163052 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007fc6a54dde98 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007fc6a5944e53 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#21 0x00007fc6a591679c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#22 0x00007fc6a3609e24 in ?? () from /lib/x86_64-linux-gnu/libQt5WaylandClient.so.5
#23 0x00007fc6a3704385 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007fc6a37065b7 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007fc6a3706d20 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007fc6a553aeed in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007fc6a54dc802 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007fc6a54e5222 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00005578795c1a07 in main (argc=<optimized out>, argv=<optimized out>) at ./src/main.cpp:237

#1103728#20
Date:
2025-12-15 12:12:50 UTC
From:
To:
Hello!

Am Samstag, dem 13.12.2025 um 16:13 +0100 schrieb Bernhard Übelacker:

Sounds good to me, yet (while you're at it) it would probably be the
exact same issue for trying to add entries to shedule recordings of
live TV, where I first noticed the issue, i.e. a single entry for a
single recording can be added (as is the case for channels), but trying
to shedule yet another recording crashes kaffeine.

The program is next to unusable under Wayland anyway, because besides
a video window showing up separately, even scrolling channel lists or
merely showing them is a bit like a fight, requiring mouse klicks
into the list to make it update the entry you just clicked, changing
the text to what it actually should be, but there simply is no
replacement for live TV on the desktop I'm aware of, unfortunately,
so no matter how unusable it is, it would still be really nice if that
could at least be made to work again somehow without crashing - no
matter how broken that ancient, seemingly abandoned code base is.

It's a glaring hole in Gnome, though and projects trying to tackle
it never really got to the point of delivering what kaffeine did and
died. Most notably was MeTV, IMHO, but that's also ancient history
by now.

Anyway - any efforts to at least make it „work“ again will be much
appreciated. <3

Kind Regards,
Dirk

#1103728#25
Date:
2025-12-15 14:48:01 UTC
From:
To:
Am 15.12.25 um 13:12 schrieb Dirk Ritter:


The commit from 2024 introduced the std::prev in two locations, one is
in a kind of general "sqlinterface". So fixing this may already avoid
this schedule recording crash too.


It looks like kaffeine is simply embedding a VLC X11 window, which is
not working if kaffeine runs in wayland mode.
Therefore a workaround seems to be to start kaffeine forced to X11 too:

   QT_QPA_PLATFORM=xcb kaffeine


Kind regards,
Bernhard

#1103728#30
Date:
2025-12-15 16:46:48 UTC
From:
To:
Hello again!

Am Montag, dem 15.12.2025 um 15:48 +0100 schrieb Bernhard Übelacker:

That would be great. Let's hope it does, because...

Works like a charm, i.e. behaves *exactly* as if it was running under
X11. Video window swallowed properly and also menu lists are butter
smooth again as if it was plain, old vanilla X11, where it has none
of the weird Wayland issues.

So there's also a bit of a package feature request now:
It would be really, amazingly cool, if this environment setting could
be wrapped around on Debian by default.

Exec=env QT_QPA_PLATFORM=xcb kaffeine %U

in '/usr/share/applications/org.kde.kaffeine.desktop' did it for me.

Small fix, but it makes all the difference in the world.

Otherwise...
Pure X-Session is no longer offered by default (running testing) and
it misbehaves horribly when using Wayland. What's needed isn't much,
but asking for X11 compatibility should give us another couple of
happy years with live TV on the desktop, maybe...

Thanks a lot! <3
Kind Regards,
Dirk

#1103728#35
Date:
2026-05-23 21:36:38 UTC
From:
To:
Am 15.12.25 um 17:46 schrieb Dirk Ritter:
...>



Hello everyone,
we got now some movement again to this issue.

Upstream accepted following merge request, which should fix the crash:

https://invent.kde.org/multimedia/kaffeine/-/merge_requests/27

Kind regards,
Bernhard