DeaDBeeF-Player / deadbeef

DeaDBeeF Player
https://deadbeef.sourceforge.io/
Other
1.6k stars 175 forks source link

Crash when adding psf, psf2, minipsf files #1499

Closed Shellcat-Zero closed 7 years ago

Shellcat-Zero commented 8 years ago

I compiled deadbeef today on Ubuntu 14.04, when trying to add these formats the programs crashes. The terminal output is:

Segmentation Fault
backtrace() returned 13 addresses
deadbeef: malloc.c:2372: sysmalloc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 *(sizeof(size_t))) - 1)) & ~((2 *(sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long) old_end & pagemask) == 0)' failed.
zsh: abort      deadbeef
Oleksiy-Yakovenko commented 8 years ago

what happens if you don't compile deadbeef, but use the pre-compiled build?

Shellcat-Zero commented 8 years ago

Same error, my pre-compiled download was 0.6.2 and it crashed exactly the same way, so I cloned the git repo and built it, since the 0.7.0 changelog listed a psf-crash fix (http://deadbeef.sourceforge.net/).

Oleksiy-Yakovenko commented 8 years ago

Does it happen with any file that can be found on the internet, or some specific file(s)? I downloaded a few random packs of psf2 files from zophar domain, and they work fine.

Please make sure that you're using the latest version of deadbeef, latest version of Audio Overload plugin in deadbeef, preferrably the official build, and that you don't have old version of deadbeef and AO plugin installed in parallel, etc.

E.g. search your entire hard drive for the file called ao.so and delete all of them, before unpacking the new version of deadbeef.

This should help. If it still happens, and you can provide the files - please let me know.

Shellcat-Zero commented 8 years ago

Did you build deadbeef from the git repo? That's what I did, I presumed the AO plugin contained here was up to date. Shall I share with you my psf files? Mine also came from Zophars domain, nothing would play without crashing the program.

I do not think this issue should be closed yet.

Shellcat-Zero commented 8 years ago

It's also a bit difficult to check the version number, I get: deadbeef --version starting deadbeef devel DeaDBeeF devel Copyright © 2009-2016 Alexey Yakovenko

Oleksiy-Yakovenko commented 8 years ago

Did you build deadbeef from the git repo?

yes. I built from git, but from 0.7 branch, not master. does it make any difference? you said it's the same crash in all deadbeef versions, so should not matter.

That's what I did, I presumed the AO plugin contained here was up to date.

it is.

Shall I share with you my psf files?

linking to zophar to any file that crashes for you would be enough. or make a backtrace using GDB, as described on wiki here: https://github.com/Alexey-Yakovenko/deadbeef/wiki/GDB-HOWTO

Shellcat-Zero commented 8 years ago

Ah, yes I get the same error whether I clone from master or the 0.7 branch. Here's the backtrace from GDB,

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffae7fc700 (LWP 12792)]
0x00007fffecc7a0d2 in corlett_decode (input=input@entry=0x7fff9c002d40 "PSF\001", input_len=33789, 
    input_len@entry=196608, output=output@entry=0x7fffae7fa6a0, size=size@entry=0x7fffae7fa6c0, 
        c=c@entry=0x7fff9c001e70) at corlett.c:204
        204(*c)->tag_name[num_tags][l++] = *tag_dec;                        

(gdb) thread apply all backtrace

Thread 36 (Thread 0x7fffae7fc700 (LWP 12792)):
#0  0x00007fffecc7a0d2 in corlett_decode (input=input@entry=0x7fff9c002d40 "PSF\001", input_len=33789, 
    input_len@entry=196608, output=output@entry=0x7fffae7fa6a0, size=size@entry=0x7fffae7fa6c0, 
    c=c@entry=0x7fff9c001e70) at corlett.c:204
#1  0x00007fffeccd906e in psf_start (
    path=0xac9810 "/home/MyUsername/drive/Cat/playstation (psf) files/Alundra_psf/101 Alundra.psf", buffer=0x7fff9c002d40 "PSF\001", length=196608) at eng_psf/eng_psf.c:97
#2  0x00007fffecc79345 in aoplug_insert (plt=0x7a5b70, after=0x0, 
    fname=0xac9810 "/home/MyUsername/drive/Cat/playstation (psf) files/Alundra_psf/101 Alundra.psf") at plugin.c:247
#3  0x0000000000408cdc in plt_insert_file_int (visibility=<optimized out>, playlist=0x7a5b70, after=0x0, 
    fname=0xac9810 "/home/MyUsername/drive/Cat/playstation (psf) files/Alundra_psf/101 Alundra.psf", pabort=pabort@entry=0x7fffae7fbe9c, cb=0x0, user_data=0x0) at playlist.c:1425
#4  0x000000000040ed97 in plt_add_file_int (user_data=<optimized out>, cb=<optimized out>, 
    fname=<optimized out>, plt=<optimized out>, visibility=<optimized out>) at playlist.c:1576
