output.pipe shuts Liquidsoap down if the device runs out of free space #4432
Replies: 2 comments
-
Thanks for the report. I believe that the underlying issue is that at the moment the whole process will shut down if you have an exception in a thread. In general we want to aim toward making the stream run as much as possible. However, I am not sure how to handle and properly surface errors thrown in asynchronous tasks. If we start just logging them, the use might also miss very important things that they need to act upon. I'm leaving this open to this about it. |
Beta Was this translation helpful? Give feedback.
-
I'm gonna move this to a discussion. Re-reading it, I'm not sure what exactly we could do. A full storage is a major application error, I believe most application would shutdown under these circumstances for a multitude of reasons like not being able to write a log, etc. |
Beta Was this translation helpful? Give feedback.
-
Description
Liquidsoap restarts itself (or shuts down and is restarted by systemd) when output.pipe runs out of storage. First I thought the issue wasn't because of no available space on the storage media, because the archive disk still had good headroom. After thorough investigation, I see that the archive cleaner hasn't ran as it's supposed to (this is on me 😁, it should've been a recurrent run). Now it seems that it has ran the archive cleaning function first when the script's initialized and a second time an hour after the start:
I'm thinking I might move the archive cleaner outside of Liquidsoap because it really serves no purpose running inside Liquidsoap.
Still, the issue persists: if the storage's full, Liquidsoap stops.
Steps to reproduce
Expected behavior
It shouldn't stop the service. I think the best end result would just be either outputting the output.pipe to output.dummy if storage is full or something like that.
Log extracts
The script wasn't in a debugging phase, so I didn't have the log level at 4. This is what I've got:
LIQ log:
journalctl:
Script extracts
No response
Liquidsoap version
Liquidsoap build config
Installation method
From OPAM
Additional Info
No response
Beta Was this translation helpful? Give feedback.
All reactions