AzuraCast / AzuraRelay

A "relay in a box" containing a lightweight web application and Icecast servers that can connect to and relay an AzuraCast parent instance.
GNU Affero General Public License v3.0
37 stars 14 forks source link

Relay connection drops frequently after hours of flawless transmitting #57

Open NadjaNeville opened 1 year ago

NadjaNeville commented 1 year ago

I am kinda clueless on that, don't know how to access the relay's logs to see what the issue may be.

Behavior is, relay connects perfectly, sets up all stations, reports back as connected relay and transmits everything fine. After a while it starts dropping stations one by one until all are silent. Only "./docker.sh update" gets it back to work until described behavior starts all over again.

Parent is Rolling Release #[919e3aa] (2023-02-21 6:29) • Docker • PHP 8.2

NadjaNeville commented 1 year ago

Okay, in the state as it is now the software is unusable. I have clients jumping off because of the unreliable service after running AzuraCast for a while and being fine. I don't understand why a bug report isn't worth at least a reaction. So for my case, transmitting over relay, the software is unusable.

BusterNeece commented 1 year ago

@NadjaNeville Sorry it's not working out for you. We can't get to every issue reported, and we often tend to ignore issues these days that look like this (a vague "Things don't work" with no supporting logs), as we get a ton of them and they don't actually assist our software development process.

If you run something like docker-compose logs -f on the relay, and see something of interest in the response, we can work with that. Otherwise, unfortunately there is very little we can do. The issue may be an upstream one with Icecast, or it may be related to something else entirely.

NadjaNeville commented 1 year ago

Thank you for reacting! Actually the command to look at the live log gave me some insights. The only thing appearing and not looking like normal process is this:

azurarelay_relay | time="2023-03-20T23:00:30Z" level=info channel=stderr iteration=0 job.command="php /var/app/www/bin/console app:nowplaying" job.position=0 job.schedule="/15 " azurarelay_relay | time="2023-03-20T23:00:30Z" level=info msg="In CurlFactory.php line 210:" channel=stderr iteration=0 job.command="php /var/app/www/bin/console app:nowplaying" job.position=0 job.schedule="/15 " azurarelay_relay | time="2023-03-20T23:00:30Z" level=info msg=" " channel=stderr iteration=0 job.command="php /var/app/www/bin/console app:nowplaying" job.position=0 job.schedule="/15 " azurarelay_relay | time="2023-03-20T23:00:30Z" level=info msg=" cURL error 7: Failed to connect to localhost port 8150 after 0 ms: Connecti " channel=stderr iteration=0 job.command="php /var/app/www/bin/console app:nowplaying" job.position=0 job.schedule="/15 " azurarelay_relay | time="2023-03-20T23:00:30Z" level=info msg=" on refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for htt " channel=stderr iteration=0 job.command="php /var/app/www/bin/console app:nowplaying" job.position=0 job.schedule="/15 " azurarelay_relay | time="2023-03-20T23:00:30Z" level=info msg=" p://localhost:8150/status-json.xsl " channel=stderr iteration=0 job.command="php /var/app/www/bin/console app:nowplaying" job.position=0 job.schedule="/15 " azurarelay_relay | time="2023-03-20T23:00:30Z" level=info msg=" " channel=stderr iteration=0 job.command="php /var/app/www/bin/console app:nowplaying" job.position=0 job.schedule="/15 " azurarelay_relay | time="2023-03-20T23:00:30Z" level=info channel=stderr iteration=0 job.command="php /var/app/www/bin/console app:nowplaying" job.position=0 job.schedule="/15 " azurarelay_relay | time="2023-03-20T23:00:30Z" level=info msg="app:nowplaying" channel=stderr iteration=0 job.command="php /var/app/www/bin/console app:nowplaying" job.position=0 job.schedule="/15 " azurarelay_relay | time="2023-03-20T23:00:30Z" level=info channel=stderr iteration=0 job.command="php /var/app/www/bin/console app:nowplaying" job.position=0 job.schedule="/15 " azurarelay_relay | time="2023-03-20T23:00:30Z" level=error msg="error running command: exit status 1" iteration=0 job.command="php /var/app/www/bin/console app:nowplaying" job.position=0 job.schedule="/15 *"

After this, relay stops

azurarelay_relay | 2023-03-20 23:00:31,009 INFO stopped: station_17_relay (exit status 0) azurarelay_relay | 2023-03-20 23:00:32,005 INFO stopped: station_16_relay (exit status 0) azurarelay_relay | 2023-03-20 23:00:32,974 INFO stopped: station_15_relay (exit status 0) azurarelay_relay | 2023-03-20 23:00:33,974 INFO stopped: station_14_relay (exit status 0) azurarelay_relay | 2023-03-20 23:00:33,974 INFO waiting for cron, nginx, station_1_relay, station_10_relay, station_11_relay, station_12_relay, station_13_relay to die azurarelay_relay | 2023-03-20 23:00:33,981 INFO stopped: station_13_relay (exit status 0) azurarelay_relay | 2023-03-20 23:00:34,969 INFO stopped: station_12_relay (exit status 0) azurarelay_relay | 2023-03-20 23:00:35,969 INFO stopped: station_11_relay (exit status 0) azurarelay_relay | 2023-03-20 23:00:36,969 INFO stopped: station_10_relay (exit status 0) azurarelay_relay | 2023-03-20 23:00:37,960 INFO stopped: station_1_relay (exit status 0) azurarelay_relay | 2023-03-20 23:00:37,960 INFO waiting for cron, nginx to die azurarelay_relay | 2023-03-20 23:00:37,999 INFO stopped: nginx (exit status 0) azurarelay_relay | time="2023-03-20T23:00:37Z" level=info msg="received terminated, shutting down" azurarelay_relay | time="2023-03-20T23:00:37Z" level=info msg="waiting for jobs to finish" azurarelay_relay | time="2023-03-20T23:00:37Z" level=info msg=exiting

and restarts

NadjaNeville commented 1 year ago

Okay, another new line appeared too indicating the station is being dropped, at some point when a station runs idle without listeners, this line appears:

azurarelay_relay | time="2023-03-21T04:02:15Z" level=info msg="[2023-03-21T04:02:15.536389+00:00] AzuraRelay.ERROR: Response does not contain a \"source\" listing; the stream may be hidden or misspelled. {\"response\":\"{\\"icestats\\":{\\"admin\\":\\"icemaster@localhost\\",\\"banned_IPs\\":0,\\"build\\":20221018222911,\\"host\\":\\"sl-radio.ovh\\",\\"location\\":\\"AzuraCast\\",\\"outgoing_kbitrate\\":0,\\"server_id\\":\\"Icecast 2.4.0-kh15-ac1\\",\\"server_start\\":\\"21/Mar/2023:01:00:32 +0000\\",\\"stream_kbytes_read\\":112983,\\"stream_kbytes_sent\\":0}}\"} []" channel=stderr iteration=726 job.command="php /var/app/www/bin/console app:nowplaying" job.position=0 job.schedule="/15 *"