MusicPlayerDaemon / MPD

Music Player Daemon
https://www.musicpd.org/
GNU General Public License v2.0
2.16k stars 346 forks source link

Thread 5 "decoder:mad" received signal SIGABRT, Aborted. #1216

Closed CyberShadow closed 3 years ago

CyberShadow commented 3 years ago

Bug report

Describe the bug

Happens here when playing a StreamRipper relay.

StreamRipper's HTTP server seems broken in a lot of ways, but I think that shouldn't cause crashes in players.

Version

Music Player Daemon 0.23~git (v0.22.9-431-g239698cb5)
Copyright 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright 2008-2021 Max Kellermann <max.kellermann@gmail.com>
This is free software; see the source for copying conditions.  There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Database plugins:
 simple proxy upnp

Storage plugins:
 local udisks nfs curl

Neighbor plugins:
 upnp udisks

Decoders plugins:
 [mad] mp3 mp2
 [mpg123] mp3
 [vorbis] ogg oga
 [oggflac] ogg oga
 [flac] flac
 [opus] opus ogg oga
 [sndfile] wav aiff aif au snd paf iff svx sf voc w64 pvf xi htk caf sd2
 [audiofile] wav au aiff aif
 [dsdiff] dff
 [dsf] dsf
 [hybrid_dsd] m4a
 [faad] aac
 [mpcdec] mpc
 [wavpack] wv
 [modplug] 669 amf ams dbm dfm dsm far it med mdl mod mtm mt2 okt s3m stm ult umx xm
 [mikmod] amf dsm far gdm imf it med mod mtm s3m stm stx ult uni xm
 [sidplay] sid mus str prg P00
 [wildmidi] mid
 [fluidsynth] mid
 [ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 adx afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg opus psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tak tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav webm wma wmv wsaud wsvga wv wve rtp:// rtsp:// rtsps://
 [gme] ay gbs gym hes kss nsf nsfe rsn sap spc vgm vgz
 [pcm]

Filters:
 libsamplerate soxr

Tag plugins:
 id3tag

Output plugins:
 shout null fifo pipe alsa ao openal pipewire pulse jack httpd snapcast recorder

Encoder plugins:
 null vorbis opus lame twolame wave flac

Archive plugins:
 [bz2] bz2
 [zzip] zip
 [iso] iso

Input plugins:
 file io_uring archive alsa tidal qobuz curl ffmpeg nfs mms cdio_paranoia

Playlist plugins:
 extm3u m3u pls xspf asx rss soundcloud flac cue embcue

Protocols:
 file:// alsa:// cdda:// ftp:// ftps:// gopher:// hls+http:// hls+https:// http:// https:// mms:// mmsh:// mmst:// mmsu:// nfs:// qobuz:// rtmp:// rtmpe:// rtmps:// rtmpt:// rtmpte:// rtmpts:// rtp:// rtsp:// rtsps:// scp:// sftp:// smb:// srtp:// tidal://

Other features:
 avahi dbus udisks epoll icu inotify ipv6 systemd tcp un

Configuration

### GENERATED - DO NOT EDIT
music_directory     "~/data/music/"
playlist_directory  "~/.config/private/mpd/playlists"
db_file         "~/.config/mpd/database"
log_file        "~/.config/mpd/log"
pid_file        "~/.config/mpd/pid"
state_file      "~/.config/mpd/state"
sticker_file        "~/.config/mpd/sticker.sql"
bind_to_address     "127.0.0.1"
bind_to_address     "~/.config/mpd/socket"
restore_paused "no"
input {
        plugin "curl"
}
buffer_before_play "0%"
audio_output {
    type        "pulse"
    name        "mpd"
}

Log

$ gdb -ex run --args /home/vladimir/work/extern/MPD.build/mpd --no-daemon --verbose
GNU gdb (GDB) 10.2
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/vladimir/work/extern/MPD.build/mpd...
Starting program: /mnt/2020-nvme-2t-raid/@fastscratch/moved/home/vladimir/work/extern/MPD.build/mpd --no-daemon --verbose
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
config_file: loading file /home/vladimir/.config/mpd/mpd.conf
config_file: config parameter "buffer_before_play" on line 15 is deprecated
Aug 02 11:35 : libsamplerate: libsamplerate converter 'Fastest Sinc Interpolator'
Aug 02 11:35 : vorbis: Xiph.Org libVorbis 1.3.7
Aug 02 11:35 : opus: libopus 1.3.1
Aug 02 11:35 : sndfile: libsndfile-1.0.31
Aug 02 11:35 : hybrid_dsd: The Hybrid DSD decoder is disabled because it was not explicitly enabled
Aug 02 11:35 : decoder: Decoder plugin 'wildmidi' is unavailable: configuration file does not exist: /etc/timidity/timidity.cfg
Aug 02 11:35 : simple_db: reading DB
Aug 02 11:35 : exception: Input plugin 'tidal' is not configured: No Tidal application token configured
Aug 02 11:35 : exception: Input plugin 'qobuz' is not configured: No Qobuz app_id configured
Aug 02 11:35 : curl: version 7.77.0
Aug 02 11:35 : curl: with OpenSSL/1.1.1k
[New Thread 0x7fffe2131640 (LWP 613410)]
[New Thread 0x7fffe1930640 (LWP 613411)]
[New Thread 0x7fffe112f640 (LWP 613412)]
[New Thread 0x7fffe092e640 (LWP 613413)]
[New Thread 0x7fffd3bff640 (LWP 613414)]
[New Thread 0x7fffd33fe640 (LWP 613415)]

Thread 5 "decoder:mad" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffe092e640 (LWP 613413)]
0x00007ffff2f89d22 in raise () from /usr/lib/libc.so.6
(gdb) thread apply all bt

Thread 7 (Thread 0x7fffd33fe640 (LWP 613415) "threaded-ml"):
#0  0x00007ffff3040b2f in poll () at /usr/lib/libc.so.6
#1  0x00007ffff550b654 in  () at /usr/lib/libpulse.so.0
#2  0x00007ffff54f49a9 in pa_mainloop_poll () at /usr/lib/libpulse.so.0
#3  0x00007ffff54ff281 in pa_mainloop_iterate () at /usr/lib/libpulse.so.0
#4  0x00007ffff54ff331 in pa_mainloop_run () at /usr/lib/libpulse.so.0
#5  0x00007ffff550f7fe in  () at /usr/lib/libpulse.so.0
#6  0x00007fffe42525cc in  () at /usr/lib/pulseaudio/libpulsecommon-14.2.so
#7  0x00007ffff5494259 in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007ffff304b5e3 in clone () at /usr/lib/libc.so.6

