2017-02-25 23:35 CET

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0004641MPDMPDpublic2017-02-21 11:26
Reporterprezi 
Assigned Tocirrus 
PrioritynormalSeverityblockReproducibilityhave not tried
StatusassignedResolutionreopened 
Product Versiongit 
Target VersionFixed in Versiongit 
Summary0004641: mpd does not response
DescriptionAfter last commits mpd can be in easy way "suspended". First tracks stucks at 0.0 and nothing happens. status says playing, but it is not playing. If I changed truck, mpd does not response alt all. Clients inform timeout and so on.
TagsNo tags attached.
Attached Files
  • ? file icon debug.txt.xz (90,484 bytes) 2017-02-12 04:58
  • txt file icon mpd.txt (11,658 bytes) 2017-02-12 19:54 -
    Thread 6 (LWP 2160):
    #0  0xa810971a in ?? () from /usr/lib/libgomp.so.1
    #1  0xa8109809 in ?? () from /usr/lib/libgomp.so.1
    #2  0xa8109829 in ?? () from /usr/lib/libgomp.so.1
    #3  0xa8107b2c in ?? () from /usr/lib/libgomp.so.1
    #4  0xa921c09b in start (p=0xa7b62d2c) at src/thread/pthread_create.c:145
    #5  0xa921ad45 in __clone () at src/thread/i386/clone.s:36
    #6  0xa7b62d28 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    
    Thread 5 (LWP 2144):
    #0  __cp_end () at src/thread/i386/syscall_cp.s:31
    #1  0xa921b6db in __syscall_cp_c (nr=240, u=-1480844632, v=128, w=2, x=0, y=0, 
        z=0) at src/thread/pthread_cancel.c:35
    #2  0xa921aaf2 in __timedwait_cp (addr=0xa7bc1aa8, val=2, clk=0, at=0x0, 
        priv=128) at src/thread/__timedwait.c:31
    #3  0xa921bae9 in __pthread_cond_timedwait (c=0x8105c84, m=0x8105c6c, ts=0x0)
        at src/thread/pthread_cond_timedwait.c:105
    #4  0xa921bdc5 in pthread_cond_wait (c=0x8105c84, m=0x8105c6c)
        at src/thread/pthread_cond_wait.c:5
    #5  0x080972e2 in PosixCond::wait (mutex=..., this=0x8105c84)
        at ./src/thread/PosixCond.hxx:74
    #6  AlsaOutput::Play (this=0x8105ab0, chunk=0x996e5c0, size=656)
        at src/output/plugins/AlsaOutputPlugin.cxx:1216
    #7  0x08071694 in AudioOutput::PlayChunk (this=0x8105ad8)
        at src/output/OutputThread.cxx:299
    #8  0x080717fb in AudioOutput::Play (this=0x8105ad8)
        at src/output/OutputThread.cxx:357
    #9  0x08071ff7 in AudioOutput::Task (this=0x8105ad8)
        at src/output/OutputThread.cxx:505
    #10 0x080a7fc0 in BoundMethod<void ()>::operator()() const (this=0x8105b24)
        at ./src/util/BindMethod.hxx:77
    #11 Thread::Run (this=0x8105b24) at src/thread/Thread.cxx:87
    #12 Thread::ThreadProc (ctx=0x8105b24) at src/thread/Thread.cxx:112
    #13 0xa921c09b in start (p=0xa7bc1d2c) at src/thread/pthread_create.c:145
    #14 0xa921ad45 in __clone () at src/thread/i386/clone.s:36
    #15 0xa7bc1d28 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    
    Thread 4 (LWP 2143):
    #0  __cp_end () at src/thread/i386/syscall_cp.s:31
    #1  0xa921b6db in __syscall_cp_c (nr=240, u=-1476519672, v=128, w=2, x=0, y=0, 
        z=0) at src/thread/pthread_cancel.c:35
    #2  0xa921aaf2 in __timedwait_cp (addr=0xa7fe1908, val=2, clk=0, at=0x0, 
        priv=128) at src/thread/__timedwait.c:31
    #3  0xa921bae9 in __pthread_cond_timedwait (c=0xa7ff8b34, m=0xa8fea2d4, ts=0x0)
        at src/thread/pthread_cond_timedwait.c:105
    #4  0xa921bdc5 in pthread_cond_wait (c=0xa7ff8b34, m=0xa8fea2d4)
        at src/thread/pthread_cond_wait.c:5
    #5  0x08074234 in PosixCond::wait (mutex=..., this=0xa7ff8b34)
        at ./src/thread/PosixCond.hxx:74
    #6  DecoderControl::Wait (this=0xa7ff8b20)
        at src/decoder/DecoderControl.hxx:212
    #7  need_chunks (dc=...) at src/decoder/Bridge.cxx:84
    #8  LockNeedChunks (dc=...) at src/decoder/Bridge.cxx:93
    #9  DecoderBridge::GetChunk (this=0xa7fe2ba0) at src/decoder/Bridge.cxx:114
    #10 0x080748b4 in DecoderBridge::SubmitData (this=0xa7fe2ba0, is=0x0, 
        data=0xa7fe1a70, length=1024, kbit_rate=2834) at src/decoder/Bridge.cxx:488
    #11 0x0808ac82 in wavpack_decode (client=..., wpc=wpc@entry=0x9936cb0, 
        can_seek=can_seek@entry=true)
        at src/decoder/plugins/WavpackDecoderPlugin.cxx:268
    #12 0x0808ae80 in wavpack_filedecode (client=..., path_fs=...)
        at src/decoder/plugins/WavpackDecoderPlugin.cxx:572
    #13 0x08072ddd in DecoderPlugin::FileDecode<Path> (
        this=0x80b40e0 <wavpack_decoder_plugin>, path_fs=..., client=...)
        at src/decoder/DecoderPlugin.hxx:135
    #14 decoder_file_decode (plugin=..., bridge=..., path=...)
        at src/decoder/DecoderThread.cxx:160
    #15 0x08073161 in TryDecoderFile (plugin=..., input_stream=..., 
        suffix=0x9847449 "wv", path_fs=..., bridge=...)
        at src/decoder/DecoderThread.cxx:322
    #16 <lambda(const DecoderPlugin&)>::operator() (plugin=..., 
        __closure=0xa7fe2b60) at src/decoder/DecoderThread.cxx:406
    #17 decoder_plugins_try<decoder_run_file(DecoderBridge&, char const*, Path)::<lambda(const DecoderPlugin&)> > (f=...) at src/decoder/DecoderList.hxx:60
    #18 decoder_run_file (path_fs=..., 
        uri_utf8=0x9847380 "/mnt/SYMPHONY/Pictures_at_an_Exhibition-A_Night_on_Bald_Mountain_and_other_Russian_Showpieces_(Fritz_Reiner,_Chicago_Symphony_Orchestra)_SACD/21", '_' <repeats 24 times>, "-_Russlan_and_Ludmilla__Overture"..., 
        bridge=...) at src/decoder/DecoderThread.cxx:406
    #19 DecoderUnlockedRunUri (path_fs=..., 
        real_uri=0x9847380 "/mnt/SYMPHONY/Pictures_at_an_Exhibition-A_Night_on_Bald_Mountain_and_other_Russian_Showpieces_(Fritz_Reiner,_Chicago_Symphony_Orchestra)_SACD/21", '_' <repeats 24 times>, "-_Russlan_and_Ludmilla__Overture"..., 
        bridge=...) at src/decoder/DecoderThread.cxx:419
    #20 decoder_run_song (path_fs=..., 
        uri=0x9847380 "/mnt/SYMPHONY/Pictures_at_an_Exhibition-A_Night_on_Bald_Mountain_and_other_Russian_Showpieces_(Fritz_Reiner,_Chicago_Symphony_Orchestra)_SACD/21", '_' <repeats 24 times>, "-_Russlan_and_Ludmilla__Overture"..., song=..., 
        dc=...) at src/decoder/DecoderThread.cxx:463
    #21 decoder_run (dc=...) at src/decoder/DecoderThread.cxx:506
    #22 0x0807386e in DecoderControl::RunThread (this=0xa7ff8b20)
        at src/decoder/DecoderThread.cxx:530
    #23 0x080a7fc0 in BoundMethod<void ()>::operator()() const (this=0xa7ff8b20)
        at ./src/util/BindMethod.hxx:77
    #24 Thread::Run (this=0xa7ff8b20) at src/thread/Thread.cxx:87
    #25 Thread::ThreadProc (ctx=0xa7ff8b20) at src/thread/Thread.cxx:112
    #26 0xa921c09b in start (p=0xa7fe2d2c) at src/thread/pthread_create.c:145
    #27 0xa921ad45 in __clone () at src/thread/i386/clone.s:36
    #28 0xa7fe2d28 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    
    Thread 3 (LWP 2142):
    #0  __cp_end () at src/thread/i386/syscall_cp.s:31
    #1  0xa921b6db in __syscall_cp_c (nr=240, u=-1476425464, v=128, w=2, x=0, y=0, 
        z=0) at src/thread/pthread_cancel.c:35
    #2  0xa921aaf2 in __timedwait_cp (addr=0xa7ff8908, val=2, clk=0, at=0x0, 
        priv=128) at src/thread/__timedwait.c:31
    #3  0xa921bae9 in __pthread_cond_timedwait (
        c=0x80e30f8 <audio_output_client_notify+24>, 
        m=0x80e30e0 <audio_output_client_notify>, ts=0x0)
        at src/thread/pthread_cond_timedwait.c:105
    #4  0xa921bdc5 in pthread_cond_wait (
        c=0x80e30f8 <audio_output_client_notify+24>, 
        m=0x80e30e0 <audio_output_client_notify>)
        at src/thread/pthread_cond_wait.c:5
    #5  0x080588b0 in PosixCond::wait (mutex=..., 
        this=0x80e30f8 <audio_output_client_notify+24>)
        at src/thread/PosixCond.hxx:74
    #6  notify::Wait (this=0x80e30e0 <audio_output_client_notify>)
        at src/notify.cxx:28
    #7  0x08057451 in MultipleOutputs::WaitAll (this=0xa8fea284)
        at src/output/MultipleOutputs.cxx:138
    #8  0x08057502 in MultipleOutputs::Cancel (this=0xa8fea284)
        at src/output/MultipleOutputs.cxx:355
    #9  0x0805eee8 in Player::SeekDecoder (this=0xa7ff8aec)
        at src/player/Thread.cxx:578
    #10 0x0805f1b1 in Player::ProcessCommand (this=0xa7ff8aec)
        at src/player/Thread.cxx:704
    #11 0x0805f346 in Player::Run (this=0xa7ff8aec) at src/player/Thread.cxx:964
    #12 0x0805f8ef in do_play (buffer=..., dc=..., pc=...)
        at src/player/Thread.cxx:1136
    #13 PlayerControl::RunThread (this=<optimized out>)
        at src/player/Thread.cxx:1160
    #14 0x080a7fc0 in BoundMethod<void ()>::operator()() const (this=0xa8fea2c4)
        at ./src/util/BindMethod.hxx:77
    #15 Thread::Run (this=0xa8fea2c4) at src/thread/Thread.cxx:87
    #16 Thread::ThreadProc (ctx=0xa8fea2c4) at src/thread/Thread.cxx:112
    #17 0xa921c09b in start (p=0xa7ff8d2c) at src/thread/pthread_create.c:145
    #18 0xa921ad45 in __clone () at src/thread/i386/clone.s:36
    #19 0xa7ff8d28 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    
    Thread 2 (LWP 2141):
    #0  0xa91cfab9 in __kernel_vsyscall ()
    #1  0xa91ec921 in __vsyscall () at src/internal/i386/syscall.s:19
    #2  0xa91ec958 in __vsyscall6 () at src/internal/i386/syscall.s:55
    #3  0xa91ee016 in __syscall6 (a6=8, a5=0, a4=-1, a3=16, a2=-1472946712, 
        a1=<optimized out>, n=319) at ./arch/i386/syscall_arch.h:51
    #4  epoll_pwait (fd=6, ev=0xa8349de8, cnt=16, to=-1, sigs=0x0)
        at src/linux/epoll.c:27
    #5  0xa91ee058 in epoll_wait (fd=6, ev=0xa8349de8, cnt=16, to=-1)
        at src/linux/epoll.c:36
    #6  0x080a7e3f in EPollFD::Wait (timeout=<optimized out>, maxevents=16, 
        events=0xa8349de8, this=0xa8349de4) at ./src/system/EPollFD.hxx:53
    #7  PollGroupEPoll::ReadEvents (timeout_ms=<optimized out>, result=..., 
        this=0xa8349de4) at src/event/PollGroupEPoll.hxx:67
    #8  EventLoop::Run (this=0xa8349d7c) at src/event/Loop.cxx:201
    #9  0x080a7fc0 in BoundMethod<void ()>::operator()() const (this=0xa8349eb0)
        at ./src/util/BindMethod.hxx:77
    #10 Thread::Run (this=0xa8349eb0) at src/thread/Thread.cxx:87
    #11 Thread::ThreadProc (ctx=0xa8349eb0) at src/thread/Thread.cxx:112
    #12 0xa921c09b in start (p=0xa800ed2c) at src/thread/pthread_create.c:145
    #13 0xa921ad45 in __clone () at src/thread/i386/clone.s:36
    #14 0xa800ed28 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    
    Thread 1 (LWP 2135):
    #0  __cp_end () at src/thread/i386/syscall_cp.s:31
    #1  0xa921b6db in __syscall_cp_c (nr=240, u=-1074430248, v=128, w=2, x=0, y=0, 
        z=0) at src/thread/pthread_cancel.c:35
    #2  0xa921aaf2 in __timedwait_cp (addr=0xbff57ed8, val=2, clk=0, at=0x0, 
        priv=128) at src/thread/__timedwait.c:31
    #3  0xa921bae9 in __pthread_cond_timedwait (c=0xa8fea31c, m=0xa8fea2d4, ts=0x0)
        at src/thread/pthread_cond_timedwait.c:105
    #4  0xa921bdc5 in pthread_cond_wait (c=0xa8fea31c, m=0xa8fea2d4)
        at src/thread/pthread_cond_wait.c:5
    #5  0x0805fa53 in PosixCond::wait (mutex=..., this=0xa8fea31c)
        at ./src/thread/PosixCond.hxx:74
    #6  PlayerControl::ClientWait (this=0xa8fea2a8) at src/player/Control.hxx:262
    #7  PlayerControl::WaitCommandLocked (this=0xa8fea2a8)
        at src/player/Control.hxx:310
    #8  PlayerControl::SynchronousCommand (this=0xa8fea2a8, 
        cmd=PlayerCommand::SEEK) at src/player/Control.hxx:325
    #9  0x0805fd82 in PlayerControl::SeekLocked (this=0xa8fea2a8, song=0x98d8a60, 
        t=...) at src/player/Control.cxx:232
    #10 0x0805fe92 in PlayerControl::Play (this=0xa8fea2a8, song=0x98d8a60)
        at src/player/Control.cxx:69
    #11 0x0806258c in playlist::PlayOrder (this=0xa8fea248, pc=..., order=1300)
        at src/queue/Playlist.cxx:166
    #12 0x08062a4d in playlist::PlayPosition (this=<optimized out>, pc=..., 
        song=<optimized out>) at src/queue/PlaylistControl.cxx:105
    #13 0x08062ae0 in playlist::PlayId (this=0xa8fea248, pc=..., 
        id=<optimized out>) at src/queue/PlaylistControl.cxx:120
    #14 0x080597e9 in Partition::PlayId (id=<optimized out>, this=<optimized out>)
        at ./src/Partition.hxx:141
    #15 handle_playid (client=..., args=..., r=...)
        at src/command/PlayerCommands.cxx:75
    #16 0x08058cc9 in command_process (client=..., num=0, line=0x99142f8 "playid")
        at src/command/AllCommands.cxx:413
    #17 0x0807535c in client_process_line (client=..., line=0x99142f8 "playid")
        at src/client/ClientProcess.cxx:125
    #18 0x0805bf35 in Client::OnSocketInput (this=0x99142e0, data=0x99142f8, 
        length=14) at src/client/ClientRead.cxx:47
    #19 0x080a640f in BufferedSocket::ResumeInput (this=0x99142e0)
        at src/event/BufferedSocket.cxx:77
    #20 0x080a6532 in BufferedSocket::OnSocketReady (this=0x99142e0, flags=1)
        at src/event/BufferedSocket.cxx:117
    #21 0x080a6158 in SocketMonitor::Dispatch (this=0x99142e0, 
        flags=<optimized out>) at src/event/SocketMonitor.cxx:38
    #22 0x080a7eb8 in EventLoop::Run (this=0xa8349c44) at src/event/Loop.cxx:218
    #23 0x080567ad in mpd_main_after_fork (config=...) at src/Main.cxx:599
    #24 mpd_main (argc=2, argv=0xbff58414) at src/Main.cxx:489
    #25 0x08055863 in main (argc=2, argv=0xbff58414) at src/Main.cxx:392
    
    txt file icon mpd.txt (11,658 bytes) 2017-02-12 19:54 +
  • txt file icon mpd_new.txt (12,622 bytes) 2017-02-15 20:57 -
    Music Player Daemon 0.21 (v0.20.4-100-g47dffe66a)
    
    Copyright (C) 2003-2007 Warren Dukes <warren.dukes@gmail.com>
    Copyright 2008-2017 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
    
    Neighbor plugins:
     upnp
    
    Decoders plugins:
     [mad] mp3 mp2
     [mpg123] mp3
     [vorbis] ogg oga
     [oggflac] ogg oga
     [flac] flac
     [dsdiff] dff
     [dsf] dsf
     [wavpack] wv
     [ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 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
     [pcm]
    
    Filters:
     soxr
    
    Tag plugins:
     id3tag
    
    Output plugins:
     null fifo pipe alsa httpd recorder
    
    Encoder plugins:
     null vorbis lame wave flac
    
    Archive plugins:
     [bz2] bz2
    
    Input plugins:
     file alsa archive curl ffmpeg mms
    
    Playlist plugins:
     extm3u m3u pls xspf asx rss soundcloud flac cue embcue
    
    Protocols:
     file:// http:// https:// mms:// mmsh:// mmst:// mmsu:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps:// alsa://
    
    Other features:
     avahi epoll iconv inotify tcp un
    
    
    
    
    
    GDB
    Reading symbols from mpd...done.
    Starting program: /usr/bin/mpd --no-daemon
    [New LWP 2142]
    [New LWP 2143]
    [New LWP 2144]
    [New LWP 2145]
    [New LWP 2177]
    [LWP 2177 exited]
    
    Program received signal SIGTRAP, Trace/breakpoint trap.
    __cp_end () at src/thread/i386/syscall_cp.s:31
    31      src/thread/i386/syscall_cp.s: No such file or directory.
    
    
    
    Thread 5 (LWP 2145):
    #0  __cp_end () at src/thread/i386/syscall_cp.s:31
    #1  0xaded16db in __syscall_cp_c (nr=240, u=-1400407384, v=128, w=2, x=0, y=0, 
        z=0) at src/thread/pthread_cancel.c:35
    #2  0xaded0af2 in __timedwait_cp (addr=0xac877aa8, val=2, clk=0, at=0x0, 
        priv=128) at src/thread/__timedwait.c:31
    #3  0xaded1ae9 in __pthread_cond_timedwait (c=0x8105384, m=0x810536c, ts=0x0)
        at src/thread/pthread_cond_timedwait.c:105
    #4  0xaded1dc5 in pthread_cond_wait (c=0x8105384, m=0x810536c)
        at src/thread/pthread_cond_wait.c:5
    #5  0x080974fc in PosixCond::wait (mutex=..., this=0x8105384)
        at ./src/thread/PosixCond.hxx:74
    #6  AlsaOutput::Play (this=0x81051b0, chunk=0x992ef50, size=4608)
        at src/output/plugins/AlsaOutputPlugin.cxx:1222
    #7  0x08071802 in AudioOutput::PlayChunk (this=0x81051d8)
        at src/output/OutputThread.cxx:299
    #8  0x08071969 in AudioOutput::Play (this=0x81051d8)
        at src/output/OutputThread.cxx:357
    #9  0x08072165 in AudioOutput::Task (this=0x81051d8)
        at src/output/OutputThread.cxx:505
    #10 0x080a81e8 in BoundMethod<void ()>::operator()() const (this=0x8105224)
        at ./src/util/BindMethod.hxx:77
    #11 Thread::Run (this=0x8105224) at src/thread/Thread.cxx:87
    #12 Thread::ThreadProc (ctx=0x8105224) at src/thread/Thread.cxx:112
    #13 0xaded209b in start (p=0xac877d2c) at src/thread/pthread_create.c:145
    #14 0xaded0d45 in __clone () at src/thread/i386/clone.s:36
    #15 0xac877d28 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    
    Thread 4 (LWP 2144):
    #0  __cp_end () at src/thread/i386/syscall_cp.s:31
    #1  0xaded16db in __syscall_cp_c (nr=240, u=-1396086568, v=128, w=2, x=0, y=0, 
        z=0) at src/thread/pthread_cancel.c:35
    #2  0xaded0af2 in __timedwait_cp (addr=0xacc968d8, val=2, clk=0, at=0x0, 
        priv=128) at src/thread/__timedwait.c:31
    #3  0xaded1ae9 in __pthread_cond_timedwait (c=0xaccaeb34, m=0xadca02d4, ts=0x0)
        at src/thread/pthread_cond_timedwait.c:105
    #4  0xaded1dc5 in pthread_cond_wait (c=0xaccaeb34, m=0xadca02d4)
        at src/thread/pthread_cond_wait.c:5
    #5  0x080743a2 in PosixCond::wait (mutex=..., this=0xaccaeb34)
        at ./src/thread/PosixCond.hxx:74
    #6  DecoderControl::Wait (this=0xaccaeb20)
        at src/decoder/DecoderControl.hxx:212
    #7  need_chunks (dc=...) at src/decoder/Bridge.cxx:84
    #8  LockNeedChunks (dc=...) at src/decoder/Bridge.cxx:93
    #9  DecoderBridge::GetChunk (this=0xacc98ba0) at src/decoder/Bridge.cxx:114
    #10 0x08074a22 in DecoderBridge::SubmitData (this=0xacc98ba0, is=0x0, 
        data=0xacc97a80, length=4096, kbit_rate=320) at src/decoder/Bridge.cxx:488
    #11 0x0808aa60 in mpd_mpg123_file_decode (client=..., path_fs=...)
        at src/decoder/plugins/Mpg123DecoderPlugin.cxx:260
    #12 0x08072f4b in DecoderPlugin::FileDecode<Path> (
        this=0x80b4260 <mpg123_decoder_plugin>, path_fs=..., client=...)
        at src/decoder/DecoderPlugin.hxx:135
    #13 decoder_file_decode (plugin=..., bridge=..., path=...)
        at src/decoder/DecoderThread.cxx:160
    #14 0x080732cf in TryDecoderFile (plugin=..., input_stream=..., 
        suffix=0x98c1520 "mp3", path_fs=..., bridge=...)
        at src/decoder/DecoderThread.cxx:322
    #15 <lambda(const DecoderPlugin&)>::operator() (plugin=..., 
        __closure=0xacc98b60) at src/decoder/DecoderThread.cxx:406
    #16 decoder_plugins_try<decoder_run_file(DecoderBridge&, char const*, Path)::<lambda(const DecoderPlugin&)> > (f=...) at src/decoder/DecoderList.hxx:60
    #17 decoder_run_file (path_fs=..., 
        uri_utf8=0x98c14d0 "/mnt/DLA_DZIECI/Martyna_Wojciechowska_-_Zwierzaki_świata/15_Fusi_-_ciekawostki.mp3", bridge=...) at src/decoder/DecoderThread.cxx:406
    #18 DecoderUnlockedRunUri (path_fs=..., 
        real_uri=0x98c14d0 "/mnt/DLA_DZIECI/Martyna_Wojciechowska_-_Zwierzaki_świata/15_Fusi_-_ciekawostki.mp3", bridge=...) at src/decoder/DecoderThread.cxx:419
    #19 decoder_run_song (path_fs=..., 
        uri=0x98c14d0 "/mnt/DLA_DZIECI/Martyna_Wojciechowska_-_Zwierzaki_świata/15_Fusi_-_ciekawostki.mp3", song=..., dc=...) at src/decoder/DecoderThread.cxx:463
    #20 decoder_run (dc=...) at src/decoder/DecoderThread.cxx:506
    #21 0x080739dc in DecoderControl::RunThread (this=0xaccaeb20)
        at src/decoder/DecoderThread.cxx:530
    #22 0x080a81e8 in BoundMethod<void ()>::operator()() const (this=0xaccaeb20)
        at ./src/util/BindMethod.hxx:77
    #23 Thread::Run (this=0xaccaeb20) at src/thread/Thread.cxx:87
    #24 Thread::ThreadProc (ctx=0xaccaeb20) at src/thread/Thread.cxx:112
    #25 0xaded209b in start (p=0xacc98d2c) at src/thread/pthread_create.c:145
    #26 0xaded0d45 in __clone () at src/thread/i386/clone.s:36
    #27 0xacc98d28 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    
    Thread 3 (LWP 2143):
    #0  __cp_end () at src/thread/i386/syscall_cp.s:31
    #1  0xaded16db in __syscall_cp_c (nr=240, u=-1395988216, v=128, w=2, x=0, y=0, 
        z=0) at src/thread/pthread_cancel.c:35
    #2  0xaded0af2 in __timedwait_cp (addr=0xaccae908, val=2, clk=0, at=0x0, 
        priv=128) at src/thread/__timedwait.c:31
    #3  0xaded1ae9 in __pthread_cond_timedwait (
        c=0x80e2fd8 <audio_output_client_notify+24>, 
        m=0x80e2fc0 <audio_output_client_notify>, ts=0x0)
        at src/thread/pthread_cond_timedwait.c:105
    #4  0xaded1dc5 in pthread_cond_wait (
        c=0x80e2fd8 <audio_output_client_notify+24>, 
        m=0x80e2fc0 <audio_output_client_notify>)
        at src/thread/pthread_cond_wait.c:5
    #5  0x080588ae in PosixCond::wait (mutex=..., 
        this=0x80e2fd8 <audio_output_client_notify+24>)
        at src/thread/PosixCond.hxx:74
    #6  notify::Wait (this=0x80e2fc0 <audio_output_client_notify>)
        at src/notify.cxx:28
    #7  0x0805744f in MultipleOutputs::WaitAll (this=0xadca0284)
        at src/output/MultipleOutputs.cxx:138
    #8  0x08057500 in MultipleOutputs::Cancel (this=0xadca0284)
        at src/output/MultipleOutputs.cxx:355
    #9  0x0805eee6 in Player::SeekDecoder (this=0xaccaeaec)
        at src/player/Thread.cxx:578
    #10 0x0805f1af in Player::ProcessCommand (this=0xaccaeaec)
        at src/player/Thread.cxx:704
    #11 0x0805f344 in Player::Run (this=0xaccaeaec) at src/player/Thread.cxx:964
    #12 0x0805f8ed in do_play (buffer=..., dc=..., pc=...)
        at src/player/Thread.cxx:1136
    #13 PlayerControl::RunThread (this=<optimized out>)
        at src/player/Thread.cxx:1160
    #14 0x080a81e8 in BoundMethod<void ()>::operator()() const (this=0xadca02c4)
        at ./src/util/BindMethod.hxx:77
    #15 Thread::Run (this=0xadca02c4) at src/thread/Thread.cxx:87
    #16 Thread::ThreadProc (ctx=0xadca02c4) at src/thread/Thread.cxx:112
    #17 0xaded209b in start (p=0xaccaed2c) at src/thread/pthread_create.c:145
    #18 0xaded0d45 in __clone () at src/thread/i386/clone.s:36
    #19 0xaccaed28 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    
    Thread 2 (LWP 2142):
    #0  0xade85ab9 in __kernel_vsyscall ()
    #1  0xadea2921 in __vsyscall () at src/internal/i386/syscall.s:19
    #2  0xadea2958 in __vsyscall6 () at src/internal/i386/syscall.s:55
    #3  0xadea4016 in __syscall6 (a6=8, a5=0, a4=-1, a3=16, a2=-1392509464, 
        a1=<optimized out>, n=319) at ./arch/i386/syscall_arch.h:51
    #4  epoll_pwait (fd=6, ev=0xacfffde8, cnt=16, to=-1, sigs=0x0)
        at src/linux/epoll.c:27
    #5  0xadea4058 in epoll_wait (fd=6, ev=0xacfffde8, cnt=16, to=-1)
        at src/linux/epoll.c:36
    #6  0x080a8067 in EPollFD::Wait (timeout=<optimized out>, maxevents=16, 
        events=0xacfffde8, this=0xacfffde4) at ./src/system/EPollFD.hxx:53
    #7  PollGroupEPoll::ReadEvents (timeout_ms=<optimized out>, result=..., 
        this=0xacfffde4) at src/event/PollGroupEPoll.hxx:67
    #8  EventLoop::Run (this=0xacfffd7c) at src/event/Loop.cxx:201
    #9  0x080a81e8 in BoundMethod<void ()>::operator()() const (this=0xacfffeb0)
        at ./src/util/BindMethod.hxx:77
    #10 Thread::Run (this=0xacfffeb0) at src/thread/Thread.cxx:87
    #11 Thread::ThreadProc (ctx=0xacfffeb0) at src/thread/Thread.cxx:112
    #12 0xaded209b in start (p=0xaccc4d2c) at src/thread/pthread_create.c:145
    #13 0xaded0d45 in __clone () at src/thread/i386/clone.s:36
    #14 0xaccc4d28 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    
    Thread 1 (LWP 2136):
    #0  __cp_end () at src/thread/i386/syscall_cp.s:31
    #1  0xaded16db in __syscall_cp_c (nr=240, u=-1077184296, v=128, w=2, x=0, y=0, 
        z=0) at src/thread/pthread_cancel.c:35
    #2  0xaded0af2 in __timedwait_cp (addr=0xbfcb78d8, val=2, clk=0, at=0x0, 
        priv=128) at src/thread/__timedwait.c:31
    #3  0xaded1ae9 in __pthread_cond_timedwait (c=0xadca031c, m=0xadca02d4, ts=0x0)
        at src/thread/pthread_cond_timedwait.c:105
    #4  0xaded1dc5 in pthread_cond_wait (c=0xadca031c, m=0xadca02d4)
        at src/thread/pthread_cond_wait.c:5
    #5  0x0805fa51 in PosixCond::wait (mutex=..., this=0xadca031c)
        at ./src/thread/PosixCond.hxx:74
    #6  PlayerControl::ClientWait (this=0xadca02a8) at src/player/Control.hxx:262
    #7  PlayerControl::WaitCommandLocked (this=0xadca02a8)
        at src/player/Control.hxx:310
    #8  PlayerControl::SynchronousCommand (this=0xadca02a8, 
        cmd=PlayerCommand::SEEK) at src/player/Control.hxx:325
    #9  0x0805fd80 in PlayerControl::SeekLocked (this=0xadca02a8, song=0x98cfe40, 
        t=...) at src/player/Control.cxx:232
    #10 0x0805fe90 in PlayerControl::Play (this=0xadca02a8, song=0x98cfe40)
        at src/player/Control.cxx:69
    #11 0x0806258a in playlist::PlayOrder (this=0xadca0248, pc=..., order=1245)
        at src/queue/Playlist.cxx:166
    #12 0x08062a4b in playlist::PlayPosition (this=<optimized out>, pc=..., 
        song=<optimized out>) at src/queue/PlaylistControl.cxx:105
    #13 0x08062ade in playlist::PlayId (this=0xadca0248, pc=..., 
        id=<optimized out>) at src/queue/PlaylistControl.cxx:120
    #14 0x080597e7 in Partition::PlayId (id=<optimized out>, this=<optimized out>)
        at ./src/Partition.hxx:141
    #15 handle_playid (client=..., args=..., r=...)
        at src/command/PlayerCommands.cxx:75
    #16 0x08058cc7 in command_process (client=..., num=0, line=0x98f99c8 "playid")
        at src/command/AllCommands.cxx:413
    #17 0x080754ca in client_process_line (client=..., line=0x98f99c8 "playid")
        at src/client/ClientProcess.cxx:125
    #18 0x0805bf33 in Client::OnSocketInput (this=0x98f99b0, data=0x98f99c8, 
        length=14) at src/client/ClientRead.cxx:47
    #19 0x080a6637 in BufferedSocket::ResumeInput (this=0x98f99b0)
        at src/event/BufferedSocket.cxx:77
    #20 0x080a675a in BufferedSocket::OnSocketReady (this=0x98f99b0, flags=1)
        at src/event/BufferedSocket.cxx:117
    #21 0x080a6380 in SocketMonitor::Dispatch (this=0x98f99b0, 
        flags=<optimized out>) at src/event/SocketMonitor.cxx:38
    #22 0x080a80e0 in EventLoop::Run (this=0xacfffc44) at src/event/Loop.cxx:218
    #23 0x080567ac in mpd_main_after_fork (config=...) at src/Main.cxx:599
    #24 mpd_main (argc=2, argv=0xbfcb7e14) at src/Main.cxx:489
    #25 0x08055863 in main (argc=2, argv=0xbfcb7e14) at src/Main.cxx:392
    
    txt file icon mpd_new.txt (12,622 bytes) 2017-02-15 20:57 +
  • gz file icon mpd.tar.gz (13,565 bytes) 2017-02-17 01:58
  • txt file icon fdinfo_7.txt (33 bytes) 2017-02-19 01:28 -
    pos:	0
    flags:	02004002
    mnt_id:	7
    
    txt file icon fdinfo_7.txt (33 bytes) 2017-02-19 01:28 +
  • txt file icon ls.txt (1,596 bytes) 2017-02-19 01:28 -
    total 0
    lr-x------    1 root     root            64 Feb 19 01:19 0 -> /dev/null
    l-wx------    1 root     root            64 Feb 19 01:19 1 -> /dev/null
    lrwx------    1 root     root            64 Feb 19 01:19 10 -> anon_inode:[signalfd]
    lrwx------    1 root     root            64 Feb 19 01:19 11 -> socket:[2878]
    lrwx------    1 root     root            64 Feb 19 01:19 12 -> socket:[3932]
    lrwx------    1 root     root            64 Feb 19 01:15 13 -> socket:[4114]
    lr-x------    1 root     root            64 Feb 19 01:19 14 -> /mnt/SYMPHONY/VIVALDI/Antonio_Vivaldi_-_La_Stravaganza_Rachel_Podger_SACD/CD2/2-12_Violin_Concerto_in_C_minor,_op._4_no._10__II._Adagio.wv
    lr-x------    1 root     root            64 Feb 19 01:15 15 -> /mnt/SYMPHONY/VIVALDI/Antonio_Vivaldi_-_La_Stravaganza_Rachel_Podger_SACD/CD2/2-12_Violin_Concerto_in_C_minor,_op._4_no._10__II._Adagio.wv
    lrwx------    1 root     root            64 Feb 19 01:19 17 -> /dev/snd/pcmC1D0p
    l-wx------    1 root     root            64 Feb 19 01:19 2 -> /dev/null
    lrwx------    1 root     root            64 Feb 19 01:19 3 -> anon_inode:[eventfd]
    lrwx------    1 root     root            64 Feb 19 01:19 4 -> anon_inode:[eventpoll]
    lrwx------    1 root     root            64 Feb 19 01:19 5 -> anon_inode:[eventfd]
    lrwx------    1 root     root            64 Feb 19 01:19 6 -> anon_inode:[eventpoll]
    lrwx------    1 root     root            64 Feb 19 01:19 7 -> socket:[2871]
    lrwx------    1 root     root            64 Feb 19 01:19 8 -> socket:[2872]
    lrwx------    1 root     root            64 Feb 19 01:19 9 -> /tmp/mpd.sticker.sql
    
    txt file icon ls.txt (1,596 bytes) 2017-02-19 01:28 +

-Relationships
+Relationships

-Notes

~0010323

cirrus (administrator)

Need a backtrace.

~0010324

cirrus (administrator)

And hey, I don't even know which version you're using. What are the "last commits"? Why don't you bisect the problem? And you did not even try to reproduce the problem ...

~0010325

prezi (reporter)

ok I will try. Making backtrace on embedded system is difficult. But I will try. Last commit = after 4a80e9cb2580a8be155a75117a6f52b8d267cdf6.

~0010328

prezi (reporter)

I'm out of ideas. When mpd is started
in rc.local it can be hanged.
But if it is started within shell as daemon or no,
it works well. I tried to debug mpd started in rc.local
as daemon but I failed. I'm not familiar with gbd. Any tips?

~0010329

prezi (reporter)

I managed to start gdb like this:

gdb -ex=r --args mpd --no-daemon

in screen session started in rc.local

mpd was functional till it hanged.

in gdb session I have this:
Reading symbols from mpd...done.
Starting program: /usr/bin/mpd --no-daemon
[New LWP 2139]
[New LWP 2140]
[New LWP 2141]
[New LWP 2142]
[New LWP 2186]


what now?
how to find what is going on?

~0010332

cirrus (administrator)

killall -TRAP mpd
thread apply all bt

~0010333

prezi (reporter)