#5  plt_add_file2 (visibility=<optimized out>, plt=<optimized out>, fname=<optimized out>, 
    callback=<optimized out>, user_data=<optimized out>) at playlist.c:3883
#6  0x00007ffff6a68100 in gtkpl_addfile_cb (data=0xac9810, userdata=<optimized out>) at fileman.c:84
#7  0x00007ffff4e886b8 in g_slist_foreach () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007ffff6a6838d in gtkpl_add_files (lst=0x7fffa0001c20) at fileman.c:97
#9  0x00007ffff6a68406 in open_files_worker (data=<optimized out>) at fileman.c:134
#10 0x00007ffff76ba182 in start_thread (arg=0x7fffae7fc700) at pthread_create.c:312
#11 0x00007ffff73e747d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 33 (Thread 0x7fffaeffd700 (LWP 12783)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007ffff4eadce5 in g_cond_wait_until () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff4e421c1 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff4e91862 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff4e90f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff76ba182 in start_thread (arg=0x7fffaeffd700) at pthread_create.c:312
#6  0x00007ffff73e747d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 9 (Thread 0x7fffbe134700 (LWP 12734)):
#0  0x00007ffff73da12d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff4e6bfe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff4e6c0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff4e6c129 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff4e90f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff76ba182 in start_thread (arg=0x7fffbe134700) at pthread_create.c:312
#6  0x00007ffff73e747d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 8 (Thread 0x7fffd3fff700 (LWP 12724)):
#0  0x00007ffff73da12d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff4e6bfe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff4e6c0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffe02721ad in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007ffff4e90f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff76ba182 in start_thread (arg=0x7fffd3fff700) at pthread_create.c:312
#6  0x00007ffff73e747d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 7 (Thread 0x7fffe0e8a700 (LWP 12723)):
#0  0x00007ffff73da12d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff4e6bfe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff4e6c30a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff423c336 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007ffff4e90f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff76ba182 in start_thread (arg=0x7fffe0e8a700) at pthread_create.c:312
#6  0x00007ffff73e747d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7fffee4da700 (LWP 12721)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x000000000041763b in cond_wait (c=7664688, m=7664640) at threading_pthread.c:217
#2  0x0000000000416337 in messagepump_wait () at messagepump.c:115
#3  0x0000000000404ea7 in player_mainloop () at main.c:696
#4  0x0000000000404fe9 in mainloop_thread (ctx=<optimized out>) at main.c:809
#5  0x00007ffff76ba182 in start_thread (arg=0x7fffee4da700) at pthread_create.c:312
#6  0x00007ffff73e747d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7fffeecdb700 (LWP 12720)):
#0  0x00007ffff73deda3 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000000000404b97 in server_loop (ctx=<optimized out>) at main.c:575
#2  0x00007ffff76ba182 in start_thread (arg=0x7fffeecdb700) at pthread_create.c:312
#3  0x00007ffff73e747d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7fffe168b700 (LWP 12719)):
#0  0x00007ffff73adf3d in nanosleep () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff73df4a4 in usleep (useconds=useconds@entry=50000) at ../sysdeps/unix/sysv/linux/usleep.c:32
#2  0x0000000000413aca in streamer_thread (ctx=<optimized out>) at streamer.c:1761
#3  0x00007ffff76ba182 in start_thread (arg=0x7fffe168b700) at pthread_create.c:312
#4  0x00007ffff73e747d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7fffe1e8c700 (LWP 12718)):
#0  0x00007ffff73adf3d in nanosleep () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff73df4a4 in usleep (useconds=useconds@entry=200000) at ../sysdeps/unix/sysv/linux/usleep.c:32
#2  0x00007fffe663bff2 in hotkeys_event_loop (unused=<optimized out>) at hotkeys.c:498
#3  0x00007ffff76ba182 in start_thread (arg=0x7fffe1e8c700) at pthread_create.c:312
#4  0x00007ffff73e747d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7ffff7fce740 (LWP 12714)):
#0  0x00007ffff73da12d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff1f38b72 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007ffff1f3a3ff in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007ffff1f3a512 in xcb_wait_for_reply () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#4  0x00007ffff471a48f in _XReply () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#5  0x00007ffff47178e3 in XTranslateCoordinates () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#6  0x00007ffff617f142 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#7  0x00007ffff617f316 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#8  0x00007ffff617f3be in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#9  0x00007ffff4e6be04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff4e6c048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff4e6c30a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007ffff6504447 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#13 0x00007ffff6a4455f in gtkui_thread (ctx=ctx@entry=0x0) at gtkui.c:1157
#14 0x00007ffff6a447b2 in gtkui_start () at gtkui.c:1301
#15 0x0000000000403972 in main (argc=<optimized out>, argv=<optimized out>) at main.c:1157
Oleksiy-Yakovenko commented 8 years ago

reopening, since more information has been provided.. Need to try the 101 Alundra.psf..

