Closed andybalaam closed 2 years ago
Looks like the crash is happening in the Qt Network module but you are missing debug symbols. Ubuntu Impish is using Qt 5.15.2 with a few patches, Qt 6 is not available on Ubuntu for some reason, no point in filing bug reports to Qt for 5.15.2. The Json output from the debug logging shows that one of the song is missing "duration" from the server so it's rejected, but I don't think that's related to the crash.
Is the "use HTTP/2 when possible" in the Subsonic settings checked or unchecked? Can you try changing it and see if it makes any difference? Anyway, I think this needs to be reported to Ubuntu. Ubuntu is using the Qt 5.15 version which is no longer receiving patches from Qt for open source users, so it's a headache to deal with. they should be using Qt 5.12 LTS, Qt 6.2 LTS or the latest Qt 6 version which receives patches from Qt.
I tested on Ubuntu 21.10 now and I can't reproduce any problems. What Subsonic settings do you use? Does it crash every time?
I just tried it on my other machine (also Ubuntu MATE) and it worked fine. Trying again on the machine where it crashed...
Still crashes on this machine. I've tried unchecking and checking the various options above, and it crashes every time.
$ uname -a
Linux andy-XPS-15-9500 5.13.0-27-generic #29-Ubuntu SMP Wed Jan 12 17:36:47 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
$ lscpu | grep "Model name"
Model name: Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
Let me know if I can provide more info. I will try to build and run with debug symbols.
In case it's useful to anyone else, here is the (probably overkill) list of packages I had to install on Ubuntu 20.10 to build Strawberry:
sudo apt install \
libboost-dev \
libprotobuf-dev \
protobuf-compiler \
libalsaplayer-dev \
alsa-utils \
alsa \
libasound2-dev \
libsqlite3-dev libvlc-dev libcdio-dev libxcb1-dev libgstreamer1.0-dev \
libpulse-dev libchromaprint-dev libgpod-dev libmtp-dev libgdk-pixbuf2.0-dev \
kde-dev \
libkf5config-dev \
librust-gstreamer-audio-sys-dev \
libqt5x11extras5-dev \
libtaglib-cil-dev libfftw3-dev libgtest-dev \
taglib \
libtaglib*
I built with:
git clone https://github.com/strawberrymusicplayer/strawberry
cd strawberry
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j$(nproc)
and ran with:
gdb ./strawberry
...
(gdb) r
Then clicked "Refresh catalogue"
I had to try twice, but the second time I clicked it, I got the crash:
[Thread 0x7fff977fe640 (LWP 39761) exited]
[Thread 0x7fff9e7fc640 (LWP 39758) exited]
[Thread 0x7fff9f7fe640 (LWP 39757) exited]
[Thread 0x7fff96ffd640 (LWP 39762) exited]
[Thread 0x7fff967fc640 (LWP 39763) exited]
[Thread 0x7fff97fff640 (LWP 39760) exited]
[Thread 0x7fffd0d19640 (LWP 39755) exited]
10:16:04.362 ERROR SubsonicRequest:892 Subsonic: "Operation canceled (5)"
10:16:04.363 ERROR SubsonicRequest:892 Subsonic: "Operation canceled (5)"
10:16:04.762 WARN unknown stream 201 finished with error: "Server stopped accepting new streams before this stream was established"
10:16:04.762 WARN unknown stream 203 finished with error: "Server stopped accepting new streams before this stream was established"
10:16:04.762 ERROR SubsonicRequest:892 Subsonic: "Server stopped accepting new streams before this stream was established (205)"
10:16:04.768 ERROR SubsonicRequest:892 Subsonic: "Server stopped accepting new streams before this stream was established (205)"
Thread 65 "QNetworkAccessM" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff53fff640 (LWP 39809)]
0x00007ffff6cdfc08 in ?? () from /lib/x86_64-linux-gnu/libQt5Network.so.5
(gdb) where
#0 0x00007ffff6cdfc08 in () at /lib/x86_64-linux-gnu/libQt5Network.so.5
#1 0x00007ffff6cdeccc in () at /lib/x86_64-linux-gnu/libQt5Network.so.5
#2 0x00007ffff6cdf0fa in () at /lib/x86_64-linux-gnu/libQt5Network.so.5
#3 0x00007ffff6cefc07 in () at /lib/x86_64-linux-gnu/libQt5Network.so.5
#4 0x00007ffff656273e in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#5 0x00007ffff763a6b3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6 0x00007ffff653516a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#7 0x00007ffff6538257 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#8 0x00007ffff658eef7 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#9 0x00007ffff58988bb in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff58ebf08 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff5896003 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007ffff658e548 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007ffff6533a9b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffff63478c2 in QThread::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007ffff6348a71 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007ffff5337927 in start_thread (arg=<optimised out>) at pthread_create.c:435
#17 0x00007ffff53c79e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
(I removed some of the logs from before the crash - let me know if you need them.)
Still missing debug symbols for libQt5Network
This looks like a Qt bug. I suggest to install the debug symbols for qt5network and report this to ubuntu
Describe the bug Strawberry crashes when Refreshing Subsonic catalogue.
To Reproduce
GDB trace:
Expected behavior I expected it not to crash
System Information:
Installed from the PPA at ppa:jonaski/strawberry