Reading symbols from mpd...done.
Starting program: /usr/bin/mpd --no-daemon
[New LWP 2141]
[New LWP 2142]
[New LWP 2143]
[New LWP 2144]
[New LWP 2178]

Program received signal SIGTRAP, Trace/breakpoint trap.
0xad021925 in __clone () from /lib/ld-musl-i386.so.1
(gdb) bt
#0 0xad021925 in __clone () from /lib/ld-musl-i386.so.1
(gdb) thread apply all bt

Thread 6 (LWP 2178):
#0 0xabf1071a in ?? () from /usr/lib/libgomp.so.1
#1 0xabf10809 in ?? () from /usr/lib/libgomp.so.1
#2 0xabf10829 in ?? () from /usr/lib/libgomp.so.1
#3 0xabf0eb2c in ?? () from /usr/lib/libgomp.so.1
#4 0xad022bbc in ?? () from /lib/ld-musl-i386.so.1

Thread 5 (LWP 2144):
#0 0xad021925 in __clone () from /lib/ld-musl-i386.so.1

Thread 4 (LWP 2143):
#0 0xad021925 in __clone () from /lib/ld-musl-i386.so.1

Thread 3 (LWP 2142):
#0 0xad021925 in __clone () from /lib/ld-musl-i386.so.1

