2017-03-28 06:23 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0004664MPDwin32public2017-03-06 23:43
Reporterg3ntoo 
Assigned Todenis 
PrioritynormalSeveritycrashReproducibilityalways
StatusassignedResolutionopen 
PlatformWindows 10OSOS Version
Product Version 
Target VersionFixed in Version 
Summary0004664: Windows mpd binary crashes on client connect
DescriptionC:\Users\Windows\Desktop\mpd>gdb --args mpd --stdout --no-daemon --verbose mpd.conf
GNU gdb (GDB) 7.1.90.20100730-cvs
Copyright (C) 2010 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-w64-mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from C:\Users\Windows\Desktop\mpd/mpd.exe...(no debugging symbols found)...done.
(gdb) run
Starting program: C:\Users\Windows\Desktop\mpd/mpd.exe --stdout --no-daemon --verbose mpd.conf
[New Thread 1892.0x1418]
[New Thread 1892.0x149c]
[New Thread 1892.0x176c]
[New Thread 1892.0x1604]
warning: Invalid parameter passed to C runtime function.

config_file: loading file mpd.conf
vorbis: Xiph.Org libVorbis 1.3.5
opus: libopus 1.1.4
simple_db: reading DB
output: No 'AudioOutput' defined in config file
output: Attempt to detect audio output device
output: Attempting to detect a winmm audio device
output: Successfully detected a winmm audio device
curl: version 7.52.1
exception: Input plugin 'ffmpeg' is unavailable: No protocol
[New Thread 1892.0x3d0]
[New Thread 1892.0xdc]
[New Thread 1892.0x1298]
client: [0] opened from 192.168.1.196:46822
client: [0] process command list
client: process command "status"
warning: Critical error detected c0000374


Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ff939b88243 in ?? ()
(gdb) bt
#0 0x00007ff939b88243 in ?? ()
#1 0x0000000000000000 in ?? ()
(gdb)

Steps To ReproduceRun mpd
Connect to it
Additional Information    output of mpd --version
C:\Users\Windows\Desktop\mpd>mpd --version
Music Player Daemon 0.20.5 (v0.20.4-24-gf95bc85f91-dirty)

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

Storage plugins:
 local

Decoders plugins:
 [vorbis] ogg oga
 [oggflac] ogg oga
 [flac] flac
 [opus] opus ogg oga
 [dsdiff] dff
 [dsf] dsf
 [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:


Tag plugins:


Output plugins:
 null httpd recorder winmm

Encoder plugins:
 null vorbis opus wave flac

Input plugins:
 file curl ffmpeg

Playlist plugins:
 extm3u m3u pls flac cue embcue

Protocols:
 http:// https:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps://

Other features:
 tcp


    your configuration file (mpd.conf)
music_directory "C:\\Users\\Windows\\Desktop\\mpd\\music"
log_file "C:\\Users\\Windows\\Desktop\\mpd\\log.txt"
db_file "C:\\Users\\Windows\\Desktop\\mpd\\database"


    relevant portions of the log file (--verbose)
https://i.imgur.com/QPg0QNR.png
Mar 06 02:45 : client: [0] opened from 192.168.1.196:58010
Mar 06 02:45 : client: [0] process command list
Mar 06 02:45 : client: process command "status"

    be clear about what you expect MPD to do, and what is actually happening
it crashes as soon as a client connects to it

TagsNo tags attached.
Attached Files
  • txt file icon 20170317-crash-info.txt (5,404 bytes) 2017-03-06 23:43 -
    $ gdb --args bin/mpd1.exe mpd.conf.d/mpd.local.conf --stdout --no-daemon --verbose
    GNU gdb (GDB) 7.9.1
    Copyright (C) 2015 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-w64-mingw32".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://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 bin/mpd1.exe...done.
    (gdb) run
    Starting program: D:\Portable_Soft\mpd\bin\mpd1.exe mpd.conf.d/mpd.local.conf --stdout --no-daemon --verbose
    [New Thread 16380.0x1304]
    warning: FTH: (16380): *** Fault tolerant heap shim applied to current process. This is usually due to previous crashes. ***
    
    [New Thread 16380.0x23b8]
    [New Thread 16380.0x450c]
    [New Thread 16380.0x3078]
    warning: Invalid parameter passed to C runtime function.
    
    config_file: loading file mpd.conf.d/mpd.local.conf
    vorbis: Xiph.Org libVorbis 1.3.5
    opus: libopus 1.1.4
    simple_db: reading DB
    curl: version 7.52.1
    exception: Input plugin 'ffmpeg' is unavailable: No protocol
    [New Thread 16380.0x5c60]
    [New Thread 16380.0x3144]
    sta[New Thread 16380.0x6d0]
    te_file: Loading state file D:/Portable_Soft/mpd/log/mpd.local.state
    exception: Failed to open D:/Portable_Soft/mpd/log/mpd.local.state: Не удается найти указанный файл.
    : No such file or directory
    client: [0] opened from 127.0.0.1:52550
    client: [1] opened from 127.0.0.1:52552
    client: [1] process command "channels"
    client: [1] command returned 0
    client: [1] process command "idle"
    client: [1] command returned 1
    client: [0] process command "status"
    warning: Critical error detected c0000374
    
    
    Program received signal SIGTRAP, Trace/breakpoint trap.
    0x00007fffe3208243 in ntdll!RtlpNtMakeTemporaryKey () from C:\WINDOWS\SYSTEM32\ntdll.dll
    
    (gdb) bt
    #0  0x00007fffe3208243 in ntdll!RtlpNtMakeTemporaryKey () from C:\WINDOWS\SYSTEM32\ntdll.dll
    #1  0x00007fffe3208bda in ntdll!RtlpNtMakeTemporaryKey () from C:\WINDOWS\SYSTEM32\ntdll.dll
    #2  0x00007fffe31b5b9a in ntdll!RtlRaiseStatus () from C:\WINDOWS\SYSTEM32\ntdll.dll
    #3  0x00007fffe314c895 in ntdll!RtlFreeHeap () from C:\WINDOWS\SYSTEM32\ntdll.dll
    #4  0x00007fffabc97583 in NotifyShims () from C:\WINDOWS\AppPatch\AppPatch64\AcLayers.dll
    #5  0x00007fffe0f59dac in msvcrt!free () from C:\WINDOWS\System32\msvcrt.dll
    #6  0x0000000000a96c10 in ~AllocatedString (this=0x6eaf7b0, __in_chrg=<optimized out>)
        at /home/max/git/stable-mpd/src/util/AllocatedString.hxx:68
    #7  Response::FormatV (this=this@entry=0x6eaf970,
        fmt=fmt@entry=0xbafae0 "volume: %i\nrepeat: %i\nrandom: %i\nsingle: %i\nconsume: %i\nplaylist: %li\nplaylistlength: %i\nmixrampdb: %f\nstate: %s\n", args=args@entry=0x6eaf820 "яяяя")
        at /home/max/git/stable-mpd/src/client/Response.cxx:41
    #8  0x0000000000a96bcd in Response::Format (this=this@entry=0x6eaf970,
        fmt=fmt@entry=0xbafae0 "volume: %i\nrepeat: %i\nrandom: %i\nsingle: %i\nconsume: %i\nplaylist: %li\nplaylistlength: %i\nmixrampdb: %f\nstate: %s\n") at /home/max/git/stable-mpd/src/client/Response.cxx:49
    #9  0x0000000000a4d385 in handle_status (client=..., args=..., r=...)
        at /home/max/git/stable-mpd/src/command/PlayerCommands.cxx:143
    #10 0x0000000000a51804 in command_process (client=..., num=num@entry=0, line=line@entry=0x930b060 "status")
        at /home/max/git/stable-mpd/src/command/AllCommands.cxx:412
    #11 0x0000000000a5ad1b in client_process_line (client=..., line=<optimized out>, line@entry=0x930b060 "status")
        at /home/max/git/stable-mpd/src/client/ClientProcess.cxx:125
    #12 0x0000000000a9462e in Client::OnSocketInput (this=0x930b030, data=0x930b060, length=<optimized out>)
        at /home/max/git/stable-mpd/src/client/ClientRead.cxx:47
    #13 0x0000000000a838f9 in BufferedSocket::ResumeInput (this=this@entry=0x930b030)
        at /home/max/git/stable-mpd/src/event/BufferedSocket.cxx:77
    #14 0x0000000000a83b01 in BufferedSocket::OnSocketReady (this=0x930b030, flags=<optimized out>)
        at /home/max/git/stable-mpd/src/event/BufferedSocket.cxx:117
    #15 0x0000000000a819b8 in SocketMonitor::Dispatch (this=0x930b030, flags=<optimized out>)
        at /home/max/git/stable-mpd/src/event/SocketMonitor.cxx:38
    #16 0x0000000000a9a3e0 in EventLoop::Run (this=0x6fc4fd8) at /home/max/git/stable-mpd/src/event/Loop.cxx:214
    #17 0x0000000000a64547 in mpd_main_after_fork (config=...) at /home/max/git/stable-mpd/src/Main.cxx:600
    #18 mpd_main (argc=<optimized out>, argv=<optimized out>) at /home/max/git/stable-mpd/src/Main.cxx:490
    #19 0x0000000000a49b78 in win32_main (argc=<optimized out>, argv=<optimized out>)
        at /home/max/git/stable-mpd/src/win32/Win32Main.cxx:138
    #20 0x0000000000b22ae0 in main (argc=<optimized out>, argv=<optimized out>)
        at /home/max/git/stable-mpd/src/Main.cxx:391
    #21 0x00000000004013f8 in __tmainCRTStartup () at ./mingw-w64-crt/crt/crtexe.c:334
    #22 0x000000000040151b in mainCRTStartup () at ./mingw-w64-crt/crt/crtexe.c:212
    txt file icon 20170317-crash-info.txt (5,404 bytes) 2017-03-06 23:43 +

-Relationships
+Relationships

-Notes

~0010410

g3ntoo (reporter)

I forgot to run it with the debug exe. I got and re-ran it. This is the correct gdb details:

C:\Users\Windows\Desktop\mpd>gdb --args mpd --stdout --no-daemon --verbose mpd.conf
GNU gdb (GDB) 7.1.90.20100730-cvs
Copyright (C) 2010 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-w64-mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from C:\Users\Windows\Desktop\mpd/mpd.exe...done.
(gdb) run
Starting program: C:\Users\Windows\Desktop\mpd/mpd.exe --stdout --no-daemon --verbose mpd.conf
[New Thread 1144.0x148]
[New Thread 1144.0xba0]
[New Thread 1144.0x12ec]
[New Thread 1144.0x4b4]
warning: Invalid parameter passed to C runtime function.

config_file: loading file mpd.conf
vorbis: Xiph.Org libVorbis 1.3.5
opus: libopus 1.1.4
simple_db: reading DB
output: No 'AudioOutput' defined in config file
output: Attempt to detect audio output device
output: Attempting to detect a winmm audio device
output: Successfully detected a winmm audio device
curl: version 7.52.1
exception: Input plugin 'ffmpeg' is unavailable: No protocol
[New Thread 1144.0x1104]
[New Thread 1144.0xdcc]
[New Thread 1144.0x1194]
client: [0] opened from 192.168.1.196:52002
client: [0] process command list
client: process command "status"
warning: Critical error detected c0000374


Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ff939b88243 in ?? ()
(gdb) bt
#0 0x00007ff939b88243 in ?? ()
#1 0x0000000000000000 in ?? ()
(gdb)

~0010411

g3ntoo (reporter)

I right clicked mpd.exe and clicked "Unblock". It works now

~0010412

g3ntoo (reporter)

Disregard above note. Running the exe in compatibility mode for Windows Vista is actually what made it work.

~0010413

g3ntoo (reporter)

Running in compatibility mode for Windows 8 or anything else works. Windows 10 only issue.

~0010415

Wilk (reporter)

Hello

I have the same issue with running mpd on Windows 10 x64. There is a bit more detailed backtrace in attachment (gdb traced debug version of mpd). I submit that unblocking mpd and running it in compatibility mode at least for Windows 8 works. The only new information is that I hat to set compatibility mode not only for my account, but for everyone in order to make mpd work. Setting only personal compatibility mode did not solve the problem.
+Notes

-Issue History
Date Modified Username Field Change
2017-03-06 09:04 g3ntoo New Issue
2017-03-06 09:04 g3ntoo Status new => assigned
2017-03-06 09:04 g3ntoo Assigned To => denis
2017-03-06 09:15 g3ntoo Note Added: 0010410
2017-03-06 09:30 g3ntoo Note Added: 0010411
2017-03-06 09:36 g3ntoo Note Added: 0010412
2017-03-06 09:37 g3ntoo Note Added: 0010413
2017-03-06 23:43 Wilk File Added: 20170317-crash-info.txt
2017-03-06 23:43 Wilk Note Added: 0010415
+Issue History