Oleksiy-Yakovenko commented 8 years ago

It can be that the crash is happening only on x86_64.. I only tried 32 bit VM.

Oleksiy-Yakovenko commented 8 years ago

I tried the same file as you on the same system -- 64 bit Ubuntu 14.04. It still works fine for me, and for another guy who tested it. I'm out of ideas where to look.

More suggestions:

It might be that something is wrong with your system, or you are not compiling the version that you think you're compiling. I already spent way too much time on this, and we're not moving anywhere.

So please, next time you post -- think twice, whether you provide ALL information that could be useful to reproduce the problem.

Shellcat-Zero commented 8 years ago

Ok, I think I have more helpful information this time. I cannot reproduce the problem on an Ubuntu 14.04 VM, but it still occurs on a completely fresh install of Ubuntu 14.04 with official builds. From the fresh backtrace, I'm suspecting some kind of threading problem with multicore CPUs. It references eng_psf/eng_psf.c:129,

s->mips_cpu = mips_alloc(); 

and eng_psf/psx.c:343,

mips_cpu_context *ctx = malloc (sizeof (mips_cpu_context));

My cpu is an Intel Core i7-4810MQ CPU @ 2.80GHz. I did a fresh clone of the master branch here, and this time set,

export CFLAGS="-O0 -g"

to get better line number info, as directed from your https://github.com/Alexey-Yakovenko/deadbeef/wiki/GDB%20HOWTO. Backtrace:

(gdb) thread apply all backtrace

Thread 27 (Thread 0x7fffc8c17700 (LWP 30633)):
#0  0x00007ffff7323cc9 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff73270d8 in __GI_abort () at abort.c:89
#2  0x00007ffff7360394 in __libc_message (do_abort=1, 
    fmt=fmt@entry=0x7ffff746eb28 "*** Error in `%s': %s: 0x%s ***\n")
    at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff736df36 in malloc_printerr (ptr=0x7fffa8011ac0, 
    str=0x7ffff746ac9a "malloc(): memory corruption", 
    action=<optimized out>) at malloc.c:4996
#4  _int_malloc (av=0x7fffa8000020, bytes=4212800) at malloc.c:3447
#5  0x00007ffff736f7b0 in __GI___libc_malloc (bytes=4212800)
    at malloc.c:2891
#6  0x00007fffe0d6021c in mips_alloc () at eng_psf/psx.c:343
#7  0x00007fffe0d5ebf9 in psf_start (
    path=0xa96a00 "/home/username/arcdrive/Phat_Cat/playstation (psf) files/Alundra_psf/101 Alundra.psf", buffer=0x7fffa8015870 "PSF\001", 
    length=196608) at eng_psf/eng_psf.c:129
#8  0x00007fffe0cdf90b in ao_start (type=2, 
    path=0xa96a00 "/home/username/arcdrive/Phat_Cat/playstation (psf) files/Alundra_psf/101 Alundra.psf", buffer=0x7fffa8015870 "PSF\001", 
    size=196608) at main.c:240
#9  0x00007fffe0cdebb5 in psfplug_insert (plt=0x7c07f0, after=0x0, 
    fname=0xa96a00 "/home/username/arcdrive/Phat_Cat/playstation (psf) files/Alundra_psf/101 Alundra.psf") at plugin.c:247
#10 0x000000000040bd13 in plt_insert_file_int (visibility=0, 
    playlist=0x7c07f0, after=0x0, 
    fname=0xa96a00 "/home/username/arcdrive/Phat_Cat/playstation (psf) files/Alundra_psf/101 Alundra.psf", pabort=0x7fffc8c16e14, cb=0x0, 
    user_data=0x0) at playlist.c:1425
#11 0x000000000040c67e in plt_add_file_int (visibility=0, plt=0x7c07f0, 
    fname=0xa96a00 "/home/username/arcdrive/Phat_Cat/playstation (psf) files/Alundra_psf/101 Alundra.psf", cb=0x0, user_data=0x0)
    at playlist.c:1576
#12 0x0000000000412f3f in plt_add_file2 (visibility=0, plt=0x7c07f0, 
    fname=0xa96a00 "/home/username/arcdrive/Phat_Cat/playstation (psf) files/Alundra_psf/101 Alundra.psf", callback=0x0, user_data=0x0)
    at playlist.c:3883
#13 0x00007ffff6a584b5 in gtkpl_addfile_cb (data=0xa96a00, userdata=0x0)
    at fileman.c:84
#14 0x00007ffff4e6d6b8 in g_slist_foreach ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007ffff6a58566 in gtkpl_add_files (lst=0x9b9d20) at fileman.c:97
#16 0x00007ffff6a586fe in open_files_worker (data=0x9b9d20)
    at fileman.c:134
#17 0x00007ffff76ba182 in start_thread (arg=0x7fffc8c17700)
    at pthread_create.c:312