Thread 2 (LWP 2141):
#0 0xacfd6ab9 in __kernel_vsyscall ()
#1 0xacff3282 in ?? () from /lib/ld-musl-i386.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 1 (LWP 2135):
---Type <return> to continue, or q <return> to quit---
#0 0xad021925 in __clone () from /lib/ld-musl-i386.so.1

~0010334

prezi (reporter)

I recompiled libgomp with -g, the same musl libc.
I attach mpd.txt

~0010335

prezi (reporter)

this is 209 lines long so attachment is better.

~0010336

prezi (reporter)

in this case mpd stuck at dsd wavpack file but it happend as well before at mp3.

~0010343

cirrus (administrator)

47dffe66aa839c5de96cb1ba0f1341bf2df75bed

~0010352

prezi (reporter)

The problem is the same all the time. I've attached mpd_new.txt

~0010353

prezi (reporter)

btw, before last changes with mutex and so on mpd was rock solid stable.

~0010357

cirrus (administrator)

I fixed one deadlock bug, which was a possible cause for the symptoms you're seeing, but if that doesn't fix your problems, you have a different one. We need to dig deeper.

Please run that gdb session again, and additionally type the following commands:

"t 5"
"f 7" (should bring you into the AlsaOutput::Play stack frame)
"p *this"

