-
Notifications
You must be signed in to change notification settings - Fork 357
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mpd-git hangs up and becomes unresponsive #151
Comments
There's nothing "heavy" with such files - it's a piece of cake for contemporary CPUs, even for a Raspberry Pi. |
Ok, here it goes.
strace:
gdb: Both strace and gdb were started when mpd awol occurred (exactly when stress test script hanged and mpc got timeout). Strace was stopped by ^C and next gdb was started. |
Your gdb file is useless because there are no stack traces; probably because your MPD (and/or Musl) binary is stripped. It shows no information at all. |
gdb:
|
There is still no stack trace. |
Could you tell me what to do? btw, is it possible that "strace -tttfTp" interferes with work of mpd? if strace is started when mpd works fine, stress test does not hang out mpd. |
I have also gdbserver. |
Yes, strace can affect the timing, and probably your problem is some kind of race conditions where small timing differences can make a big difference for whether MPD deadlocks. |
but libc.so is unstripped now:
I have put unstripped version of libc.so to filesystem. I use buildroot and all binaries are stripped by default but in build directory there are unstripped files, too. |
So, libc.so in unstripped, mpd is unstripped and I have gdb. System is restarted, too. |
How did you compile Musl? With |
Ok, I will take me some time, but I will do my best. |
ok, and now? |
and now I compiled mpd-git with latest patches. |
Yay, these stack traces are good! Will check them out (probably not today). |
Works like a charm. Stress test goes just fine. Thanks a lot! |
There was ae3aeca
Maybe this is the same problem?
In playlist there are a lot of heavy files (eg. 192/24, dsd64 in wavpack) mixed with 44.1/16, meanwhile available output is 96/24.
Script with "sleep 0.3" randomly switches tracks with "play" protocol command, after 20 seconds mpd is stalled and permanently unresponsive. In normal usage it will hang up. The question is only "when". Using mpd involves changing tracks. Stress test makes this much sooner.
This is output of strace:
trace2.txt
The text was updated successfully, but these errors were encountered: