mikebrady / shairport-sync

AirPlay and AirPlay 2 audio player
Other
7.26k stars 574 forks source link

Crash #487

Closed immortalaxay closed 5 years ago

immortalaxay commented 7 years ago

Hey Mikey,

When I am airplaying from a mobile device and then if I airplay from another device, sometimes shairport-sync crashes. Below are its logs -

Case 1: New RTSP connection on port 5000 Play connection from user agent "AirPlay/280.32.2". Active-Remote string seen: "4178849268". DACP-ID string seen: "BD040CD7CA4031CD". Connection from IPv4: 10.13.33.101:49600 New RTSP connection on port 5000 RTSP shutdown requested. Closing down RTSP conversation thread... Shut down audio, control and timing threads Timing thread interrupted. terminating. Audio receiver -- Server RTP thread interrupted. terminating. rtp_timing_sender thread interrupted. terminating. Closed and terminated timer requester thread. Timing RTP thread terminated. Control RTP thread interrupted. terminating. timing thread joined audio thread joined control thread joined Player thread exit Try to get the player now Play connection from user agent "AirPlay/280.33". Active-Remote string seen: "1863649895". DACP-ID string seen: "549FF1332D9E480F". Connection from IPv4: 10.13.33.103:49457 FIXME: unhandled prediction type for compressed case: 9 RTSP shutdown requested. Closing down RTSP conversation thread... Shut down audio, control and timing threads Control RTP thread interrupted. terminating. Audio receiver -- Server RTP thread interrupted. terminating. Timing thread interrupted. terminating. rtp_timing_sender thread interrupted. terminating. Closed and terminated timer requester thread. Timing RTP thread terminated. timing thread joined audio thread joined control thread joined Player thread exit Error in `/usr/local/bin/shairport-sync': double free or corruption (!prev): 0x00007f5148003df0

Case2: Try to get the player now Play connection from user agent "AirPlay/280.32.2". Active-Remote string seen: "31971745". DACP-ID string seen: "B9FD7AC80263F612". Connection from IPv4: 10.13.33.101:49188 FIXME: unhandled prediction type on channel 1: 7 FIXME: unhandled prediction type on channel 2: 7 FIXME: unhandled prediction type for compressed case: 6 First packet is late! It should have played before now. Flushing 0.1 seconds First packet is late! It should have played before now. Flushing 0.1 seconds First packet is late! It should have played before now. Flushing 0.1 seconds New RTSP connection on port 5000 RTSP shutdown requested. Closing down RTSP conversation thread... Shut down audio, control and timing threads Control RTP thread interrupted. terminating. Audio receiver -- Server RTP thread interrupted. terminating. Timing thread interrupted. terminating. rtp_timing_sender thread interrupted. terminating. Closed and terminated timer requester thread. Timing RTP thread terminated. timing thread joined audio thread joined control thread joined Player thread exit Error in `/usr/local/bin/shairport-sync': double free or corruption (!prev): 0x00007fafc0001cf0

I am running shairport-sync by following command: shairport-sync -v -t 0 -a "Living Room"

mikebrady commented 7 years ago

Thanks, this is interesting. Can you cause it to happen reliably? Also, what version of Shairport Sync are you using, please?

mikebrady commented 7 years ago

What is the source of your audio, please? I see the ID "AirPlay/280.32.2". For the latest Mac OS X, it's "AirPlay/310.15".

immortalaxay commented 7 years ago

I am using Shairport Sync version 2.8.2-openssl-Avahi-ALSA-stdout-pipe-soxr-metadata. And iOS version 9.3 and 9.3.1. Recently I have added "-t 0" in argument. Is this issue related with -t 0.

mikebrady commented 7 years ago

Great thanks. I don't think it's related to the -t 0 setting. I'm just trying to get her information to try to replicate the problem...

mikebrady commented 7 years ago

Hi there. I've been cleaning up code that I suspect, but can't prove, is possibly causing problems. It's dow on the development branch. I'd be obliged if you tried it out, to see it it's any better.

immortalaxay commented 7 years ago

Hi, I will check this and update you ASAP.

immortalaxay commented 7 years ago

Hi, I got this problem again ...

2017-03-16:12:51:45 E: Try to get the player now 2017-03-16:12:51:45 E: Play connection from user agent "AirPlay/301.44.3". 2017-03-16:12:51:45 E: Active-Remote string seen: "731319066". 2017-03-16:12:51:45 E: DACP-ID string seen: "98D5DC26013C4592". 2017-03-16:12:51:45 E: Set up play connection from 10.13.33.109 to self at 10.13.33.163. 2017-03-16:12:51:45 E: Output frame bytes is 0. 2017-03-16:12:51:45 E: Output sample ratio is 1. 2017-03-16:12:51:45 E: Output bit depth is 16. 2017-03-16:12:51:45 E: Hammerton Decoder used on encrypted audio. 2017-03-16:12:51:45 E: FIXME: unhandled prediction type on channel 1: 7 2017-03-16:12:51:45 E: FIXME: unhandled prediction type on channel 2: 1 2017-03-16:12:51:45 E: FIXME: Not enough space if the output buffer for audio frame - E2. 2017-03-16:12:51:45 E: interval between successive rtptimes greater than allowed! 2017-03-16:12:51:45 E: Output sample ratio is 1 2017-03-16:12:51:46 E: Output sample ratio is 1 2017-03-16:12:52:44 E: found a non-running thread 2017-03-16:12:52:44 E: one thread joined... 2017-03-16:12:52:44 E: New RTSP connection from 10.13.33.106:49218 to self at 10.13.33.163:8901. 2017-03-16:12:52:45 E: RTSP shutdown requested. 2017-03-16:12:52:45 E: Closing down RTSP conversation thread... 2017-03-16:12:52:45 E: Shut down audio, control and timing threads 2017-03-16:12:52:45 E: Control RTP thread interrupted. terminating. 2017-03-16:12:52:45 E: Timing thread interrupted. terminating. 2017-03-16:12:52:45 E: rtp_timing_sender thread interrupted. terminating. 2017-03-16:12:52:45 E: Closed and terminated timer requester thread. 2017-03-16:12:52:45 E: Timing RTP thread terminated. 2017-03-16:12:52:45 E: timing thread joined 2017-03-16:12:52:45 E: Audio receiver -- Server RTP thread interrupted. terminating. 2017-03-16:12:52:45 E: audio thread joined 2017-03-16:12:52:45 E: control thread joined 2017-03-16:12:52:45 E: Error in `/usr/local/bin/shairport-sync': double free or corruption (!prev): 0x00007f0f64007610

mikebrady commented 7 years ago

Thanks. That's a bit disappointing. Meantime, I guess the best thing is to set allow_session_interruption to "no".

mikebrady commented 7 years ago

Hi again. Looking at the code, I see that there are still some coding practices that need to be cleaned up that might be causing problems. I'll come back here when they are fixed.

ghost commented 7 years ago
Mar 23 13:55:00 volumio shairport-sync[987]: *** Error in `/usr/local/bin/shairport-sync': double free or corruption (!prev): 0x722041c8 ***

Same issue here.

mikebrady commented 7 years ago

Thanks for the report. It's very frustrating that I can't reproduce the faults, so I've been trying to see what, in general, might be causing the issues. Some thread code was actually not thread-safe, and I've pushed out a number of development updates to try to address this in the last few days. I'd be grateful if you would try the latest.

ghost commented 7 years ago

Will do that.

nsotnikov commented 6 years ago

Up! Latest Volumio on RPi B+

Error in `/usr/local/bin/shairport-sync': free(): invalid pointer: 0x016b7210 ***

mikebrady commented 6 years ago

Thanks. Can you reproduce it easily? (Also, could you run $ shairport-sync -V (capital V) and let us see the response please?)

mikebrady commented 5 years ago

Pretty sure this has been addressed in more recent versions of Shairport Sync! Closing this inactive issue. Please open a new one if necessary.