Additionally, while gdb hangs, do "ls -l /proc/`pidof mpd`/fd", upload the full output, note all entries ending with "eventpoll". Should be at least two numbers. With these numbers, do:

 cat /proc/`pidof mpd`/fdinfo/6

(Replace the 6 with the number you noted earlier, once for each of the two numbers)

Paste that output as well. (You can do these things while MPD hangs or while gdb is attached.)

Another thing that could be useful: a strace. You uploaded one earlier, but only of the main thread ("strace" without "-f"). Try again, this time with "-f" to trace all threads. I want to know what the I/O thread is doing, and why it doesn't get woken up by the ALSA driver.

~0010359

prezi (reporter)

ok, I will do it tonight.

~0010361

prezi (reporter)

I've attached mpd.tar.gz

~0010363

cirrus (administrator)

Your strace shows only the situation when everything has already frozen. Please start the strace before you start playback, so I can see which file descriptors are being created and registered.

What is missing here is the output of the "ls -l ...".

The "f 7" should have been "f 6", my mistake. Do that again, please.

~0010374

prezi (reporter)

You will not believe me but if I do:
strace -f -p $PID 2> mpd_threads_strace.txt ($PID is pid of mpd)

mpd works great, but when strace is turn off, few fast changes of tracks and mpd is hanged.

I have uploaded ls.txt and fdinfo_7.txt

~0010376

cirrus (administrator)

In your "ls.txt", I see that eventpoll is fd 4 and 6 (6 is probably the interesting one). fdinfo of 7 is not interesting. The file descriptor numbers may be different each time you start MPD.

Oh, and strace affects the timings of the traced process, so some sorts of bugs, like race conditions / dead locks may not occur "magically". I hate when that happens.

What you can still try (do before starting playback):

 cat /proc/`pidof mpd`/task/*/stat|grep '(io)'

This shows the PID of the I/O thread in the first column, e.g.:

 29549 (io) S 1 29546 29546 0 -1 4210752 4 0 0 0 4 6447 0 0 20 0 5 0 87856252 961638400 11709 18446744073709551615 94337466830848 94337467885704 140737430453024 0 0 0 20483 4096 0 1 0 0 -1 0 0 0 0 0 0 94337467892064 94337467937504 94337494540288 140737430453948 140737430453997 140737430453997 140737430454236 0

Then do:

 strace -p 29549 -o /tmp/trace

(Insert your PID) and upload the trace file. By tracing only the I/O thread, this deadlock may or may not occur, we'll see.

~0010383

prezi (reporter)

To make my life easier I wrote this script:

#!/bin/sh

while true; do
        mpc -q next
    date
    usleep 500000
done

When there is no running strace, mpd will hang, it is just a matter of time.
But when strace is running and attached to io thread nothing like that happens.
+Notes

-Issue History
Date Modified Username Field Change
2017-02-11 00:48 prezi New Issue
2017-02-11 22:16 cirrus Note Added: 0010323
2017-02-11 22:17 cirrus Note Added: 0010324
2017-02-11 23:24 prezi Note Added: 0010325
2017-02-12 03:59 prezi Note Added: 0010328
2017-02-12 04:58 prezi File Added: debug.txt.xz
2017-02-12 04:58 prezi Note Added: 0010329
2017-02-12 13:09 cirrus Note Added: 0010332
2017-02-12 18:22 prezi Note Added: 0010333
2017-02-12 19:54 prezi File Added: mpd.txt
2017-02-12 19:54 prezi Note Added: 0010334
2017-02-12 19:57 prezi Note Added: 0010335
2017-02-12 20:00 prezi Note Added: 0010336
2017-02-15 11:26 cirrus Assigned To => cirrus
2017-02-15 11:26 cirrus Status new => resolved
2017-02-15 11:26 cirrus Resolution open => fixed
2017-02-15 11:26 cirrus Fixed in Version => git
2017-02-15 11:26 cirrus Note Added: 0010343
2017-02-15 20:56 prezi Status resolved => feedback
2017-02-15 20:56 prezi Resolution fixed => reopened
2017-02-15 20:56 prezi Note Added: 0010352
2017-02-15 20:57 prezi File Added: mpd_new.txt
2017-02-15 21:11 prezi Note Added: 0010353
2017-02-15 21:11 prezi Status feedback => assigned
2017-02-16 11:14 cirrus Note Added: 0010357
2017-02-16 15:29 prezi Note Added: 0010359
2017-02-17 01:58 prezi File Added: mpd.tar.gz
2017-02-17 01:59 prezi Note Added: 0010361
2017-02-17 13:17 cirrus Note Added: 0010363
2017-02-19 01:28 prezi File Added: fdinfo_7.txt
2017-02-19 01:28 prezi Note Added: 0010374
2017-02-19 01:28 prezi File Added: ls.txt
2017-02-19 13:55 cirrus Note Added: 0010376
2017-02-21 11:26 prezi Note Added: 0010383
+Issue History