Closed joerg-krause closed 6 years ago
git bisect tells that the issue was introduced in commit 66e29394c16b148a1841ed08e2e240ab7a5951ce.
Thanks. Let me have a look.
Hi Jörg-Krause. Are you certain about which commit the issue was introduced? (Sorry to ask, and all that...)
Yes, I am certain. It has something to do with the response message created here: https://github.com/mikebrady/shairport-sync/commit/66e29394c16b148a1841ed08e2e240ab7a5951ce#diff-a6bfd8a1968c58b74be027f51f369b8eR648 and here: https://github.com/mikebrady/shairport-sync/commit/66e29394c16b148a1841ed08e2e240ab7a5951ce#diff-a6bfd8a1968c58b74be027f51f369b8eR656. If I revert the write() calls to the previous version it runs fine. Further investigation tomorrow.
Thanks -- I had kind of reached the same conclusion myself. Not sure why -- perhaps the Synology software expects the entire packet to be sent in one piece. I might push an update in the development
branch if I get the time.
So, I've modified that code to fill up the buffer in its entirety before outputting it, and pushed it out in the development
branch, just in case my idea is right. If you got an opportunity, would you be kind enough to try it please? It works just the same on my standard tests, but I don't have a Synology system, I'm afraid.
I can confirm that the development branch works :smile: Many thanks!
Great — it does seem to me as if it’s a workaround for a bug in the Synology software. But it’s good that it’s fixed. I’ll be putting out another RC early next week with this and another important fix in it.
Thanks! What is the other important fix?
If you have a look in #653, around here, it’s a bug that manifested itself under (I believe) poor networking conditions. Exactly how poor, I don’t yet know, but I was never able to cause the bug to be activated.
By the way, Jörg-Krause, thanks for your fantastic detective work — it made tracking down the likely cause very much simpler.
You're welcome!
Hi, while version 3.1.7 is running fine with my Synology NAS (Audio Station 6.4.1-3322) the latest 3.2RC10 and the development branch are not.
This is the log for 3.2RC10:
This is the log for version 3.1.7: