Closed s1shed closed 4 years ago
Can you install the dbgsym packages for libc6 and libshout as well? The crash happens inside those libraries, not in MPD - and without debug symbols, I can't see if it's MPD's fault, after all.
Sorry about that (and thanks for the gentle nudging).
New backtrace:
#0 __memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:2021
#1 0x00007ffff51e3727 in memcpy (__len=58, __src=0x55555a83339c, __dest=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34
#2 send_ogg (self=0x55555a83b3b0, data=0x55555a83339c "OggS", len=58) at format_ogg.c:95
#3 0x0000555555615e5b in EncoderToShout (buffer_size=32768, buffer=0x55555a83339c "OggS", encoder=..., shout_conn=0x55555a83b3b0) at ../src/output/plugins/ShoutOutputPlugin.cxx:256
#4 ShoutOutput::WritePage (this=0x55555a833370) at ../src/output/plugins/ShoutOutputPlugin.cxx:266
#5 0x000055555561629d in ShoutOutput::Open (this=0x55555a833370, audio_format=...) at ../src/output/plugins/ShoutOutputPlugin.cxx:319
#6 0x000055555560665f in FilteredAudioOutput::OpenOutputAndConvert (this=0x555555797ce0, desired_audio_format=...) at /usr/include/c++/9/bits/unique_ptr.h:360
#7 0x000055555560742e in AudioOutputControl::InternalOpen2 (in_audio_format=..., this=0x55555a83ba50) at /usr/include/c++/9/bits/unique_ptr.h:360
#8 AudioOutputControl::InternalOpen (this=this@entry=0x55555a83ba50, in_audio_format=..., pipe=...) at ../src/output/Thread.cxx:154
#9 0x0000555555607b6e in AudioOutputControl::Task (this=0x55555a83ba50) at ../src/output/Thread.cxx:434
#10 0x00005555555d6583 in BoundMethod<void ()>::operator()() const (this=0x55555a83baf8, this=0x55555a83baf8) at ../src/util/BindMethod.hxx:76
#11 Thread::Run (this=0x55555a83baf8) at ../src/thread/Thread.cxx:63
#12 Thread::ThreadProc (ctx=0x55555a83baf8) at ../src/thread/Thread.cxx:92
#13 0x00007ffff2cfaf27 in start_thread (arg=<optimized out>) at pthread_create.c:479
#14 0x00007ffff2c2c31f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
I cannot reproduce the problem. Your backtrace looks like it's a libshout bug. Which libshout version are you using?
When I opened this issue I was using the version from Debian Unstable (2.4.3-1). After reading your comment I tried downgrading to 2.4.1-2 in Debian stable. I cannot reproduce the crash with this version.
I guess I'm hitting https://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2312 which was also reported at https://github.com/MusicPlayerDaemon/MPD/issues/622
Apologies for wasting time by reporting something that's already known. :(
Bug report
Describe the bug
Crash when using the
shout
output. The key part seems to be starting with an empty play queue. Adding tracks when there's a non-empty queue will not cause a crash.I only see the crash with the
shout
output directed to an Icecast srever. I don't see crashes when theshout
output is not enabled.Expected Behavior
With an empty play queue, adding tracks and starting playback won't lead to a crash.
Actual Behavior
Crash when starting playback after adding tracks to an empty play queue..
I can reliably reproduce a crash by doing the following with the
shout
output enabled:Play Now (And Replace Play Queue)
optionReplace
optionVersion
I first saw the problem in Debian Unstable's
0.21.22-1+b1
but it's also reproducible in 0.21.25, as shown below.Log