| Summary: | Segfault in feed.cpp:145 when syncing after removing podcasts remotely | ||
|---|---|---|---|
| Product: | [Applications] kasts | Reporter: | Linus Kardell <linus.kardell> |
| Component: | general | Assignee: | bart |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | ||
| Priority: | NOR | ||
| Version First Reported In: | 23.04.2 | ||
| Target Milestone: | --- | ||
| Platform: | Flatpak | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/multimedia/kasts/-/commit/b529bfc3ca2f3c64eada10a92bbef6dc18700737 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
Linus Kardell
2023-06-16 11:15:40 UTC
Thanks for reporting. I see that the code is checking too late for the (non-)existence of a feed locally. So it's trying to access a podcast subscription in the database that you're not subscribed to on this Kasts installation, which fails and then crashes the application. This needs fixing. To get your installation back up and running: first make a copy of your database to make sure that you can go back if things break badly (~/.local/share/KDE/kasts/database.db3) The first thing you could try is simply logging out of nextcloud and then logging back in. If it's the podcast removal message that's causing the crash then that should already solve it. If that doesn't help, you can try (1) logging out, (2) remove the database (but keep the copy), (3) logging back in and do a full sync. That should get you back to the original state (except for the queue list and the queue order). (In reply to bart from comment #1) > To get your installation back up and running: first make a copy of your > database to make sure that you can go back if things break badly > (~/.local/share/KDE/kasts/database.db3) Oh, I see you are using the flatpak: in that case the path is ~/.var/app/org.kde.kasts/data/KDE/kasts/database.db3 Git commit 67e3f5e990fb5b69e77bbe72143a34b7e47a2ed6 by Bart De Vries. Committed on 18/06/2023 at 14:39. Pushed by bdevries into branch 'release/23.04'. Fix segfault when trying to remove a non-subscribed podcast M +80 -71 src/datamanager.cpp https://invent.kde.org/multimedia/kasts/-/commit/67e3f5e990fb5b69e77bbe72143a34b7e47a2ed6 Git commit b529bfc3ca2f3c64eada10a92bbef6dc18700737 by Bart De Vries. Committed on 18/06/2023 at 13:12. Pushed by bdevries into branch 'master'. Fix segfault when trying to remove a non-subscribed podcast M +80 -71 src/datamanager.cpp https://invent.kde.org/multimedia/kasts/-/commit/b529bfc3ca2f3c64eada10a92bbef6dc18700737 I couldn't log out from Nextcloud from within its UI, since it crashed immediately on launch. But after removing the offending podcasts from Nextcloud, it was able to sync successfully. Oh, right, you mentioned that it wouldn't start up... Glad you figured out a fix for your local borked configuration. Anyway, the underlying issue will be fixed in 23.04.3. This syncing business is pretty tricky. After looking at the code, I still don't see how you could have got into that particular situation. :-) I tried very hard to reproduce it, but couldn't. Apart from the nullptr dereference which should never have happened (and is now fixed), the sync code has several layers of safeguards to filter out invalid actions, like removing a feed that you don't have locally. I guess I need to also have another very close look at those safeguards. |