Thread 6 (Thread 0x7fffd3bff640 (LWP 613414) "output:mpd"):
#0  0x00007ffff54a08ca in __futex_abstimed_wait_common64 () at /usr/lib/libpthread.so.0
#1  0x00007ffff549a270 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#2  0x00007ffff550c739 in pa_threaded_mainloop_wait () at /usr/lib/libpulse.so.0
#3  0x00005555556dfc85 in PulseOutput::Play(void const*, unsigned long) (this=0x5555559840b0, chunk=0x7fffd3c78f68, size=152) at ../MPD/src/output/plugins/PulseOutputPlugin.cxx:806
#4  0x00005555556b5a23 in FilteredAudioOutput::Play(void const*, unsigned long) (this=0x555555983e00, data=0x7fffd3c78f68, size=152) at ../MPD/src/output/Filtered.cxx:179
#5  0x00005555556b8d19 in AudioOutputControl::PlayChunk(std::unique_lock<std::mutex>&) (this=0x55555597cc10, lock=...) at ../MPD/src/output/Thread.cxx:274
#6  0x00005555556b912a in AudioOutputControl::InternalPlay(std::unique_lock<std::mutex>&) (this=0x55555597cc10, lock=...) at ../MPD/src/output/Thread.cxx:329
#7  0x00005555556b7b74 in AudioOutputControl::Task() (this=0x55555597cc10) at ../MPD/src/output/Thread.cxx:452
#8  0x00005555556b1b89 in BindMethodDetail::BindMethodWrapperGenerator2<AudioOutputControl, true, void (AudioOutputControl::*)() noexcept, &AudioOutputControl::Task, void>::Invoke(void*) (_instance=0x55555597cc10) at ../MPD/src/util/BindMethod.hxx:152
#9  0x000055555562aa80 in BoundMethod<void () noexcept>::operator()() const (this=0x55555597ccd8) at ../MPD/src/util/BindMethod.hxx:79
#10 0x0000555555639404 in Thread::Run() (this=0x55555597ccd8) at ../MPD/src/thread/Thread.cxx:63
#11 0x00005555556393e5 in Thread::ThreadProc(void*) (ctx=0x55555597ccd8) at ../MPD/src/thread/Thread.cxx:92
#12 0x00007ffff5494259 in start_thread () at /usr/lib/libpthread.so.0
#13 0x00007ffff304b5e3 in clone () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7fffe092e640 (LWP 613413) "decoder:mad"):
#0  0x00007ffff2f89d22 in raise () at /usr/lib/libc.so.6
#1  0x00007ffff2f73862 in abort () at /usr/lib/libc.so.6
#2  0x00007ffff2f73747 in _nl_load_domain.cold () at /usr/lib/libc.so.6
#3  0x00007ffff2f82616 in  () at /usr/lib/libc.so.6
#4  0x00005555556520f4 in RewindInputStream::Read(std::unique_lock<std::mutex>&, void*, unsigned long) (this=0x7fffcc0011a0, lock=..., ptr=0x7fffe0920d0f, read_size=40369) at ../MPD/src/input/RewindInputStream.cxx:110
#5  0x00005555555aebde in DecoderBridge::Read(InputStream&, void*, unsigned long) (this=0x7fffe092d260, is=..., buffer=0x7fffe0920d0f, length=40369) at ../MPD/src/decoder/Bridge.cxx:436
#6  0x0000555555714f51 in decoder_read(DecoderClient*, InputStream&, void*, unsigned long) (client=0x7fffe092d260, is=..., buffer=0x7fffe0920d0f, length=40369) at ../MPD/src/decoder/DecoderAPI.cxx:35
#7  0x0000555555706bde in MadDecoder::FillBuffer() (this=0x7fffe091b1e0) at ../MPD/src/decoder/plugins/MadDecoderPlugin.cxx:254
#8  0x0000555555705c27 in MadDecoder::DecodeNextFrame(bool, Tag*) (this=0x7fffe091b1e0, skip=false, tag=0x7fffe091b110) at ../MPD/src/decoder/plugins/MadDecoderPlugin.cxx:395
#9  0x0000555555707a75 in MadDecoder::LoadNextFrame() (this=0x7fffe091b1e0) at ../MPD/src/decoder/plugins/MadDecoderPlugin.cxx:938
#10 0x0000555555707b6e in MadDecoder::Read() (this=0x7fffe091b1e0) at ../MPD/src/decoder/plugins/MadDecoderPlugin.cxx:961
#11 0x0000555555707d33 in MadDecoder::RunDecoder() (this=0x7fffe091b1e0) at ../MPD/src/decoder/plugins/MadDecoderPlugin.cxx:988
#12 0x00005555557067b0 in mad_decode(DecoderClient&, InputStream&) (client=..., input_stream=...) at ../MPD/src/decoder/plugins/MadDecoderPlugin.cxx:995
#13 0x00005555555ab030 in DecoderPlugin::StreamDecode(DecoderClient&, InputStream&) const (this=0x5555558d00a0 <mad_decoder_plugin>, client=..., is=...) at ../MPD/src/decoder/DecoderPlugin.hxx:204
#14 0x00005555555a8e92 in decoder_stream_decode(DecoderPlugin const&, DecoderBridge&, InputStream&, std::unique_lock<std::mutex>&) (plugin=..., bridge=..., input_stream=..., lock=...) at ../MPD/src/decoder/Thread.cxx:118
#15 0x00005555555a945e in decoder_run_stream_plugin(DecoderBridge&, InputStream&, std::unique_lock<std::mutex>&, std::string_view, DecoderPlugin const&, bool&) (bridge=..., is=..., lock=..., suffix="", plugin=..., tried_r=@0x7fffe092d12f: true) at ../MPD/src/decoder/Thread.cxx:211
#16 0x00005555555aa7f9 in operator()<DecoderPlugin>(DecoderPlugin const&) const (__closure=0x7fffe092d050, plugin=...) at ../MPD/src/decoder/Thread.cxx:222
#17 0x00005555555aa844 in decoder_plugins_try<decoder_run_stream_locked(DecoderBridge&, InputStream&, std::unique_lock<std::mutex>&, char const*, bool&)::<lambda(const auto:2&)> >(struct {...}) (f=...) at ../MPD/src/decoder/DecoderList.hxx:74
#18 0x00005555555a9501 in decoder_run_stream_locked(DecoderBridge&, InputStream&, std::unique_lock<std::mutex>&, char const*, bool&) (bridge=..., is=..., lock=..., uri=0x7fffd8001260 "http://127.103.0.93:8131/", tried_r=@0x7fffe092d12f: true) at ../MPD/src/decoder/Thread.cxx:224
#19 0x00005555555a9899 in decoder_run_stream(DecoderBridge&, char const*) (bridge=..., uri=0x7fffd8001260 "http://127.103.0.93:8131/") at ../MPD/src/decoder/Thread.cxx:314
#20 0x00005555555a9f05 in DecoderUnlockedRunUri(DecoderBridge&, char const*, Path) (bridge=..., real_uri=0x7fffd8001260 "http://127.103.0.93:8131/", path_fs=...) at ../MPD/src/decoder/Thread.cxx:442
#21 0x00005555555aa1d9 in decoder_run_song(DecoderControl&, DetachedSong const&, char const*, Path) (dc=..., song=..., uri=0x7fffd8001260 "http://127.103.0.93:8131/", path_fs=...) at ../MPD/src/decoder/Thread.cxx:503
#22 0x00005555555aa498 in decoder_run(DecoderControl&) (dc=...) at ../MPD/src/decoder/Thread.cxx:544
#23 0x00005555555aa636 in DecoderControl::RunThread() (this=0x7fffe112e2b0) at ../MPD/src/decoder/Thread.cxx:569
#24 0x00005555555ad1e0 in BindMethodDetail::BindMethodWrapperGenerator2<DecoderControl, true, void (DecoderControl::*)() noexcept, &DecoderControl::RunThread, void>::Invoke(void*) (_instance=0x7fffe112e2b0) at ../MPD/src/util/BindMethod.hxx:152
#25 0x000055555562aa80 in BoundMethod<void () noexcept>::operator()() const (this=0x7fffe112e2b8) at ../MPD/src/util/BindMethod.hxx:79
#26 0x0000555555639404 in Thread::Run() (this=0x7fffe112e2b8) at ../MPD/src/thread/Thread.cxx:63
#27 0x00005555556393e5 in Thread::ThreadProc(void*) (ctx=0x7fffe112e2b8) at ../MPD/src/thread/Thread.cxx:92
#28 0x00007ffff5494259 in start_thread () at /usr/lib/libpthread.so.0
#29 0x00007ffff304b5e3 in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7fffe112f640 (LWP 613412) "player"):
#0  0x00007ffff54a08ca in __futex_abstimed_wait_common64 () at /usr/lib/libpthread.so.0
#1  0x00007ffff549a270 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#2  0x00007ffff3344f01 in __gthread_cond_wait (__mutex=<optimized out>, __cond=<optimized out>) at /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:865
#3  std::__condvar::wait(std::mutex&) (__m=<optimized out>, this=<optimized out>) at /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/std_mutex.h:155
#4  std::condition_variable::wait(std::unique_lock<std::mutex>&) (this=<optimized out>, __lock=<optimized out>) at /build/gcc/src/gcc/libstdc++-v3/src/c++11/condition_variable.cc:41
#5  0x00005555555ac785 in DecoderControl::WaitForDecoder(std::unique_lock<std::mutex>&) (this=0x7fffe112e2b0, lock=...) at ../MPD/src/decoder/Control.hxx:224
#6  0x00005555555d9f88 in Player::Run() (this=0x7fffe112e1b0) at ../MPD/src/player/Thread.cxx:1089
#7  0x00005555555d70ff in do_play(PlayerControl&, DecoderControl&, MusicBuffer&) (pc=..., dc=..., buffer=...) at ../MPD/src/player/Thread.cxx:1157
#8  0x00005555555d72a7 in PlayerControl::RunThread() (this=0x555555952208) at ../MPD/src/player/Thread.cxx:1183
#9  0x00005555555dd1e0 in BindMethodDetail::BindMethodWrapperGenerator2<PlayerControl, true, void (PlayerControl::*)() noexcept, &PlayerControl::RunThread, void>::Invoke(void*) (_instance=0x555555952208) at ../MPD/src/util/BindMethod.hxx:152
#10 0x000055555562aa80 in BoundMethod<void () noexcept>::operator()() const (this=0x555555952238) at ../MPD/src/util/BindMethod.hxx:79
#11 0x0000555555639404 in Thread::Run() (this=0x555555952238) at ../MPD/src/thread/Thread.cxx:63
#12 0x00005555556393e5 in Thread::ThreadProc(void*) (ctx=0x555555952238) at ../MPD/src/thread/Thread.cxx:92
#13 0x00007ffff5494259 in start_thread () at /usr/lib/libpthread.so.0
#14 0x00007ffff304b5e3 in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7fffe1930640 (LWP 613411) "rtio"):
#0  0x00007ffff304b92e in epoll_wait () at /usr/lib/libc.so.6
#1  0x00005555556325ee in EpollFD::Wait(epoll_event*, int, int) (this=0x7fffffffd7e0, events=0x7fffe192f290, maxevents=16, timeout=-1) at ../MPD/src/system/EpollFD.hxx:55
#2  0x000055555563280f in EpollBackend::ReadEvents(int) (this=0x7fffffffd7e0, timeout_ms=-1) at ../MPD/src/event/EpollBackend.hxx:60
#3  0x000055555563300a in EventLoop::Wait(std::chrono::duration<long, std::ratio<1l, 1000000000l> >) (this=0x7fffffffcf50, timeout=...) at ../MPD/src/event/Loop.cxx:241
#4  0x0000555555631ebe in EventLoop::Run() (this=0x7fffffffcf50) at ../MPD/src/event/Loop.cxx:330
#5  0x0000555555630fd0 in EventThread::Run() (this=0x7fffffffcf50) at ../MPD/src/event/Thread.cxx:65
#6  0x00005555555d050e in BindMethodDetail::BindMethodWrapperGenerator2<EventThread, true, void (EventThread::*)() noexcept, &EventThread::Run, void>::Invoke(void*) (_instance=0x7fffffffcf50) at ../MPD/src/util/BindMethod.hxx:152
#7  0x000055555562aa80 in BoundMethod<void () noexcept>::operator()() const (this=0x7fffffffd7f0) at ../MPD/src/util/BindMethod.hxx:79
#8  0x0000555555639404 in Thread::Run() (this=0x7fffffffd7f0) at ../MPD/src/thread/Thread.cxx:63
#9  0x00005555556393e5 in Thread::ThreadProc(void*) (ctx=0x7fffffffd7f0) at ../MPD/src/thread/Thread.cxx:92
#10 0x00007ffff5494259 in start_thread () at /usr/lib/libpthread.so.0
#11 0x00007ffff304b5e3 in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7fffe2131640 (LWP 613410) "io"):
#0  0x00007ffff304b92e in epoll_wait () at /usr/lib/libc.so.6
#1  0x00005555556325ee in EpollFD::Wait(epoll_event*, int, int) (this=0x7fffffffcf18, events=0x7fffe2130290, maxevents=16, timeout=-1) at ../MPD/src/system/EpollFD.hxx:55
#2  0x000055555563280f in EpollBackend::ReadEvents(int) (this=0x7fffffffcf18, timeout_ms=-1) at ../MPD/src/event/EpollBackend.hxx:60
#3  0x000055555563300a in EventLoop::Wait(std::chrono::duration<long, std::ratio<1l, 1000000000l> >) (this=0x7fffffffc688, timeout=...) at ../MPD/src/event/Loop.cxx:241
#4  0x0000555555631ebe in EventLoop::Run() (this=0x7fffffffc688) at ../MPD/src/event/Loop.cxx:330
#5  0x0000555555630fd0 in EventThread::Run() (this=0x7fffffffc688) at ../MPD/src/event/Thread.cxx:65
#6  0x00005555555d050e in BindMethodDetail::BindMethodWrapperGenerator2<EventThread, true, void (EventThread::*)() noexcept, &EventThread::Run, void>::Invoke(void*) (_instance=0x7fffffffc688) at ../MPD/src/util/BindMethod.hxx:152
#7  0x000055555562aa80 in BoundMethod<void () noexcept>::operator()() const (this=0x7fffffffcf28) at ../MPD/src/util/BindMethod.hxx:79
#8  0x0000555555639404 in Thread::Run() (this=0x7fffffffcf28) at ../MPD/src/thread/Thread.cxx:63
#9  0x00005555556393e5 in Thread::ThreadProc(void*) (ctx=0x7fffffffcf28) at ../MPD/src/thread/Thread.cxx:92
#10 0x00007ffff5494259 in start_thread () at /usr/lib/libpthread.so.0
#11 0x00007ffff304b5e3 in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7fffe25c70c0 (LWP 613401) "mpd"):
#0  0x00007ffff304b92e in epoll_wait () at /usr/lib/libc.so.6
#1  0x00005555556325ee in EpollFD::Wait(epoll_event*, int, int) (this=0x7fffffffc668, events=0x7fffffffbb60, maxevents=16, timeout=41380) at ../MPD/src/system/EpollFD.hxx:55
#2  0x000055555563280f in EpollBackend::ReadEvents(int) (this=0x7fffffffc668, timeout_ms=41380) at ../MPD/src/event/EpollBackend.hxx:60
#3  0x000055555563300a in EventLoop::Wait(std::chrono::duration<long, std::ratio<1l, 1000000000l> >) (this=0x7fffffffbdd8, timeout=...) at ../MPD/src/event/Loop.cxx:241
#4  0x0000555555631ebe in EventLoop::Run() (this=0x7fffffffbdd8) at ../MPD/src/event/Loop.cxx:330
#5  0x000055555558d397 in MainConfigured(options const&, ConfigData const&) (options=..., raw_config=...) at ../MPD/src/Main.cxx:549
#6  0x000055555558d6c5 in MainOrThrow(int, char**) (argc=3, argv=0x7fffffffdca8) at ../MPD/src/Main.cxx:634
#7  0x000055555558d769 in mpd_main(int, char**) (argc=3, argv=0x7fffffffdca8) at ../MPD/src/Main.cxx:642
#8  0x000055555558d7f0 in main(int, char**) (argc=3, argv=0x7fffffffdca8) at ../MPD/src/Main.cxx:656
MaxKellermann commented 3 years ago

