Skip to content
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

shairport-sync-docker development crashes when accessed from macbook pro #24

Open
marioscube opened this issue Jan 6, 2025 · 12 comments

Comments

@marioscube
Copy link

marioscube commented Jan 6, 2025

shairport-sync-docker development crashes when accessed from macbook pro.

shairport-sync-docker development also crashes when directly accessed from iPhone

however it works when accessed from iPhone and or iPad with Owntone on debian 11/12.

Should I use shairport-sync-docker classic?

@mikebrady
Copy link
Owner

Thanks for the report, but it's working okay here, receiving audio from an iPhone, an iPad and an Intel iMac (directly from the Music app and as the System Output).

The Docker image is being hosted on a Raspberry Pi 5 running Raspberry Pi OS.

@mikebrady
Copy link
Owner

BTW, the Docker image I'm referring to is the one on the Docker Hub -- I guess that's what you are using?

@marioscube
Copy link
Author

marioscube commented Jan 6, 2025

docker run -d
--name=shairport-sync
--net host
--device /dev/snd
mikebrady/shairport-sync:development
-a Shairport -- -d hw:0 -c PCM

sometimes it works. Usually not.

I have to restart shairport-sync with docker start.

Hosted on:
Intel Q1900 board
Debian 12

Sound device:
Harman Kardon original Soundsticks USB

However it all works with owntone.

I will try later with classic as this seemed to work on another PC with Debian 12.

@mikebrady
Copy link
Owner

Hmm, I’m afraid I don’t have a line on this just now. Any more information would be very welcome.

@marioscube
Copy link
Author

marioscube commented Jan 6, 2025

Docker logs Shairport-sync (relevant part)

Starting shairport-sync
Segmentation fault (core dumped)
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service syslogd: stopping
s6-rc: info: service 04-nqptp: stopping
s6-rc: info: service 03-avahi: stopping
s6-rc: info: service 04-nqptp successfully stopped
s6-rc: info: service syslogd successfully stopped
s6-rc: info: service syslogd-log: stopping
s6-rc: info: service syslogd-log successfully stopped
s6-rc: info: service syslogd-prepare: stopping
s6-rc: info: service s6rc-fdholder: stopping
Got SIGTERM, quitting.
s6-rc: info: service syslogd-prepare successfully stopped
s6-rc: info: service s6rc-fdholder successfully stopped

this happens when I try to connect to shairport-sync

docker related/hardware related?
Software incompatibilities?

@marioscube
Copy link
Author

marioscube commented Jan 6, 2025

New issue:

docker run -d --name=shairport-sync-classic --net host --device /dev/snd mikebrady/shairport-sync:latest-classic -a Shairport-classic -- -d hw:0 -c PCM
Unable to find image 'mikebrady/shairport-sync:latest-classic' locally
docker: Error response from daemon: manifest for mikebrady/shairport-sync:latest-classic not found: manifest unknown: manifest unknown.

This works:
docker run -d --name=shairport-sync-classic --net host --device /dev/snd mikebrady/shairport-sync:classic -a Shairport-classic -- -d hw:0 -c PCM

Documentation on this github needs some updating ;-)

@marioscube
Copy link
Author

This classic version does NOT crash. (airplay 1)

The other versions (need to test more) all crash when music/sound is streamed (actually there is no connection) from macOS, iOS and iPadOS.
Airplay 2 crashes shairport-sync (need to test more because on another PC there was no crash).

So
docker run -d --name=shairport-sync-classic --net host --device /dev/snd mikebrady/shairport-sync:classic -a Shairport-classic -- -d hw:0 -c PCM
works.

@mikebrady
Copy link
Owner

mikebrady commented Jan 6, 2025

New issue:

docker run -d --name=shairport-sync-classic --net host --device /dev/snd mikebrady/shairport-sync:latest-classic -a Shairport-classic -- -d hw:0 -c PCM Unable to find image 'mikebrady/shairport-sync:latest-classic' locally docker: Error response from daemon: manifest for mikebrady/shairport-sync:latest-classic not found: manifest unknown: manifest unknown.

This works: docker run -d --name=shairport-sync-classic --net host --device /dev/snd mikebrady/shairport-sync:classic -a Shairport-classic -- -d hw:0 -c PCM

Documentation on this github needs some updating ;-)

Thanks. If you take a look at the Docker Hub repository, you'll see documentation and a list of tags -- there is no 'latest-classic' tag. (In fact, this repository is obsolete; it will be removed, but not before we get this issue sorted 😊.)

To see why the app is crashing, if you run the image from the command line in an interactive style (see the Advanced Usage section) with one level of debug logging (add -v to the arguments), you will hopefully get some helpful information before the app crashes.

@marioscube
Copy link
Author

marioscube commented Jan 7, 2025

Even with -vv the only relevant info I see is:

**Segmentation fault (core dumped)**
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service syslogd: stopping
s6-rc: info: service 04-nqptp: stopping
s6-rc: info: service 03-avahi: stopping
s6-rc: info: service syslogd successfully stopped
s6-rc: info: service syslogd-log: stopping
s6-rc: info: service 04-nqptp successfully stopped
s6-rc: info: service syslogd-log successfully stopped
s6-rc: info: service syslogd-prepare: stopping
s6-rc: info: service s6rc-fdholder: stopping
s6-rc: info: service syslogd-prepare successfully stopped
s6-rc: info: service s6rc-fdholder successfully stopped
Got SIGTERM, quitting.

OwnTone works, because it connects to Shairport Sync as AirPlay 1 not 2.
The Mac connects as AirPlay 2 and then Shairport Sync crashes.

I still have to check if this only happens on this server (with intel atom processor) or also on another PC (Old intel Pentium G2120).

Tested:
...... and there is no crash.......

OK. It is probably a Docker configuration software/hardware problem/conflict that is unique to my setup.
Well if I can use/test (speakers are old and do crack a bit to much for pleasant listening, but I do not want to buy a HomePod just now) this with Classic I'm happy. Let us consider this problem solved. :)

Thank you for shairport-sync! 👍

@mikebrady
Copy link
Owner

Thanks for the update. I'm really at a loss to understand what's happening here.

@mikebrady
Copy link
Owner

This repository will be deleted soon -- please don't be too surprised if this record all disappears.

@marioscube
Copy link
Author

Thanks for the update. I'm really at a loss to understand what's happening here.

You are not the only one.

MIght be:

  • IPv6 added to this docker (but not to the other one)
  • other docker containers running
  • CPU misses timings? (old Atom Q1900)
  • avahi-daemon issues (owntone stops to respond sometimes. systemctl stop/start avahi-daemon and docker stop/start owntone and docker stop/start shairport-sync fixes this.

However I'm sure it has worked in a not to distant past, maybe only after a fresh restart/reboot?

Never mind. Classic works!

I will continue (if needed) in the main shairport-sync repository. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants