Bugzilla – Bug 1138261
Clementine crashes. Also eats memory. with "save statistics in file tags when possible" enabled
Last modified: 2019-08-31 22:51:55 UTC
I found that Clementine crashes if the setting "Library / save statistics in file tags when possible" is activated. Happened with both the OSS repo and the Multimedia repo version. Currently using: cer@Telcontar:~> rpm -q clementine clementine-1.3.1-lp150.1.6.x86_64 cer@Telcontar:~> <3.6> 2019-06-13 10:20:50 Telcontar systemd 1 - - Started Process Core Dump (PID 23375/UID 0). <3.6> 2019-06-13 10:20:50 Telcontar systemd-coredump 23376 - - Resource limits disable core dumping for process 23171 (clementine). <1.2> 2019-06-13 10:20:50 Telcontar systemd-coredump 23376 - - Process 23171 (clementine) of user 1000 dumped core. 10:20:10.800 DEBUG MainWindow:1448 position 40 scrobble point 78 status 0 10:20:20.800 DEBUG MainWindow:1448 position 50 scrobble point 78 status 0 10:20:30.800 DEBUG MainWindow:1448 position 60 scrobble point 78 status 0 10:20:40.800 DEBUG MainWindow:1448 position 70 scrobble point 78 status 0 10:20:45.076 DEBUG Playlist:1669 Setting metadata for QUrl( "file:///home1/cer/mp3.audex/Johannes Brahms/Ungarische Tanze - Hungarian Dances/02 - Hungarian Dance No.2 in D Minor (Allegro Non Assai, Vivace).mp3" ) to "Johannes Brahms" "Hungarian Dance No.2 in D Minor (Allegro Non Assai, Vivace)" 10:20:45.177 DEBUG Playlist:1669 Setting metadata for QUrl( "file:///home1/cer/mp3.audex/Johannes Brahms/Ungarische Tanze - Hungarian Dances/02 - Hungarian Dance No.2 in D Minor (Allegro Non Assai, Vivace).mp3" ) to "Johannes Brahms" "Hungarian Dance No.2 in D Minor (Allegro Non Assai, Vivace)" 10:20:48.879 DEBUG TagReader:730 Saving song statistics tags to "/home1/cer/mp3.audex/Johannes Brahms/Ungarische Tanze - Hungarian Dances/02 - Hungarian Dance No.2 in D Minor (Allegro Non Assai, Vivace).mp3" 10:20:48.879 DEBUG TagReader:863 Setting FMPSFrame: "FMPS_PlayCount" , "1" 10:20:48.879 DEBUG TagReader:863 Setting FMPSFrame: "FMPS_Rating_Amarok_Score" , "0.5" 10:20:48.879 DEBUG LibraryWatcher:606 Subdir "/home1/cer/mp3.audex/Johannes Brahms/Ungarische Tanze - Hungarian Dances" changed under directory "/home1/cer/mp3.audex" id 1 10:20:48.879 DEBUG MessageReply<MessageType>:90 Releasing ID 5 (finished) 10:20:49.921 DEBUG LibraryWatcher:343 "/home1/cer/mp3.audex/Johannes Brahms/Ungarische Tanze - Hungarian Dances/02 - Hungarian Dance No.2 in D Minor (Allegro Non Assai, Vivace).mp3" changed 10:20:49.921 DEBUG _MessageReplyBase:24 Waiting on ID 6 10:20:50.800 DEBUG MainWindow:1448 position 80 scrobble point 78 status 0 Segmentation fault (core dumped) cer@Telcontar:~> <0.6> 2019-06-13 10:13:04 Telcontar kernel - - - [20824.378283] QThread[22626]: segfault at 10 ip 00007f525d647ea0 sp 00007f523bffe328 error 4 in libpthread-2.26.so[7f525d63e000+19000] <3.6> 2019-06-13 10:13:05 Telcontar systemd 1 - - Started Process Core Dump (PID 22941/UID 0). <3.6> 2019-06-13 10:13:05 Telcontar systemd-coredump 22942 - - Resource limits disable core dumping for process 22623 (clementine). <1.2> 2019-06-13 10:13:05 Telcontar systemd-coredump 22942 - - Process 22623 (clementine) of user 1000 dumped core. cer@Telcontar:~> rpm -qf /lib/libpthread-2.26.so glibc-32bit-2.26-lp150.11.17.1.x86_64 cer@Telcontar:~> Aside this, related or not I don't know: top - 20:29:59 up 1 day, 21:19, 5 users, load average: 0,71, 0,88, 0,76 Tasks: 481 total, 2 running, 478 sleeping, 0 stopped, 1 zombie %Cpu(s): 11,8 us, 1,7 sy, 0,0 ni, 86,1 id, 0,4 wa, 0,0 hi, 0,0 si, 0,0 st KiB Mem : 8161132 total, 1674284 free, 4929500 used, 1557348 buff/cache KiB Swap: 25165820 total, 20121708 free, 5044112 used. 2735848 avail Mem PID USER PR NI VIRT RES SHR SWAP S %CPU %MEM TIME+ COMMAND 4442 cer 20 0 20,001t 847732 7864 241256 R 1,190 10,39 2:52.74 clementine Look at the virtual memory it uses: 20 terabytes. Not real memory, but still... real memory is 10% of the machine total memory. A lot for a program that was not "running" that moment.
There's a serious problem with the "save statistics in file tags when possible" feature. I tried clicking the "Synchronize statistics to files now" button as well as enabling save statistics and I had to use "ctrl alt sysreq e" to escape because my system froze. My Tumbleweed laptop which has the same 4Gig i3 cpu configuration but is much newer is playing under the same circumstances but is visibly slowed down. I'll look upstream for a fix but it may be that this feature is normally resource hungry it writes a 24 byte hexadecimal value to the comment section of both tag 1 and tag 2. Can you install clementine, clementine-debugsource and clementine-debuginfo from Leap:15.0 oss and debug repos and try for a gdb backtrace?
Sure. Could you remind me of the procedure to do with gdb? I use it so rarely that I have forgotten. Perhaps it is written somewhere in the wiki :-? Ok, found <https://en.opensuse.org/openSUSE:Bugreport_application_crashed>, trying to follow that. cer@Telcontar:~> rpm -qa | grep clementine clementine-debuginfo-1.3.1+git20190423-lp150.127.4.x86_64 clementine-debugsource-1.3.1+git20190423-lp150.127.4.x86_64 clementine-1.3.1-lp150.1.6.x86_64 cer@Telcontar:~> cer@Telcontar:~> gdb /usr/bin/clementine GNU gdb (GDB; openSUSE Leap 15.0) 8.2 ... For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /usr/bin/clementine...Missing separate debuginfo for /usr/bin/clementine Try: zypper install -C "debuginfo(build-id)=3b1018be3089921e315492659dd7c7eb5504ebed" (no debugging symbols found)...done. (gdb) It seems to me that the wrong versions got installed. Trying again. cer@Telcontar:~> gdb /usr/bin/clementine ... For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /usr/bin/clementine...Reading symbols from /usr/lib/debug/usr/bin/clementine-1.3.1-lp150.1.6.x86_64.debug...done. done. (gdb) [enter run] ... (complains of many libraries missing symbols and to possibly install, too many to copy) ... 19:30:16.258 DEBUG MainWindow:1448 position 110 scrobble point 142 status 0 19:30:26.258 DEBUG MainWindow:1448 position 120 scrobble point 142 status 0 19:30:36.258 DEBUG MainWindow:1448 position 130 scrobble point 142 status 0 19:30:46.258 DEBUG MainWindow:1448 position 140 scrobble point 142 status 0 19:30:48.359 DEBUG TagReader:730 Saving song statistics tags to "/home1/cer/mp3.audex/J.S. Bach/J.S. Bach - Brandenburg Concertos (Karajan)/02 - Bach ยท Brandenburg Concerto #1 In F, BWV 1046 - 2. Adagio.mp3" 19:30:48.359 DEBUG TagReader:863 Setting FMPSFrame: "FMPS_PlayCount" , "1" 19:30:48.359 DEBUG TagReader:863 Setting FMPSFrame: "FMPS_Rating_Amarok_Score" , "0.5" 19:30:48.359 DEBUG LibraryWatcher:606 Subdir "/home1/cer/mp3.audex/J.S. Bach/J.S. Bach - Brandenburg Concertos (Karajan)" changed under directory "/home1/cer/mp3.audex" id 1 19:30:48.359 DEBUG MessageReply<MessageType>:90 Releasing ID 1 (finished) 19:30:48.360 WARN unknown QWaitCondition::wakeAll(): mutex lock failure: Invalid argument 19:30:48.360 WARN unknown QWaitCondition::wakeAll(): mutex unlock failure: Invalid argument Thread 1 "clementine" received signal SIGSEGV, Segmentation fault. 0x00007ffff0e366a2 in tcache_get () from /lib64/libc.so.6 (gdb) The wiki says all that is written to a file gdb.txt on exit gdb. I hope it is true. [...] Nope, nothing written. Ok, I'll paste the entire terminal session into a file and attach that.
Created attachment 807683 [details] gdb session (firefox crashed twice as I hit enter on the file 'p' to attach. A third time I double clicked on file, but then bugzilla complained there is no file to attach. Trying a fourth time) gdb window copy paste. I hope this is what you need. If not, just ask and I'll try again, it seems that clementine crashes reliably here with that option enabled.
(the third time mentioned above, bugzilla asked me to log in; I did, then it forgot the file to attach and the comments. This time it worked. Pfff!)
(In reply to Carlos Robinson from comment #4) > (the third time mentioned above, bugzilla asked me to log in; I did, then it > forgot the file to attach and the comments. This time it worked. Pfff!) You got everything right except you need to type bt to obtain the backtrace before quitting.
Need back trace ie type bt before quiting gdb
Oh! Here goes :-D Thread 1 "clementine" received signal SIGSEGV, Segmentation fault. 0x00007ffff0e366a2 in tcache_get () from /lib64/libc.so.6 (gdb) bt #0 0x00007ffff0e366a2 in tcache_get () at /lib64/libc.so.6 #1 0x00007ffff175a4d8 in operator new(unsigned long) () at /usr/lib64/libstdc++.so.6 #2 0x00007ffff5a53ba2 in () at /usr/lib64/libQtCore.so.4 #3 0x00007ffff5a51fa3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQtCore.so.4 #4 0x00007ffff5a7ec0e in () at /usr/lib64/libQtCore.so.4 #5 0x00007ffff4ce5e07 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #6 0x00007ffff4ce61b0 in () at /usr/lib64/libglib-2.0.so.0 #7 0x00007ffff4ce623c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #8 0x00007ffff5a7ed76 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #9 0x00007ffff27f9b77 in () at /usr/lib64/libQtGui.so.4 #10 0x00007ffff5a4d2a4 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #11 0x00007ffff5a4d60e in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #12 0x00007ffff5a5315c in QCoreApplication::exec() () at /usr/lib64/libQtCore.so.4 #13 0x00005555558015c6 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/clementine-1.3.1-lp150.1.6.x86_64/src/main.cpp:487 (gdb) quit
Created attachment 807690 [details] full screen paste of gdb session I attach the full screen paste of the gdp session.
Thanks, I'm digesting the information.
I can reproduce this in 15.1 with clementine-1.3.1, I haven't had a problem yet with clementine-1.3.1+git20190423 from my home repo, you might try meanwhile, there are debug packages in the same repo: https://download.opensuse.org/repositories/home:/plater/Leap_15.0
Clementine in: https://download.opensuse.org/repositories/home:/plater/Leap_15.0 has had a lot of work done on memory leaks, this may fix this bug. If it does I can send the patch to 15.x updates
Use : https://download.opensuse.org/repositories/home:/plater:/branches:/OBS_Maintained:/clementine/openSUSE_Leap_15.0_Update for 15.0's clementine-1.3.1
https://github.com/clementine-player/Clementine/pull/6372/commits/0b499c6a0caad20df57e782735d1b456f42fcdec.patch
Please test clementine-1.3.1 from the repository in Comment 12 it has the patch mentioned in Comment 13 which should fix this issue, I'll check myself as soon as I have a moment.
The repository stated in Comment 12 is broken atm I will notify when it's fixed.
Please try clementine-1.3.1-lp150.2.6.1 from: https://download.opensuse.org/repositories/home:/plater:/branches:/OBS_Maintained:/clementine/openSUSE_Leap_15.0_Update
Created mr#718242
This is an autogenerated message for OBS integration: This bug (1138261) was mentioned in https://build.opensuse.org/request/show/718242 15.0+15.1+Backports:SLE-15 / clementine
openSUSE-RU-2019:1998-1: An update that has two recommended fixes can now be installed. Category: recommended (moderate) Bug References: 1138261,1141444 CVE References: Sources used: openSUSE Leap 15.1 (src): clementine-1.3.1-lp151.3.6.1 openSUSE Leap 15.0 (src): clementine-1.3.1-lp150.2.6.1 openSUSE Backports SLE-15 (src): clementine-1.3.1-bp150.2.6.1
wasreleased
openSUSE-RU-2019:2026-1: An update that has two recommended fixes can now be installed. Category: recommended (moderate) Bug References: 1138261,1141444 CVE References: Sources used: openSUSE Backports SLE-15-SP1 (src): clementine-1.3.1-bp151.4.6.1