I don't see what could have caused this problem, I need more information. Add option --stdout or paste your log file - the interesting portion of your log is missing in this bug report because you pasted only what was printed to stdout/stderr. In gdb, go to the stack frame of RewindInputStream::Read (t 5, f 4) and print the following data: p offset p head p tail p *input Maybe that gives me an idea where the bug is.

CyberShadow commented 3 years ago

Here you are:

(gdb) p offset
$1 = 64000
(gdb) p head
$2 = 0
(gdb) p tail
$3 = 64000
(gdb) p *input
$4 = {_vptr.InputStream = 0x5555558d7df8 <vtable for MaybeBufferedInputStream+16>, uri = "http://127.103.0.93:8131/", mutex = @0x555555952258, handler = 0x7fffc4001210, ready = true, seekable = false, static UNKNOWN_SIZE = 18446744073709551615, size = 18446744073709551615, offset = 64132, mime = "audio/mpeg"}
client: [110] closed
client: [0] process command "idle"
client: [0] command returned 1
client: [80] process command "status"
client: [80] command returned 0
client: [80] process command "plchangesposid "7""
client: [80] command returned 0
client: [80] process command "playlistinfo "0""
client: [80] command returned 0
client: [80] process command "status"
client: [80] command returned 0
client: [80] process command "replay_gain_status"
client: [80] command returned 0
client: [81] process command "idle"
client: [81] command returned 1
client: [112] opened from 127.0.0.1:59260
client: [112] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [112] process command list returned 0
client: [112] closed
update: added ****_*/**3/***** *******/***** ******* - ******.MP3
update: reading ****_*/**3/***** *******/***** ******* - ***** ** ** *****.MP3
client: [113] opened from 127.0.0.1:59262
client: [113] process command "idle"
client: [113] command returned 1
client: [80] process command "status"
client: [80] command returned 0
client: [114] opened from 127.0.0.1:59264
client: [114] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [114] process command list returned 0
client: [114] closed
update: added ****_*/**3/***** *******/***** ******* - ***** ** ** *****.MP3
update: reading ****_*/**3/***** *******/***** ******* - .MP3
update: added ****_*/**3/***** *******/***** ******* - .MP3
update: reading ****_*/**3/***** *******/***** ******* - *** ****.MP3
mpd: ../MPD/src/input/RewindInputStream.cxx:110: virtual size_t RewindInputStream::Read(std::unique_lock<std::mutex>&, void*, size_t): Assertion `tail == (size_t)input->GetOffset()' failed.
update: added ****_*/**3/***** *******/***** ******* - *** ****.MP3
update: reading ****_*/**3/***** *******/***** ******* - * ****** ** ***.MP3

Thread 6 "decoder:mad" received signal SIGABRT, Aborted.

(Sanitized file names)

CyberShadow commented 3 years ago

the interesting portion of your log is missing in this bug report because you pasted only what was printed to stdout/stderr

May I suggest:

diff --git a/src/LogInit.cxx b/src/LogInit.cxx
index 98a8810bd..f67121ea7 100644
--- a/src/LogInit.cxx
+++ b/src/LogInit.cxx
@@ -159,6 +159,7 @@ log_init(const ConfigData &config, bool verbose, bool use_stdout)
                /* if MPD was started as a systemd
                   service, default to journal (which
                   is connected to fd=2) */
+               FmtDebug(log_domain, "switching logging to systemd");
                out_fd = STDOUT_FILENO;
                return;
            }
@@ -168,9 +169,13 @@ log_init(const ConfigData &config, bool verbose, bool use_stdout)
 #endif
 #ifdef HAVE_SYSLOG
        } else if (StringIsEqual(param->value.c_str(), "syslog")) {
+           FmtDebug(log_domain, "switching logging to syslog");
            LogInitSysLog();
 #endif
        } else {
+           FmtDebug(log_domain,
+                "switching logging to file {}",
+                param->GetPath().c_str());
            out_path = param->GetPath();
            log_init_file(param->line);
        }

:)

MaxKellermann commented 3 years ago

Your log is still incomplete (and I still can't explain why there is a mismatch between 64000 and 64132). It now shows a few messages right before the crash, but I don't see the start of playback (which probably happened a few seconds earlier, since you're only at offset 64000). I'd like to see the whole terminal output of:

You can omit all those "update" lines instead of obscuring them, these are not relevant.

Is the stream you're proxying with streamripper public? Maybe I can reproduce the problem with that stream.

CyberShadow commented 3 years ago

Your log is still incomplete

Oh, sorry. With the update and ffmpeg lines, it was very large, and the beginning scrolled off my terminal backlog.

Here is a fresh set.

gdb: ``` GNU gdb (GDB) 10.2 Copyright (C) 2021 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /home/vladimir/work/extern/MPD.build/mpd... Starting program: /mnt/2020-nvme-2t-raid/@fastscratch/moved/home/vladimir/work/extern/MPD.build/mpd --no-daemon --verbose [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". config_file: loading file /home/vladimir/.config/mpd/mpd.conf config_file: config parameter "buffer_before_play" on line 15 is deprecated log: switching logging to file /home/vladimir/.config/mpd/log Aug 02 13:59 : libsamplerate: libsamplerate converter 'Fastest Sinc Interpolator' Aug 02 13:59 : vorbis: Xiph.Org libVorbis 1.3.7 Aug 02 13:59 : opus: libopus 1.3.1 Aug 02 13:59 : sndfile: libsndfile-1.0.31 Aug 02 13:59 : hybrid_dsd: The Hybrid DSD decoder is disabled because it was not explicitly enabled Aug 02 13:59 : decoder: Decoder plugin 'wildmidi' is unavailable: configuration file does not exist: /etc/timidity/timidity.cfg Aug 02 13:59 : simple_db: reading DB Aug 02 13:59 : exception: Input plugin 'tidal' is not configured: No Tidal application token configured Aug 02 13:59 : exception: Input plugin 'qobuz' is not configured: No Qobuz app_id configured Aug 02 13:59 : curl: version 7.77.0 Aug 02 13:59 : curl: with OpenSSL/1.1.1k [New Thread 0x7fffe2131640 (LWP 674192)] [New Thread 0x7fffe1930640 (LWP 674193)] [New Thread 0x7fffe112f640 (LWP 674194)] [New Thread 0x7fffe092e640 (LWP 674195)] [New Thread 0x7fffd3bff640 (LWP 674196)] [New Thread 0x7fffd33fe640 (LWP 674197)] Thread 5 "decoder:mad" received signal SIGABRT, Aborted. [Switching to Thread 0x7fffe092e640 (LWP 674195)] 0x00007ffff2f89d22 in raise () from /usr/lib/libc.so.6 (gdb) thread apply all bt Thread 7 (Thread 0x7fffd33fe640 (LWP 674197) "threaded-ml"): #0 0x00007ffff3040b2f in poll () at /usr/lib/libc.so.6 #1 0x00007ffff550b654 in () at /usr/lib/libpulse.so.0 #2 0x00007ffff54f49a9 in pa_mainloop_poll () at /usr/lib/libpulse.so.0 #3 0x00007ffff54ff281 in pa_mainloop_iterate () at /usr/lib/libpulse.so.0 #4 0x00007ffff54ff331 in pa_mainloop_run () at /usr/lib/libpulse.so.0 #5 0x00007ffff550f7fe in () at /usr/lib/libpulse.so.0 #6 0x00007fffe42525cc in () at /usr/lib/pulseaudio/libpulsecommon-14.2.so #7 0x00007ffff5494259 in start_thread () at /usr/lib/libpthread.so.0 #8 0x00007ffff304b5e3 in clone () at /usr/lib/libc.so.6 Thread 6 (Thread 0x7fffd3bff640 (LWP 674196) "output:mpd"): #0 0x00007ffff54a08ca in __futex_abstimed_wait_common64 () at /usr/lib/libpthread.so.0 #1 0x00007ffff549a270 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0 #2 0x00007ffff550c739 in pa_threaded_mainloop_wait () at /usr/lib/libpulse.so.0 #3 0x00005555556dff9b in PulseOutput::Play(void const*, unsigned long) (this=0x555555987c60, chunk=0x7fffd3c44f68, size=152) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/output/plugins/PulseOutputPlugin.cxx:806 #4 0x00005555556b5d39 in FilteredAudioOutput::Play(void const*, unsigned long) (this=0x555555987a10, data=0x7fffd3c44f68, size=152) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/output/Filtered.cxx:179 #5 0x00005555556b902f in AudioOutputControl::PlayChunk(std::unique_lock&) (this=0x555555980f40, lock=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/output/Thread.cxx:274 #6 0x00005555556b9440 in AudioOutputControl::InternalPlay(std::unique_lock&) (this=0x555555980f40, lock=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/output/Thread.cxx:329 #7 0x00005555556b7e8a in AudioOutputControl::Task() (this=0x555555980f40) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/output/Thread.cxx:452 #8 0x00005555556b1e9f in BindMethodDetail::BindMethodWrapperGenerator2::Invoke(void*) (_instance=0x555555980f40) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/util/BindMethod.hxx:152 #9 0x000055555562aed8 in BoundMethod::operator()() const (this=0x555555981008) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/util/BindMethod.hxx:79 #10 0x000055555563985c in Thread::Run() (this=0x555555981008) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/thread/Thread.cxx:63 #11 0x000055555563983d in Thread::ThreadProc(void*) (ctx=0x555555981008) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/thread/Thread.cxx:92 #12 0x00007ffff5494259 in start_thread () at /usr/lib/libpthread.so.0 #13 0x00007ffff304b5e3 in clone () at /usr/lib/libc.so.6 Thread 5 (Thread 0x7fffe092e640 (LWP 674195) "decoder:mad"): #0 0x00007ffff2f89d22 in raise () at /usr/lib/libc.so.6 #1 0x00007ffff2f73862 in abort () at /usr/lib/libc.so.6 #2 0x00007ffff2f73747 in _nl_load_domain.cold () at /usr/lib/libc.so.6 #3 0x00007ffff2f82616 in () at /usr/lib/libc.so.6 #4 0x000055555565254c in RewindInputStream::Read(std::unique_lock&, void*, unsigned long) (this=0x7fffcc0011a0, lock=..., ptr=0x7fffe0920b4b, read_size=40821) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/input/RewindInputStream.cxx:110 #5 0x00005555555aebde in DecoderBridge::Read(InputStream&, void*, unsigned long) (this=0x7fffe092d260, is=..., buffer=0x7fffe0920b4b, length=40821) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/Bridge.cxx:436 #6 0x0000555555715267 in decoder_read(DecoderClient*, InputStream&, void*, unsigned long) (client=0x7fffe092d260, is=..., buffer=0x7fffe0920b4b, length=40821) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/DecoderAPI.cxx:35 #7 0x0000555555706ef4 in MadDecoder::FillBuffer() (this=0x7fffe091b1e0) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/plugins/MadDecoderPlugin.cxx:254 #8 0x0000555555705f3d in MadDecoder::DecodeNextFrame(bool, Tag*) (this=0x7fffe091b1e0, skip=false, tag=0x7fffe091b110) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/plugins/MadDecoderPlugin.cxx:395 #9 0x0000555555707d8b in MadDecoder::LoadNextFrame() (this=0x7fffe091b1e0) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/plugins/MadDecoderPlugin.cxx:938 #10 0x0000555555707e84 in MadDecoder::Read() (this=0x7fffe091b1e0) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/plugins/MadDecoderPlugin.cxx:961 #11 0x0000555555708049 in MadDecoder::RunDecoder() (this=0x7fffe091b1e0) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/plugins/MadDecoderPlugin.cxx:988 #12 0x0000555555706ac6 in mad_decode(DecoderClient&, InputStream&) (client=..., input_stream=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/plugins/MadDecoderPlugin.cxx:995 #13 0x00005555555ab030 in DecoderPlugin::StreamDecode(DecoderClient&, InputStream&) const (this=0x5555558d40a0 , client=..., is=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/DecoderPlugin.hxx:204 #14 0x00005555555a8e92 in decoder_stream_decode(DecoderPlugin const&, DecoderBridge&, InputStream&, std::unique_lock&) (plugin=..., bridge=..., input_stream=..., lock=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/Thread.cxx:118 #15 0x00005555555a945e in decoder_run_stream_plugin(DecoderBridge&, InputStream&, std::unique_lock&, std::string_view, DecoderPlugin const&, bool&) (bridge=..., is=..., lock=..., suffix="", plugin=..., tried_r=@0x7fffe092d12f: true) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/Thread.cxx:211 #16 0x00005555555aa7f9 in operator()(DecoderPlugin const&) const (__closure=0x7fffe092d050, plugin=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/Thread.cxx:222 #17 0x00005555555aa844 in decoder_plugins_try&, char const*, bool&):: >(struct {...}) (f=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/DecoderList.hxx:74 #18 0x00005555555a9501 in decoder_run_stream_locked(DecoderBridge&, InputStream&, std::unique_lock&, char const*, bool&) (bridge=..., is=..., lock=..., uri=0x7fffd8000e60 "http://127.103.0.93:8131/", tried_r=@0x7fffe092d12f: true) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/Thread.cxx:224 #19 0x00005555555a9899 in decoder_run_stream(DecoderBridge&, char const*) (bridge=..., uri=0x7fffd8000e60 "http://127.103.0.93:8131/") at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/Thread.cxx:314 #20 0x00005555555a9f05 in DecoderUnlockedRunUri(DecoderBridge&, char const*, Path) (bridge=..., real_uri=0x7fffd8000e60 "http://127.103.0.93:8131/", path_fs=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/Thread.cxx:442 #21 0x00005555555aa1d9 in decoder_run_song(DecoderControl&, DetachedSong const&, char const*, Path) (dc=..., song=..., uri=0x7fffd8000e60 "http://127.103.0.93:8131/", path_fs=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/Thread.cxx:503 #22 0x00005555555aa498 in decoder_run(DecoderControl&) (dc=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/Thread.cxx:544 #23 0x00005555555aa636 in DecoderControl::RunThread() (this=0x7fffe112e2b0) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/Thread.cxx:569 #24 0x00005555555ad1e0 in BindMethodDetail::BindMethodWrapperGenerator2::Invoke(void*) (_instance=0x7fffe112e2b0) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/util/BindMethod.hxx:152 #25 0x000055555562aed8 in BoundMethod::operator()() const (this=0x7fffe112e2b8) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/util/BindMethod.hxx:79 #26 0x000055555563985c in Thread::Run() (this=0x7fffe112e2b8) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/thread/Thread.cxx:63 #27 0x000055555563983d in Thread::ThreadProc(void*) (ctx=0x7fffe112e2b8) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/thread/Thread.cxx:92 #28 0x00007ffff5494259 in start_thread () at /usr/lib/libpthread.so.0 #29 0x00007ffff304b5e3 in clone () at /usr/lib/libc.so.6 Thread 4 (Thread 0x7fffe112f640 (LWP 674194) "player"): #0 0x00007ffff54a08ca in __futex_abstimed_wait_common64 () at /usr/lib/libpthread.so.0 #1 0x00007ffff549a270 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0 #2 0x00007ffff3344f01 in __gthread_cond_wait (__mutex=, __cond=) at /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:865 #3 std::__condvar::wait(std::mutex&) (__m=, this=) at /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/std_mutex.h:155 #4 std::condition_variable::wait(std::unique_lock&) (this=, __lock=) at /build/gcc/src/gcc/libstdc++-v3/src/c++11/condition_variable.cc:41 #5 0x00005555555ac785 in DecoderControl::WaitForDecoder(std::unique_lock&) (this=0x7fffe112e2b0, lock=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/decoder/Control.hxx:224 #6 0x00005555555da3e0 in Player::Run() (this=0x7fffe112e1b0) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/player/Thread.cxx:1089 #7 0x00005555555d7557 in do_play(PlayerControl&, DecoderControl&, MusicBuffer&) (pc=..., dc=..., buffer=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/player/Thread.cxx:1157 #8 0x00005555555d76ff in PlayerControl::RunThread() (this=0x555555956208) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/player/Thread.cxx:1183 #9 0x00005555555dd638 in BindMethodDetail::BindMethodWrapperGenerator2::Invoke(void*) (_instance=0x555555956208) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/util/BindMethod.hxx:152 #10 0x000055555562aed8 in BoundMethod::operator()() const (this=0x555555956238) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/util/BindMethod.hxx:79 #11 0x000055555563985c in Thread::Run() (this=0x555555956238) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/thread/Thread.cxx:63 #12 0x000055555563983d in Thread::ThreadProc(void*) (ctx=0x555555956238) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/thread/Thread.cxx:92 #13 0x00007ffff5494259 in start_thread () at /usr/lib/libpthread.so.0 #14 0x00007ffff304b5e3 in clone () at /usr/lib/libc.so.6 Thread 3 (Thread 0x7fffe1930640 (LWP 674193) "rtio"): #0 0x00007ffff304b92e in epoll_wait () at /usr/lib/libc.so.6 #1 0x0000555555632a46 in EpollFD::Wait(epoll_event*, int, int) (this=0x7fffffffd7e0, events=0x7fffe192f290, maxevents=16, timeout=-1) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/system/EpollFD.hxx:55 #2 0x0000555555632c67 in EpollBackend::ReadEvents(int) (this=0x7fffffffd7e0, timeout_ms=-1) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/event/EpollBackend.hxx:60 #3 0x0000555555633462 in EventLoop::Wait(std::chrono::duration >) (this=0x7fffffffcf50, timeout=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/event/Loop.cxx:241 #4 0x0000555555632316 in EventLoop::Run() (this=0x7fffffffcf50) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/event/Loop.cxx:330 #5 0x0000555555631428 in EventThread::Run() (this=0x7fffffffcf50) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/event/Thread.cxx:65 #6 0x00005555555d0966 in BindMethodDetail::BindMethodWrapperGenerator2::Invoke(void*) (_instance=0x7fffffffcf50) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/util/BindMethod.hxx:152 #7 0x000055555562aed8 in BoundMethod::operator()() const (this=0x7fffffffd7f0) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/util/BindMethod.hxx:79 #8 0x000055555563985c in Thread::Run() (this=0x7fffffffd7f0) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/thread/Thread.cxx:63 #9 0x000055555563983d in Thread::ThreadProc(void*) (ctx=0x7fffffffd7f0) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/thread/Thread.cxx:92 #10 0x00007ffff5494259 in start_thread () at /usr/lib/libpthread.so.0 #11 0x00007ffff304b5e3 in clone () at /usr/lib/libc.so.6 Thread 2 (Thread 0x7fffe2131640 (LWP 674192) "io"): #0 0x00007ffff304b92e in epoll_wait () at /usr/lib/libc.so.6 #1 0x0000555555632a46 in EpollFD::Wait(epoll_event*, int, int) (this=0x7fffffffcf18, events=0x7fffe2130290, maxevents=16, timeout=-1) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/system/EpollFD.hxx:55 #2 0x0000555555632c67 in EpollBackend::ReadEvents(int) (this=0x7fffffffcf18, timeout_ms=-1) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/event/EpollBackend.hxx:60 #3 0x0000555555633462 in EventLoop::Wait(std::chrono::duration >) (this=0x7fffffffc688, timeout=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/event/Loop.cxx:241 #4 0x0000555555632316 in EventLoop::Run() (this=0x7fffffffc688) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/event/Loop.cxx:330 #5 0x0000555555631428 in EventThread::Run() (this=0x7fffffffc688) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/event/Thread.cxx:65 #6 0x00005555555d0966 in BindMethodDetail::BindMethodWrapperGenerator2::Invoke(void*) (_instance=0x7fffffffc688) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/util/BindMethod.hxx:152 #7 0x000055555562aed8 in BoundMethod::operator()() const (this=0x7fffffffcf28) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/util/BindMethod.hxx:79 #8 0x000055555563985c in Thread::Run() (this=0x7fffffffcf28) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/thread/Thread.cxx:63 #9 0x000055555563983d in Thread::ThreadProc(void*) (ctx=0x7fffffffcf28) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/thread/Thread.cxx:92 #10 0x00007ffff5494259 in start_thread () at /usr/lib/libpthread.so.0 #11 0x00007ffff304b5e3 in clone () at /usr/lib/libc.so.6 Thread 1 (Thread 0x7fffe25c70c0 (LWP 674183) "mpd"): #0 0x00007ffff304b92e in epoll_wait () at /usr/lib/libc.so.6 #1 0x0000555555632a46 in EpollFD::Wait(epoll_event*, int, int) (this=0x7fffffffc668, events=0x7fffffffbb60, maxevents=16, timeout=100143) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/system/EpollFD.hxx:55 #2 0x0000555555632c67 in EpollBackend::ReadEvents(int) (this=0x7fffffffc668, timeout_ms=100143) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/event/EpollBackend.hxx:60 #3 0x0000555555633462 in EventLoop::Wait(std::chrono::duration >) (this=0x7fffffffbdd8, timeout=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/event/Loop.cxx:241 #4 0x0000555555632316 in EventLoop::Run() (this=0x7fffffffbdd8) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/event/Loop.cxx:330 #5 0x000055555558d397 in MainConfigured(options const&, ConfigData const&) (options=..., raw_config=...) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/Main.cxx:549 #6 0x000055555558d6c5 in MainOrThrow(int, char**) (argc=3, argv=0x7fffffffdca8) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/Main.cxx:634 #7 0x000055555558d769 in mpd_main(int, char**) (argc=3, argv=0x7fffffffdca8) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/Main.cxx:642 #8 0x000055555558d7f0 in main(int, char**) (argc=3, argv=0x7fffffffdca8) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/Main.cxx:656 (gdb) t 5 [Switching to thread 5 (Thread 0x7fffe092e640 (LWP 674195))] #0 0x00007ffff2f89d22 in raise () from /usr/lib/libc.so.6 (gdb) f 4 #4 0x000055555565254c in RewindInputStream::Read (this=0x7fffcc0011a0, lock=..., ptr=0x7fffe0920b4b, read_size=40821) at ../../../../../../../../../home/vladimir/work/extern/MPD/src/input/RewindInputStream.cxx:110 110 assert(tail == (size_t)input->GetOffset()); (gdb) p offset $1 = 64000 (gdb) p head $2 = 0 (gdb) p tail $3 = 64000 (gdb) p *input $4 = {_vptr.InputStream = 0x5555558dbdf8 , uri = "http://127.103.0.93:8131/", mutex = @0x555555956258, handler = 0x7fffcc001210, ready = true, seekable = false, static UNKNOWN_SIZE = 18446744073709551615, size = 18446744073709551615, offset = 64052, mime = "audio/mpeg"} (gdb) p nbytes $5 = 0 ```
Log: ``` Aug 02 13:59 : state_file: Loading state file /home/vladimir/.config/mpd/state Aug 02 13:59 : exception: RTIOThread could not get realtime scheduling, continuing anyway: sched_setscheduler failed: Operation not permitted Aug 02 13:59 : playlist: queue song 0:"http://127.103.0.93:8131/" Aug 02 13:59 : exception: OutputThread could not get realtime scheduling, continuing anyway: sched_setscheduler failed: Operation not permitted Aug 02 13:59 : curl: icy-metaint=16000 Aug 02 13:59 : decoder_thread: probing plugin mad Aug 02 13:59 : decoder: audio_format=44100:24:2, seekable=false Aug 02 13:59 : output: opened "mpd" (pulse) audio_format=44100:24:2 Aug 02 13:59 : client: [0] opened from 127.0.0.1:43832 Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [1] opened from 127.0.0.1:43834 Aug 02 13:59 : client: [1] process command list Aug 02 13:59 : client: process command "status" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: process command "currentsong" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: [1] process command list returned 0 Aug 02 13:59 : client: [1] closed Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [2] opened from 127.0.0.1:43836 Aug 02 13:59 : client: [2] process command list Aug 02 13:59 : client: process command "status" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: process command "currentsong" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: [2] process command list returned 0 Aug 02 13:59 : client: [2] closed Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [3] opened from 127.0.0.1:43838 Aug 02 13:59 : client: [3] process command list Aug 02 13:59 : client: process command "status" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: process command "currentsong" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: [3] process command list returned 0 Aug 02 13:59 : client: [3] closed Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [4] opened from 127.0.0.1:43840 Aug 02 13:59 : client: [4] process command list Aug 02 13:59 : client: process command "status" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: process command "currentsong" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: [4] process command list returned 0 Aug 02 13:59 : client: [4] closed Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [5] opened from 127.0.0.1:43842 Aug 02 13:59 : client: [5] process command list Aug 02 13:59 : client: process command "status" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: process command "currentsong" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: [5] process command list returned 0 Aug 02 13:59 : client: [5] closed Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [6] opened from 127.0.0.1:43844 Aug 02 13:59 : client: [6] process command list Aug 02 13:59 : client: process command "status" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: process command "currentsong" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: [6] process command list returned 0 Aug 02 13:59 : client: [6] closed Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [7] opened from 127.0.0.1:43846 Aug 02 13:59 : client: [7] process command list Aug 02 13:59 : client: process command "status" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: process command "currentsong" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: [7] process command list returned 0 Aug 02 13:59 : client: [7] closed Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [8] opened from 127.0.0.1:43848 Aug 02 13:59 : client: [8] process command list Aug 02 13:59 : client: process command "status" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: process command "currentsong" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: [8] process command list returned 0 Aug 02 13:59 : client: [8] closed Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [9] opened from 127.0.0.1:43850 Aug 02 13:59 : client: [9] process command list Aug 02 13:59 : client: process command "status" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: process command "currentsong" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: [9] process command list returned 0 Aug 02 13:59 : client: [9] closed Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [10] opened from 127.0.0.1:43852 Aug 02 13:59 : client: [10] process command list Aug 02 13:59 : client: process command "status" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: process command "currentsong" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: [10] process command list returned 0 Aug 02 13:59 : client: [10] closed Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [11] opened from 127.0.0.1:43854 Aug 02 13:59 : client: [11] process command list Aug 02 13:59 : client: process command "status" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: process command "currentsong" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: [11] process command list returned 0 Aug 02 13:59 : client: [11] closed Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [12] opened from 127.0.0.1:43856 Aug 02 13:59 : client: [12] process command list Aug 02 13:59 : client: process command "status" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: process command "currentsong" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: [12] process command list returned 0 Aug 02 13:59 : client: [12] closed Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [13] opened from 127.0.0.1:43858 Aug 02 13:59 : client: [13] process command list Aug 02 13:59 : client: process command "status" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: process command "currentsong" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: [13] process command list returned 0 Aug 02 13:59 : client: [13] closed Aug 02 13:59 : client: [0] process command "idle" Aug 02 13:59 : client: [0] command returned 1 Aug 02 13:59 : client: [14] opened from 127.0.0.1:43860 Aug 02 13:59 : client: [14] process command list Aug 02 13:59 : client: process command "status" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: process command "currentsong" Aug 02 13:59 : client: command returned 0 Aug 02 13:59 : client: [14] process command list returned 0 Aug 02 13:59 : client: [14] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [15] opened from 127.0.0.1:43862 Aug 02 14:00 : client: [15] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [15] process command list returned 0 Aug 02 14:00 : client: [15] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [16] opened from 127.0.0.1:43864 Aug 02 14:00 : client: [16] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [16] process command list returned 0 Aug 02 14:00 : client: [16] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [17] opened from 127.0.0.1:43866 Aug 02 14:00 : client: [17] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [17] process command list returned 0 Aug 02 14:00 : client: [17] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [18] opened from 127.0.0.1:43868 Aug 02 14:00 : client: [18] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [18] process command list returned 0 Aug 02 14:00 : client: [18] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [19] opened from 127.0.0.1:43870 Aug 02 14:00 : client: [19] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [19] process command list returned 0 Aug 02 14:00 : client: [19] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [20] opened from 127.0.0.1:43872 Aug 02 14:00 : client: [20] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [20] process command list returned 0 Aug 02 14:00 : client: [20] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [21] opened from 127.0.0.1:43876 Aug 02 14:00 : client: [21] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [21] process command list returned 0 Aug 02 14:00 : client: [21] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [22] opened from 127.0.0.1:43878 Aug 02 14:00 : client: [22] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [22] process command list returned 0 Aug 02 14:00 : client: [22] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [23] opened from 127.0.0.1:43882 Aug 02 14:00 : client: [23] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [23] process command list returned 0 Aug 02 14:00 : client: [23] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [24] opened from 127.0.0.1:43884 Aug 02 14:00 : client: [24] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [24] process command list returned 0 Aug 02 14:00 : client: [24] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [25] opened from 127.0.0.1:43886 Aug 02 14:00 : client: [25] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [25] process command list returned 0 Aug 02 14:00 : client: [25] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [26] opened from 127.0.0.1:43888 Aug 02 14:00 : client: [26] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [26] process command list returned 0 Aug 02 14:00 : client: [26] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [27] opened from 127.0.0.1:43890 Aug 02 14:00 : client: [27] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [27] process command list returned 0 Aug 02 14:00 : client: [27] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [28] opened from 127.0.0.1:43892 Aug 02 14:00 : client: [28] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [28] process command list returned 0 Aug 02 14:00 : client: [28] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [29] opened from 127.0.0.1:43894 Aug 02 14:00 : client: [29] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [29] process command list returned 0 Aug 02 14:00 : client: [29] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [30] opened from 127.0.0.1:43898 Aug 02 14:00 : client: [30] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [30] process command list returned 0 Aug 02 14:00 : client: [30] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [31] opened from 127.0.0.1:43900 Aug 02 14:00 : client: [31] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [31] process command list returned 0 Aug 02 14:00 : client: [31] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [32] opened from 127.0.0.1:43902 Aug 02 14:00 : client: [32] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [32] process command list returned 0 Aug 02 14:00 : client: [32] closed Aug 02 14:00 : curl: icy-metaint=16000 Aug 02 14:00 : decoder_thread: probing plugin mad Aug 02 14:00 : decoder: audio_format=44100:24:2, seekable=false Aug 02 14:00 : player: played "http://127.103.0.93:8131/" Aug 02 14:00 : playlist: queue song 0:"http://127.103.0.93:8131/" Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [33] opened from 127.0.0.1:43904 Aug 02 14:00 : client: [33] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [33] process command list returned 0 Aug 02 14:00 : client: [33] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [34] opened from 127.0.0.1:43906 Aug 02 14:00 : client: [34] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [34] process command list returned 0 Aug 02 14:00 : client: [34] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [35] opened from 127.0.0.1:43908 Aug 02 14:00 : client: [35] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [35] process command list returned 0 Aug 02 14:00 : client: [35] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [36] opened from 127.0.0.1:43910 Aug 02 14:00 : client: [36] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [36] process command list returned 0 Aug 02 14:00 : client: [36] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [37] opened from 127.0.0.1:43912 Aug 02 14:00 : client: [37] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [37] process command list returned 0 Aug 02 14:00 : client: [37] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [38] opened from 127.0.0.1:43914 Aug 02 14:00 : client: [38] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [38] process command list returned 0 Aug 02 14:00 : client: [38] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [39] opened from 127.0.0.1:43916 Aug 02 14:00 : client: [39] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [39] process command list returned 0 Aug 02 14:00 : client: [39] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [40] opened from 127.0.0.1:43918 Aug 02 14:00 : client: [40] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [40] process command list returned 0 Aug 02 14:00 : client: [40] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [41] opened from 127.0.0.1:43920 Aug 02 14:00 : client: [41] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [41] process command list returned 0 Aug 02 14:00 : client: [41] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [42] opened from 127.0.0.1:43922 Aug 02 14:00 : client: [42] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [42] process command list returned 0 Aug 02 14:00 : client: [42] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [43] opened from 127.0.0.1:43924 Aug 02 14:00 : client: [43] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [43] process command list returned 0 Aug 02 14:00 : client: [43] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [44] opened from 127.0.0.1:43926 Aug 02 14:00 : client: [44] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [44] process command list returned 0 Aug 02 14:00 : client: [44] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [45] opened from 127.0.0.1:43928 Aug 02 14:00 : client: [45] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [45] process command list returned 0 Aug 02 14:00 : client: [45] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [46] opened from 127.0.0.1:43930 Aug 02 14:00 : client: [46] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [46] process command list returned 0 Aug 02 14:00 : client: [46] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [47] opened from 127.0.0.1:43932 Aug 02 14:00 : client: [47] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [47] process command list returned 0 Aug 02 14:00 : client: [47] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [48] opened from 127.0.0.1:43934 Aug 02 14:00 : client: [48] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [48] process command list returned 0 Aug 02 14:00 : client: [48] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [49] opened from 127.0.0.1:43936 Aug 02 14:00 : client: [49] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [49] process command list returned 0 Aug 02 14:00 : client: [49] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [50] opened from 127.0.0.1:43938 Aug 02 14:00 : client: [50] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [50] process command list returned 0 Aug 02 14:00 : client: [50] closed Aug 02 14:00 : client: [0] process command "idle" Aug 02 14:00 : client: [0] command returned 1 Aug 02 14:00 : client: [51] opened from 127.0.0.1:43942 Aug 02 14:00 : client: [51] process command list Aug 02 14:00 : client: process command "status" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: process command "currentsong" Aug 02 14:00 : client: command returned 0 Aug 02 14:00 : client: [51] process command list returned 0 Aug 02 14:00 : client: [51] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [52] opened from 127.0.0.1:43944 Aug 02 14:01 : client: [52] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [52] process command list returned 0 Aug 02 14:01 : client: [52] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [53] opened from 127.0.0.1:43946 Aug 02 14:01 : client: [53] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [53] process command list returned 0 Aug 02 14:01 : client: [53] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [54] opened from 127.0.0.1:43948 Aug 02 14:01 : client: [54] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [54] process command list returned 0 Aug 02 14:01 : client: [54] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [55] opened from 127.0.0.1:43950 Aug 02 14:01 : client: [55] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [55] process command list returned 0 Aug 02 14:01 : client: [55] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [56] opened from 127.0.0.1:43952 Aug 02 14:01 : client: [56] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [56] process command list returned 0 Aug 02 14:01 : client: [56] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [57] opened from 127.0.0.1:43954 Aug 02 14:01 : client: [57] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [57] process command list returned 0 Aug 02 14:01 : client: [57] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [58] opened from 127.0.0.1:43956 Aug 02 14:01 : client: [58] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [58] process command list returned 0 Aug 02 14:01 : client: [58] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [59] opened from 127.0.0.1:43958 Aug 02 14:01 : client: [59] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [59] process command list returned 0 Aug 02 14:01 : client: [59] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [60] opened from 127.0.0.1:43960 Aug 02 14:01 : client: [60] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [60] process command list returned 0 Aug 02 14:01 : client: [60] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [61] opened from 127.0.0.1:43962 Aug 02 14:01 : client: [61] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [61] process command list returned 0 Aug 02 14:01 : client: [61] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [62] opened from 127.0.0.1:43966 Aug 02 14:01 : client: [62] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [62] process command list returned 0 Aug 02 14:01 : client: [62] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [63] opened from 127.0.0.1:43968 Aug 02 14:01 : client: [63] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [63] process command list returned 0 Aug 02 14:01 : client: [63] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [64] opened from 127.0.0.1:43970 Aug 02 14:01 : client: [64] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [64] process command list returned 0 Aug 02 14:01 : client: [64] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [65] opened from 127.0.0.1:43972 Aug 02 14:01 : client: [65] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [65] process command list returned 0 Aug 02 14:01 : client: [65] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [66] opened from 127.0.0.1:43974 Aug 02 14:01 : client: [66] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [66] process command list returned 0 Aug 02 14:01 : client: [66] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [67] opened from 127.0.0.1:43976 Aug 02 14:01 : client: [67] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [67] process command list returned 0 Aug 02 14:01 : client: [67] closed Aug 02 14:01 : state_file: Saving state file /home/vladimir/.config/mpd/state Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [68] opened from 127.0.0.1:43978 Aug 02 14:01 : client: [68] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [68] process command list returned 0 Aug 02 14:01 : client: [68] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [69] opened from 127.0.0.1:43980 Aug 02 14:01 : client: [69] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [69] process command list returned 0 Aug 02 14:01 : client: [69] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [70] opened from 127.0.0.1:43982 Aug 02 14:01 : client: [70] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [70] process command list returned 0 Aug 02 14:01 : client: [70] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [71] opened from 127.0.0.1:43984 Aug 02 14:01 : client: [71] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [71] process command list returned 0 Aug 02 14:01 : client: [71] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [72] opened from 127.0.0.1:43986 Aug 02 14:01 : client: [72] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [72] process command list returned 0 Aug 02 14:01 : client: [72] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [73] opened from 127.0.0.1:43988 Aug 02 14:01 : client: [73] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [73] process command list returned 0 Aug 02 14:01 : client: [73] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [74] opened from 127.0.0.1:43990 Aug 02 14:01 : client: [74] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [74] process command list returned 0 Aug 02 14:01 : client: [74] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [75] opened from 127.0.0.1:43992 Aug 02 14:01 : client: [75] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [75] process command list returned 0 Aug 02 14:01 : client: [75] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [76] opened from 127.0.0.1:43994 Aug 02 14:01 : client: [76] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [76] process command list returned 0 Aug 02 14:01 : client: [76] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [77] opened from 127.0.0.1:43996 Aug 02 14:01 : client: [77] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [77] process command list returned 0 Aug 02 14:01 : client: [77] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [78] opened from 127.0.0.1:43998 Aug 02 14:01 : client: [78] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [78] process command list returned 0 Aug 02 14:01 : client: [78] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [79] opened from 127.0.0.1:44000 Aug 02 14:01 : client: [79] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [79] process command list returned 0 Aug 02 14:01 : client: [79] closed Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [80] opened from 127.0.0.1:44004 Aug 02 14:01 : client: [80] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [80] process command list returned 0 Aug 02 14:01 : client: [80] closed Aug 02 14:01 : curl: icy-metaint=16000 Aug 02 14:01 : decoder_thread: probing plugin mad Aug 02 14:01 : decoder: audio_format=44100:24:2, seekable=false Aug 02 14:01 : player: played "http://127.103.0.93:8131/" Aug 02 14:01 : playlist: queue song 0:"http://127.103.0.93:8131/" Aug 02 14:01 : client: [0] process command "idle" Aug 02 14:01 : client: [0] command returned 1 Aug 02 14:01 : client: [81] opened from 127.0.0.1:44006 Aug 02 14:01 : client: [81] process command list Aug 02 14:01 : client: process command "status" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: process command "currentsong" Aug 02 14:01 : client: command returned 0 Aug 02 14:01 : client: [81] process command list returned 0 Aug 02 14:01 : client: [81] closed mpd: ../../../../../../../../../home/vladimir/work/extern/MPD/src/input/RewindInputStream.cxx:110: virtual size_t RewindInputStream::Read(std::unique_lock&, void*, size_t): Assertion `tail == (size_t)input->GetOffset()' failed. ```

If it helps, perhaps the buffer_before_play "0%" line in the configuration is relevant?

I made the stream temporarily available at http://hidden/. I don't know if the problem can be reproduced when playing over the Internet (as opposed to localhost), though. It is random, and so far took anywhere from seconds to about 5 minutes to reproduce.

MaxKellermann commented 3 years ago

I made the stream temporarily available at

Funny, this crashes streamripper ....

Thread 4 "streamripper" received signal SIGPIPE, Broken pipe.
[Switching to Thread 0x7ffff67a5700 (LWP 1933685)]
__libc_send (flags=<optimized out>, len=16001, buf=0x7fffec000b60, fd=8) at ../sysdeps/unix/sysv/linux/send.c:28
28  ../sysdeps/unix/sysv/linux/send.c: No such file or directory.
(gdb) bt
#0  __libc_send (flags=<optimized out>, len=16001, buf=0x7fffec000b60, fd=8) at ../sysdeps/unix/sysv/linux/send.c:28
#1  __libc_send (fd=8, buf=0x7fffec000b60, len=16001, flags=flags@entry=0) at ../sysdeps/unix/sysv/linux/send.c:23
#2  0x00005555554145fc in send_to_relay (ptr=0x7fffe8000b60, rmi=0x555555678280) at relaylib.c:602
#3  thread_send (arg=0x555555678280) at relaylib.c:686
#4  0x00007ffff7f67ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#5  0x00007ffff7be8def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
CyberShadow commented 3 years ago

Ah, sorry, I misunderstood you. That is the relay stream produced by StreamRipper.

Here is my StreamRipper command line:

args=(streamripper
      "$url"
      -d ~/data/music/Streamed
      -D "%S/[%D] %A - %T"
      # -r 127.103.0.93:8131
      -r 0.0.0.0:8131
      -R 0 # no connection limit
      -z # don't scan for free ports
      -t # don't overwrite in incomplete directory
      -k 0 # keep partial
      -o version
      -u "Music Player Daemon 0.20.21"
      --stderr
      # --debug
      --quiet
      --xs-none
) ; exec "${args[@]}"
MaxKellermann commented 3 years ago

Found it already. This happens when streamripper closes the stream prematurely, or when streamripper crashes - then the offset is miscalculated by MPD, triggering the assertion failure (only relevant when MPD is compiled with debug mode, which most people should not; not a bug in release builds).