Strawberry crashes on song change
-
Hello,
I am running the flatpak version 1.0.23 of Strawbery on Pop!_OS 22.04 jammy (Ubuntu)
I feel like I am having this exact problem mentioned here:
https://forum.strawberrymusicplayer.org/topic/195/strawberry-crashing-since-last-updateThe program will go into a buffering state when trying to load a next song (can happen on second song or later) and when I click on anything while it is "buffering", strawberry freezes completely. Killing the process and restarting the program works, but the problem always re-occurs.
I thought it was caused by my collection being stored on HDD, but I moved it to SSD and it still occurs.
Let me know if it is a known problem with the flatpak version.
-
@azino
What GStreamer version do you have in flatpak?
GStreamer versions 1.22.9 and 1.22.10 are buggy, so if it's one of those it could be related to this issue: https://github.com/strawberrymusicplayer/strawberry/issues/1376 -
@jonas I have GStreamer 1.22.11 installed in the flatpak. I'll look into installing the working 1.22.8, but for now I'm using VLC as the Engine and it seems to have fixed the problem. Thank you for the fast response!
Edit:
I looked into it. the flatpak's last commit is this:
ID: org.strawberrymusicplayer.strawberry Ref: app/org.strawberrymusicplayer.strawberry/x86_64/stable Arch: x86_64 Branch: stable Collection: org.flathub.Stable Download: 84.2Â MB Installed: 248.4Â MB Runtime: org.kde.Platform/x86_64/6.6 Sdk: org.kde.Sdk/x86_64/6.6 Commit: 7b5e244fc2f038aa0d865e303683a19538da1898bdaf6deee45a802093cb6532 Parent: 92eab1ea728f2b1379727fddf7d20fe2c06b4b43a93495c395d9b0462af048e1 Subject: Update strawberry-1.0.22.tar.xz to 1.0.23 (74b13794) Date: 2024-01-12 06:55:07 +0000
which is before version 1.22.9 came out according to GStreamer's website
https://gstreamer.freedesktop.org/releases/1.22/I also see no version specification in the flatpak's manifest
{ "id" : "org.strawberrymusicplayer.strawberry", "runtime" : "org.kde.Platform", "runtime-version" : "6.6", "runtime-commit" : "23107550082daf3b2892a4a0db2543838578ca882340a756b988bc5c1614540c", "sdk" : "org.kde.Sdk", "sdk-commit" : "9a11133e9e3c4eace8edb4c930e8c69264d4dc50e0df43b4a941a845e36baaf0", "command" : "start-strawberry", "modules" : [ { "name" : "boost", "buildsystem" : "simple", "sources" : [ { "url" : "https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.gz", "sha256" : "a5800f405508f5df8114558ca9855d2640a2de8f0445f051fa1c7c3383045724", "x-checker-data" : { "type" : "anitya", "project-id" : 6845, "url-template" : "https://boostorg.jfrog.io/artifactory/main/release/$version/source/boost_${version0}_${version1}_$version2.tar.gz" }, "type" : "archive" } ], "build-commands" : [ "./bootstrap.sh --prefix=\"${FLATPAK_DEST}\"", "./b2 --without-mpi --without-graph_parallel -j ${FLATPAK_BUILDER_N_JOBS}", "./b2 --without-mpi --without-graph_parallel -j ${FLATPAK_BUILDER_N_JOBS} headers", "./b2 --without-mpi --without-graph_parallel install" ] }, { "name" : "chromaprint", "buildsystem" : "cmake-ninja", "config-opts" : [ "-DCMAKE_BUILD_TYPE=Release" ], "sources" : [ { "url" : "https://github.com/acoustid/chromaprint/releases/download/v1.5.1/chromaprint-1.5.1.tar.gz", "sha256" : "a1aad8fa3b8b18b78d3755b3767faff9abb67242e01b478ec9a64e190f335e1c", "x-checker-data" : { "type" : "anitya", "project-id" : 286, "url-template" : "https://github.com/acoustid/chromaprint/releases/download/v$version/chromaprint-$version.tar.gz" }, "type" : "archive" } ] }, { "name" : "protobuf", "sources" : [ { "url" : "https://github.com/protocolbuffers/protobuf/releases/download/v21.8/protobuf-cpp-3.21.8.tar.gz", "sha256" : "f6251f2d00aad41b34c1dfa3d752713cb1bb1b7020108168a4deaa206ba8ed42", "type" : "archive" } ], "cleanup" : [ "/bin/protoc" ] }, { "name" : "taglib", "buildsystem" : "cmake-ninja", "config-opts" : [ "-DCMAKE_BUILD_TYPE=Release", "-DBUILD_SHARED_LIBS=ON", "-DCMAKE_POSITION_INDEPENDENT_CODE=ON", "-DWITH_MP4=ON", "-DWITH_ASF=ON" ], "sources" : [ { "url" : "https://github.com/taglib/taglib/releases/download/v1.12/taglib-1.12.tar.gz", "sha256" : "7fccd07669a523b07a15bd24c8da1bbb92206cb19e9366c3692af3d79253b703", "type" : "archive" } ], "cleanup" : [ "/bin" ] }, { "name" : "libebur128", "buildsystem" : "cmake-ninja", "config-opts" : [ "-DCMAKE_BUILD_TYPE=Release" ], "sources" : [ { "url" : "https://github.com/jiixyj/libebur128.git", "commit" : "67b33abe1558160ed76ada1322329b0e9e058b02", "x-checker-data" : { "type" : "git", "tag-pattern" : "v([\\d]\\.[\\d]\\.[\\d])" }, "type" : "git" } ] }, { "name" : "libcdio", "config-opts" : [ "--without-cd-drive", "--without-cd-info", "--without-cdda-player", "--without-cd-read", "--without-iso-info", "--without-iso-read", "--with-pic", "--disable-static" ], "sources" : [ { "url" : "https://ftp.gnu.org/gnu/libcdio/libcdio-2.1.0.tar.bz2", "sha256" : "8550e9589dbd594bfac93b81ecf129b1dc9d0d51e90f9696f1b2f9b2af32712b", "x-checker-data" : { "type" : "anitya", "project-id" : 1573, "stable-only" : true, "url-template" : "https://ftp.gnu.org/gnu/libcdio/libcdio-$version.tar.bz2" }, "type" : "archive" } ], "cleanup" : [ "/bin" ] }, { "name" : "libusb", "config-opts" : [ "--disable-static" ], "sources" : [ { "url" : "https://github.com/libusb/libusb/releases/download/v1.0.26/libusb-1.0.26.tar.bz2", "sha256" : "12ce7a61fc9854d1d2a1ffe095f7b5fac19ddba095c259e6067a46500381b5a5", "type" : "archive" } ], "cleanup" : [ "/lib/*.la", "/lib/pkgconfig", "/include" ], "post-install" : [ "install -Dm644 COPYING ${FLATPAK_DEST}/share/licenses/libusb/COPYING" ] }, { "name" : "libmtp", "config-opts" : [ "--disable-static", "--with-udev=/app/lib/udev" ], "sources" : [ { "url" : "https://github.com/libmtp/libmtp/releases/download/v1.1.21/libmtp-1.1.21.tar.gz", "sha256" : "f4c1ceb3df020a6cb851110f620c14fe399518c494ed252039cbfb4e34335135", "x-checker-data" : { "type" : "anitya", "project-id" : 10017, "url-template" : "https://github.com/libmtp/libmtp/releases/download/v$version/libmtp-$version.tar.gz" }, "type" : "archive" } ], "cleanup" : [ "/bin", "/share" ] }, { "name" : "vlc", "config-opts" : [ "BUILDCC=/usr/bin/gcc -std=gnu99", "--disable-debug", "--disable-ncurses", "--disable-a52", "--disable-qt", "--disable-lua", "--disable-vlc", "--prefix=/app" ], "sources" : [ { "url" : "https://download.videolan.org/videolan/vlc/3.0.20/vlc-3.0.20.tar.xz", "sha256" : "adc7285b4d2721cddf40eb5270cada2aaa10a334cb546fd55a06353447ba29b5", "x-checker-data" : { "type" : "anitya", "project-id" : 6504, "versions" : { ">=" : "3", "<" : "4" }, "url-template" : "https://download.videolan.org/videolan/vlc/$version/vlc-$version.tar.xz" }, "type" : "archive" } ], "cleanup" : [ "/share", "/bin" ] }, { "name" : "strawberry", "buildsystem" : "cmake-ninja", "config-opts" : [ "-DCMAKE_BUILD_TYPE=Release" ], "sources" : [ { "url" : "https://github.com/strawberrymusicplayer/strawberry/releases/download/1.0.23/strawberry-1.0.23.tar.xz", "sha256" : "24f63064caf62c72330e9fa0808a1ca938339831d0a4e8385986280601a54f10", "x-checker-data" : { "type" : "json", "url" : "https://api.github.com/repos/strawberrymusicplayer/strawberry/releases/latest", "version-query" : ".tag_name", "url-query" : ".assets[] | select(.name==\"strawberry-\"+ $version +\".tar.xz\") | .browser_download_url" }, "type" : "archive" }, { "commands" : [ "export TMPDIR=$XDG_RUNTIME_DIR/app/$FLATPAK_ID", "/app/bin/strawberry \"$@\"" ], "dest-filename" : "start-strawberry.sh", "type" : "script" } ], "post-install" : [ "install -Dm755 start-strawberry.sh /app/bin/start-strawberry" ] } ], "cleanup" : [ "/include", "/lib/cmake", "/lib/pkgconfig", "/share/info", "/share/man", "/share/tagparser", "/share/c++utilities", "/bin/mmc-tool" ], "finish-args" : [ "--share=ipc", "--socket=fallback-x11", "--socket=wayland", "--socket=pulseaudio", "--device=all", "--share=network", "--filesystem=xdg-music", "--filesystem=/mnt", "--filesystem=/media", "--filesystem=/run/media", "--system-talk-name=org.freedesktop.Avahi", "--talk-name=org.freedesktop.Notifications", "--system-talk-name=org.freedesktop.UDisks2", "--talk-name=org.gnome.SettingsDaemon.MediaKeys", "--talk-name=org.wiimotedev.deviceEvents", "--talk-name=org.mpris.MediaPlayer2.Player", "--own-name=org.mpris.MediaPlayer2.strawberry", "--talk-name=org.kde.StatusNotifierWatcher", "--talk-name=org.kde.kglobalaccel" ], "rename-icon" : "strawberry", "source-date-epoch" : 1705041004 }
I don't know enough about flatpak myself, but I guess it must be possible to manually add an entry for GStreamer's version though.
-
1.22.11 is not affected by that bug so then I guess the issue is something else.
Are you using pulseaudio, pipewire or alsa directly?
What output is set in the backend settings of strawberry, and have you specifically selected the device? -
@jonas I'm using the default pipewire that comes with Ubuntu based Pop!_OS, but I think pulseaudio controls the sources because the OS runs an older version of GNOME. Not familiar with how it works though.
I often change the output, so I had it set to "Wrapper audio sink for automatically detected audio sink" when using GStreamer. I will test now with "Plays audio to a PulseAudio server" selected, I just noticed that there was a subsequent source selection afterwards.