#18 0x00007ffff73e747d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 22 (Thread 0x7fffb6150700 (LWP 30624)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007ffff4e92ce5 in g_cond_wait_until ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff4e271c1 in ?? ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff4e76862 in ?? ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff4e75f05 in ?? ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff76ba182 in start_thread (arg=0x7fffb6150700)
    at pthread_create.c:312
#6  0x00007ffff73e747d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 10 (Thread 0x7fffedca7700 (LWP 30596)):
#0  0x00007ffff73da12d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff4e50fe4 in ?? ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff4e510ec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff4e51129 in ?? ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff4e75f05 in ?? ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff76ba182 in start_thread (arg=0x7fffedca7700)
    at pthread_create.c:312
#6  0x00007ffff73e747d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 9 (Thread 0x7fffd73df700 (LWP 30562)):
#0  0x00007ffff73da12d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff4e50fe4 in ?? ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff4e510ec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffd73e71ad in ?? ()
   from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007ffff4e75f05 in ?? ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff76ba182 in start_thread (arg=0x7fffd73df700)
    at pthread_create.c:312
#6  0x00007ffff73e747d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 8 (Thread 0x7fffd7fff700 (LWP 30561)):
#0  0x00007ffff73da12d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff4e50fe4 in ?? ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff4e5130a in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff4221336 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007ffff4e75f05 in ?? ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff76ba182 in start_thread (arg=0x7fffd7fff700)
    at pthread_create.c:312
#6  0x00007ffff73e747d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 6 (Thread 0x7fffee4a8700 (LWP 30559)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x000000000041e577 in cond_wait (c=7722032, m=7721984)
    at threading_pthread.c:217
#2  0x000000000041ce93 in messagepump_wait () at messagepump.c:115
#3  0x0000000000404698 in player_mainloop () at main.c:686
#4  0x0000000000404a30 in mainloop_thread (ctx=0x0) at main.c:799
#5  0x00007ffff76ba182 in start_thread (arg=0x7fffee4a8700)
    at pthread_create.c:312
#6  0x00007ffff73e747d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7fffeeca9700 (LWP 30558)):
#0  0x00007ffff73deda3 in select ()
    at ../sysdeps/unix/syscall-template.S:81
#1  0x00000000004042d7 in server_loop (ctx=0x0) at main.c:565
#2  0x00007ffff76ba182 in start_thread (arg=0x7fffeeca9700)
    at pthread_create.c:312
#3  0x00007ffff73e747d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7fffdca0b700 (LWP 30557)):
#0  0x00007ffff73adf3d in nanosleep ()
    at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff73df4a4 in usleep (useconds=<optimized out>)
    at ../sysdeps/unix/sysv/linux/usleep.c:32
#2  0x00000000004178ec in streamer_thread (ctx=0x0) at streamer.c:1648
#3  0x00007ffff76ba182 in start_thread (arg=0x7fffdca0b700)
    at pthread_create.c:312
#4  0x00007ffff73e747d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7fffdd20c700 (LWP 30556)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x000000000041e577 in cond_wait (c=8127968, m=8127920)
    at threading_pthread.c:217
#2  0x00007fffe648fdc4 in lfm_thread (ctx=0x0) at lastfm.c:735
#3  0x00007ffff76ba182 in start_thread (arg=0x7fffdd20c700)
    at pthread_create.c:312
#4  0x00007ffff73e747d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7fffdda0d700 (LWP 30555)):
#0  0x00007ffff73adf3d in nanosleep ()
    at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff73df4a4 in usleep (useconds=<optimized out>)
    at ../sysdeps/unix/sysv/linux/usleep.c:32
#2  0x00007fffe697ffb2 in hotkeys_event_loop (unused=0x0) at hotkeys.c:498
#3  0x00007ffff76ba182 in start_thread (arg=0x7fffdda0d700)
    at pthread_create.c:312
#4  0x00007ffff73e747d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7ffff7fce740 (LWP 30551)):
#0  0x00007ffff57dc6af in ?? ()
   from /usr/lib/x86_64-linux-gnu/libcairo.so.2
#1  0x00007ffff57dca63 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libcairo.so.2
#2  0x00007ffff57d0ed2 in cairo_restore ()
   from /usr/lib/x86_64-linux-gnu/libcairo.so.2
#3  0x00007fffd69b68b3 in ?? ()
   from /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libmurrine.so
#4  0x00007fffd69c79ea in ?? ()
   from /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libmurrine.so
#5  0x00007fffd69bece5 in ?? ()
   from /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libmurrine.so
#6  0x00007ffff6449a7a in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#7  0x00007ffff6449c9d in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#8  0x00007ffff64eb815 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#9  0x00007ffff5322332 in g_closure_invoke ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff5333afb in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff533b6f9 in g_signal_emit_valist ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff533bce2 in g_signal_emit ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007ffff65fb684 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#14 0x00007ffff64745b8 in gtk_container_propagate_expose ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#15 0x00007ffff6440cfa in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#16 0x00007ffff6473144 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#17 0x00007ffff64eb815 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#18 0x00007ffff5322332 in g_closure_invoke ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007ffff5333afb in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007ffff533b6f9 in g_signal_emit_valist ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007ffff533bce2 in g_signal_emit ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007ffff65fb684 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#23 0x00007ffff64745b8 in gtk_container_propagate_expose ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#24 0x00007ffff6440cfa in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#25 0x00007ffff6473144 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#26 0x00007ffff64eb815 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#27 0x00007ffff5322332 in g_closure_invoke ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007ffff5333afb in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#29 0x00007ffff533b6f9 in g_signal_emit_valist ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#30 0x00007ffff533bce2 in g_signal_emit ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#31 0x00007ffff65fb684 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#32 0x00007ffff64745b8 in gtk_container_propagate_expose ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#33 0x00007ffff6473144 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#34 0x00007ffff64eb815 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#35 0x00007ffff53223b8 in g_closure_invoke ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#36 0x00007ffff5333afb in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#37 0x00007ffff533b6f9 in g_signal_emit_valist ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#38 0x00007ffff533bce2 in g_signal_emit ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#39 0x00007ffff65fb684 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#40 0x00007ffff64ea610 in gtk_main_do_event ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#41 0x00007ffff614bf1f in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#42 0x00007ffff6148b9a in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#43 0x00007ffff6149478 in gdk_window_process_all_updates ()
   from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#44 0x00007ffff61494d9 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#45 0x00007ffff6128ce7 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#46 0x00007ffff4e50ce5 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007ffff4e51048 in ?? ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007ffff4e5130a in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#49 0x00007ffff64e9447 in gtk_main ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#50 0x00007ffff6a29cee in gtkui_thread (ctx=0x0) at gtkui.c:1157
#51 0x00007ffff6a2a53a in gtkui_start () at gtkui.c:1301
#52 0x0000000000405812 in main (argc=1, argv=0x7fffffffd9d8)
    at main.c:1147

Output of ./configure:

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for gcc... gcc
checking whether we are using the GNU Objective C compiler... no
checking whether gcc accepts -g... no
checking dependency style of gcc... gcc3
checking for ANSI C header files... (cached) yes
checking whether byte ordering is bigendian... no
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking whether we are using the GNU C Library 2 or newer... yes
checking for ranlib... (cached) ranlib
checking whether the -Werror option is usable... yes
checking for simple visibility declarations... yes
checking for inline... inline
checking for size_t... yes
checking for stdint.h... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for getpagesize... yes
checking for working mmap... yes
checking whether integer division by zero raises SIGFPE... yes
checking for inttypes.h... yes
checking for unsigned long long int... yes
checking for inttypes.h... (cached) yes
checking whether the inttypes.h PRIxNN macros are broken... no
checking for ld used by GCC... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking for shared library run path origin... done
checking whether imported symbols can be declared weak... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_kill in -lpthread... yes
checking for multithread API to use... posix
checking for pthread_rwlock_t... yes
checking argz.h usability... yes
checking argz.h presence... yes
checking for argz.h... yes
checking for inttypes.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for unistd.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for getcwd... yes
checking for getegid... yes
checking for geteuid... yes
checking for getgid... yes
checking for getuid... yes
checking for mempcpy... yes
checking for munmap... yes
checking for stpcpy... yes
checking for strcasecmp... yes
checking for strdup... yes
checking for strtoul... yes
checking for tsearch... yes
checking for uselocale... yes
checking for argz_count... yes
checking for argz_stringify... yes
checking for argz_next... yes
checking for __fsetlocking... yes
checking whether feof_unlocked is declared... yes
checking whether fgets_unlocked is declared... yes
checking for iconv... yes
checking for working iconv... yes
checking for iconv declaration... 
         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for bison... bison
checking version of bison... 3.0.2, ok
checking for long long int... yes
checking for wchar_t... yes
checking for wint_t... yes
checking for intmax_t... yes
checking whether printf() supports POSIX/XSI format strings... yes
checking whether we are using the GNU C Library 2.1 or newer... yes
checking for stdint.h... (cached) yes
checking for SIZE_MAX... yes
checking for stdint.h... (cached) yes
checking for working fcntl.h... no (bad O_NOATIME)
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for ptrdiff_t... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for asprintf... yes
checking for fwprintf... yes
checking for newlocale... yes
checking for putenv... yes
checking for setenv... yes
checking for setlocale... yes
checking for snprintf... yes
checking for strnlen... yes
checking for wcslen... yes
checking for wcsnlen... yes
checking for mbrtowc... yes
checking for wcrtomb... yes
checking whether _snprintf is declared... no
checking whether _snwprintf is declared... no
checking whether getc_unlocked is declared... yes
checking for nl_langinfo and CODESET... yes
checking for LC_MESSAGES... yes
checking for CFPreferencesCopyAppValue... (cached) no
checking for CFLocaleCopyCurrent... (cached) no
checking whether included gettext is requested... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for intltool >= 0.40.0... 0.50.2 found
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... (cached) /usr/bin/xgettext
checking for msgmerge... (cached) /usr/bin/msgmerge
checking for msgfmt... (cached) /usr/bin/msgfmt
checking for gmsgfmt... (cached) /usr/bin/msgfmt
checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... 5.18.2
checking for XML::Parser... ok
checking for main in -lintl... no
checking for yasm... no
checking for log2 in -lm... yes
checking for main in -ldl... yes
checking for main in -lsocket... no
checking alloca.h usability... yes
checking alloca.h presence... yes
checking for alloca.h... yes
checking sys/syslimits.h usability... no
checking sys/syslimits.h presence... no
checking for sys/syslimits.h... no
checking sys/cdefs.h usability... yes
checking sys/cdefs.h presence... yes
checking for sys/cdefs.h... yes
checking for main in -lz... yes
checking for ZIP... no
checking for GTK3_DEPS... yes
checking for JANSSON... yes
checking for GTK2_DEPS... yes
checking for ALSA_DEPS... yes
checking CoreAudio/AudioHardware.h usability... no
checking CoreAudio/AudioHardware.h presence... no
checking for CoreAudio/AudioHardware.h... no
checking for FFMPEG_DEPS... yes
checking for DBUS_DEPS... yes
checking for PULSE_DEPS... yes
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking for main in -liconv... no
checking whether C compiler accepts -msse2... yes
checking for main in -lcurl... yes
checking for main in -lmad... yes
checking for main in -lmpg123... no
checking for main in -lvorbis... yes
checking for main in -lvorbisfile... yes
checking for main in -logg... yes
checking for ogg_stream_flush_fill in -logg... yes
checking for main in -lFLAC... yes
checking for main in -lwavpack... yes
checking for main in -lsndfile... no
checking for main in -lcdio... no
checking for main in -lcddb... no
checking ffmpeg/avformat.h usability... no
checking ffmpeg/avformat.h presence... no
checking for ffmpeg/avformat.h... no
checking X11/Xlib.h usability... yes
checking X11/Xlib.h presence... yes
checking for X11/Xlib.h... yes
checking for OSS include dir... not found
checking for sys/soundcard.h... checking sys/soundcard.h usability... yes
checking sys/soundcard.h presence... yes
checking for sys/soundcard.h... yes
found
checking for IMLIB2_DEPS... no
checking for main in -ljpeg... no
checking for main in -lpng... yes
checking for LIBSAMPLERATE_DEPS... yes
checking for main in -lfaad... yes
Checking statusnotifier deps...
checking for STATUSNOTIFIER_DEPS... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating pixmaps/Makefile
config.status: creating icons/Makefile
config.status: creating plugins/liboggedit/Makefile
config.status: creating plugins/libmp4ff/Makefile
config.status: creating plugins/libparser/Makefile
config.status: creating plugins/gme/Makefile
config.status: creating plugins/alsa/Makefile
config.status: creating plugins/hotkeys/Makefile
config.status: creating plugins/lastfm/Makefile
config.status: creating plugins/ffap/Makefile
config.status: creating plugins/mp3/Makefile
config.status: creating plugins/vorbis/Makefile
config.status: creating plugins/flac/Makefile
config.status: creating plugins/wavpack/Makefile
config.status: creating plugins/sndfile/Makefile
config.status: creating plugins/vfs_curl/Makefile
config.status: creating plugins/cdda/Makefile
config.status: creating plugins/gtkui/Makefile
config.status: creating plugins/nullout/Makefile
config.status: creating plugins/vtx/Makefile
config.status: creating plugins/adplug/Makefile
config.status: creating plugins/ffmpeg/Makefile
config.status: creating plugins/sid/Makefile
config.status: creating plugins/oss/Makefile
config.status: creating plugins/pulse/Makefile
config.status: creating plugins/artwork/Makefile
config.status: creating plugins/supereq/Makefile
config.status: creating plugins/notify/Makefile
config.status: creating plugins/shellexec/Makefile
config.status: creating plugins/musepack/Makefile
config.status: creating plugins/wildmidi/Makefile
config.status: creating plugins/tta/Makefile
config.status: creating plugins/dca/Makefile
config.status: creating plugins/aac/Makefile
config.status: creating plugins/mms/Makefile
config.status: creating plugins/dsp_libsrc/Makefile
config.status: creating plugins/m3u/Makefile
config.status: creating plugins/vfs_zip/Makefile
config.status: creating plugins/converter/Makefile
config.status: creating plugins/dumb/Makefile
config.status: creating plugins/psf/Makefile
config.status: creating plugins/shn/Makefile
config.status: creating plugins/mono2stereo/Makefile
config.status: creating plugins/shellexecui/Makefile
config.status: creating plugins/alac/Makefile
config.status: creating plugins/wma/Makefile
config.status: creating plugins/pltbrowser/Makefile
config.status: creating plugins/sc68/Makefile
config.status: creating plugins/coreaudio/Makefile
config.status: creating plugins/statusnotifier/Makefile
config.status: creating intl/Makefile
config.status: creating po/Makefile.in
config.status: creating deadbeef.desktop
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: executing po/stamp-it commands

Plugin Summary:

    stdio: yes - Standard IO plugin
    gme: yes - chiptune music player based on GME
    nullout: yes - NULL output
    alsa: yes - ALSA output
    oss: yes - oss output plugin
    pulse: yes - PulseAudio output plugin
    coreaudio: no - CoreAudio output plugin
    sid: yes - SID player based on libsidplay2
    ffap: no - Monkey's audio (APE) decoder
    lastfm: yes - last.fm scrobbler
    mp3: yes - mp3 plugin
        libmad: yes - libmad backend for mp3 plugin
        libmpg123: no - libmpg123 backend for mp3 plugin
    vorbis: yes - ogg vorbis player
    flac: yes - flac player
    wavpack: yes - wavpack player
    sndfile: no - PCM (wav,aiff,etc) player based on libsndfile
    vtx: yes - vtx file player (ay8910/12 emulation)
    adplug: yes - adplug player (OPL2/OPL3 emulation)
    vfs_curl: yes - http/ftp streaming support
    cdda: no - cd audio player
    gtkui: yes - GTK2 user interface
    gtkui3: yes - GTK3 user interface
    hotkeys: yes - Local and global hotkeys support
    ffmpeg: yes - ffmpeg codecs
    artwork: no - Cover art plugin
    supereq: yes - Equalizer based on Super EQ library by Naoki Shibata
    notify: yes - notification-daemon support plugin
    shellexec: yes - shell commands plugin
    shellexecui: yes - GTK user interface for setting up shellexec plugin
    musepack: yes - musepack player plugin
    wildmidi: yes - WildMidi player plugin
    tta: yes - TTA player plugin
    dca: yes - libdca (DTS Audio) player plugin
    aac: yes - AAC player (m4a, aac, mp4) based on FAAD2
    mms: yes - mms streaming support
    dsp_src: yes - High quality samplerate conversion using libsamplerate
    m3u: yes - M3U and PLS playlist support
    vfs_zip: no - zip archive support
    converter: yes - plugin for converting files to any formats
    psf: yes - PSF player, using Audio Overload SDK
    dumb: yes - DUMB module plugin, for MOD, S3M, etc
    shn: yes - SHN plugin based on xmms-shn
    mono2stereo: yes - mono2stereo DSP plugin
    alac: yes - ALAC plugin
    wma: yes - WMA plugin
    pltbrowser: yes - playlist browser gui plugin
    sc68: yes - sc68 Atari ST And Amiga player
    statusnotifier: yes - plugin for KDE tray icon support

Is the loading log the terminal output when executing deadbeef? Here's my output:

deadbeef 
starting deadbeef devel
server_start
searching for GUI plugins in /home/username/.local/lib64/deadbeef
searching for GUI plugins in /home/username/.local/lib/deadbeef
searching for GUI plugins in /usr/local/lib/deadbeef
load_plugin_dir /usr/local/lib/deadbeef: scandir found 92 files
found gui plugin ddb_gui_GTK2.so
added GTK2 gui plugin
found gui plugin ddb_gui_GTK3.so
added GTK3 gui plugin
load gui plugin
checking GUI plugin: GTK2
found selected GUI plugin: GTK2
loading plugin /usr/local/lib/deadbeef/ddb_gui_GTK2.so
loading plugins from /home/username/.local/lib64/deadbeef
loading plugins from /home/username/.local/lib/deadbeef
loading plugins from /usr/local/lib/deadbeef
load_plugin_dir /usr/local/lib/deadbeef: scandir found 92 files
loading plugin /usr/local/lib/deadbeef/aac.so
loading plugin /usr/local/lib/deadbeef/adplug.so
loading plugin /usr/local/lib/deadbeef/alac.so
loading plugin /usr/local/lib/deadbeef/alsa.so
loading plugin /usr/local/lib/deadbeef/converter.so
loading plugin /usr/local/lib/deadbeef/converter_gtk2.so
loading plugin /usr/local/lib/deadbeef/converter_gtk3.so
loading plugin /usr/local/lib/deadbeef/dca.so
loading plugin /usr/local/lib/deadbeef/ddb_dumb.so
loading plugin /usr/local/lib/deadbeef/ddb_mono2stereo.so
loading plugin /usr/local/lib/deadbeef/ddb_shn.so
loading plugin /usr/local/lib/deadbeef/dsp_libsrc.so
loading plugin /usr/local/lib/deadbeef/ffmpeg.so
loading plugin /usr/local/lib/deadbeef/flac.so
loading plugin /usr/local/lib/deadbeef/gme.so
loading plugin /usr/local/lib/deadbeef/hotkeys.so
loading plugin /usr/local/lib/deadbeef/in_sc68.so
loading plugin /usr/local/lib/deadbeef/lastfm.so
loading plugin /usr/local/lib/deadbeef/m3u.so
loading plugin /usr/local/lib/deadbeef/mms.so
loading plugin /usr/local/lib/deadbeef/mp3.so
loading plugin /usr/local/lib/deadbeef/musepack.so
loading plugin /usr/local/lib/deadbeef/notify.so
loading plugin /usr/local/lib/deadbeef/nullout.so
loading plugin /usr/local/lib/deadbeef/oss.so
loading plugin /usr/local/lib/deadbeef/pltbrowser_gtk2.so
loading plugin /usr/local/lib/deadbeef/pltbrowser_gtk3.so
loading plugin /usr/local/lib/deadbeef/psf.so
loading plugin /usr/local/lib/deadbeef/pulse.so
loading plugin /usr/local/lib/deadbeef/shellexec.so
loading plugin /usr/local/lib/deadbeef/shellexecui_gtk2.so
loading plugin /usr/local/lib/deadbeef/shellexecui_gtk3.so
loading plugin /usr/local/lib/deadbeef/sid.so
loading plugin /usr/local/lib/deadbeef/statusnotifier.so
loading plugin /usr/local/lib/deadbeef/supereq.so
loading plugin /usr/local/lib/deadbeef/tta.so
loading plugin /usr/local/lib/deadbeef/vfs_curl.so
loading plugin /usr/local/lib/deadbeef/vorbis.so
loading plugin /usr/local/lib/deadbeef/vtx.so
loading plugin /usr/local/lib/deadbeef/wavpack.so
loading plugin /usr/local/lib/deadbeef/wildmidi.so
loading plugin /usr/local/lib/deadbeef/wma.so
selected output plugin: ALSA output plugin
INFO: loading playlist Default
INFO: from file /home/username/.config/deadbeef/playlists/0.dbpl
convgui: gtkui plugin not found
plugin Converter GTK3 UI failed to connect to dependencies, deactivated.
plugin Playlist browser GTK3 failed to connect to dependencies, deactivated.
shellexecui: can't find gtkui plugin
plugin Shellexec GTK3 UI failed to connect to dependencies, deactivated.
gtkui plugin compiled for gtk version: 2.24.23
Cannot create status notifier, falling back to GtkStatusIcon
connecting button tray signals

I can also provide the outputs of "./autogen.sh", "make", and "sudo make install" if needed. I can delete the plugins folder and rebuild, or let me know what else I can provide. Thanks Alexey.

Oleksiy-Yakovenko commented 8 years ago

Thanks, this looks useful.. It appears that there's a possible memory corruption, that can possibly be identified using Valgrind. I'll give it a try.

Oleksiy-Yakovenko commented 8 years ago

I still can't reproduce this bug, even with valgrind.

Please install valgrind, run this command:

valgrind deadbeef  2>valgrind.txt

Then reproduce the bug, quit deadbeef (or let it crash), and post the file contents here.

Oleksiy-Yakovenko commented 8 years ago

edit: please post the contents on pastebin, the file will probably be quite large.

kode54 commented 8 years ago

As a workaround, you could look into getting my PSF plugin built:

https://gitlab.kode54.net/kode54/deadbeef_plugins

It uses most of the xSF libraries I maintain. Also of note is that it supports tag writing. It also uses its own PSF parser, which does not have any tag size limitations, other than if you run out of memory.

Oleksiy-Yakovenko commented 7 years ago

Closing this as I could never reproduce it, and the reporter didn't provide valgrind log.

Shellcat-Zero commented 5 years ago

@kode54 were you referring to the other PSF plugin containing the binary blob, or which one? If so, where did this come from originally?

I still cannot get PSF/PSF2/minipsf to play in Deadbeef without crashing. I just compiled Deadbeef from source two days ago and it fails. This is Deadbeef running and compiled on Lubuntu 16.04. I'll provide valgrind log momentarily.

For PSF/minipsf, it throws the following error when crashing:

deadbeef: malloc.c:2394: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
[1]    18045 abort      deadbeef 101\ Alundra.psf

For PSF2:

Segmentation Fault
backtrace() returned 13 addresses
deadbeef() [0x403f24]
/lib/x86_64-linux-gnu/libc.so.6(+0x354b0) [0x7f64d252c4b0]
/usr/local/lib/deadbeef/psf.so(+0x9ddd4) [0x7f64b3c67dd4]
/usr/local/lib/deadbeef/psf.so(psf2_load_file+0x6a) [0x7f64b3c683aa]
/usr/local/lib/deadbeef/psf.so(psf2_start+0x1a6) [0x7f64b3c68586]
/usr/local/lib/deadbeef/psf.so(+0x352bc) [0x7f64b3bff2bc]
deadbeef() [0x40b52a]
deadbeef() [0x410ab2]
deadbeef() [0x404298]
deadbeef() [0x40486c]
deadbeef() [0x4037a7]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f64d2517830]
deadbeef() [0x403e09]