Incident Report: 20191029

From URY Wiki
Jump to navigation Jump to search
Incident Report
Jukebox forgets how an audio happens. and suddenly remembers after scaring the Chief Engineer
Summary
Severity Moderate
Impact High (Approx 1hr of dead air)
Event Start 29/10/2019 11:02
Event End 29/10/2019 12:26
Recurrence Mitigation Make sure the dead air alarm actually alerts when dead air happens
Contacts
Recovery Leader Marks Polakovs (MP)
Other Attendees Morgan McKay(MM)


Summary

An (As of yet) not pinpointed issue caused Jukebox to fail to output to TX and Online for over an hour, despite the jukebox service still playing out music on Icecast and through the studio faders. Also the dead air alarm didnt tell anyone, the bastard.

Rough Sequence of Events

At around 11:02 Jukebox stops playing out audio to streaming and TX. Nobody notices as nobody listens to us, and the dead air detector sends no emails (Not that it could do much other than "We detected a silence, jukebox has been switched to jukebox!")

Having finished his morning lectures at around 12:00, MM enters the station and has a quick check of Jukebox via a desks AM feed. MM notices that no sound is coming out. Checking the feed from the AM2, Yamaha, and Icecast show the same. In a nervous panic MM alerts the committee, switching to red and playing out the Jukebox feed via the Pres Pc (Through Icecast, as Jukebox still was playing audio itself) at 12:11. At the time MM didnt know online was off as well as AM so ran into TX and stared at it. The transmitter was sitting there all happy and smug, no reflected power to speak of, just the ominous "Audio break" LED latched on. Having no idea what to check, MM comes back to the studio after a good 10 minute stare and contemplate to find that Jukebox is back on air playing as normal.

Turns out during this thoughtful TX stare someone came in and thought "Why the fuck is Red on thats not right!" and switched to Jukebox, which suddenly worked as normal. MM is very confused at this and declares the incident over at 12:26, unsure if the incident was over (But the dead air was gone and MM had shit to do so eh, good enough).

What Went Well

After the incident was declared, partial recovery only took five minutes and a complete recovery took 20.

What Did Not Go Well

The dead air was unnoticed for over an hour, due to a failure in the dead air alarm

How We Got Lucky

  • The Chief Engineer was in the station when he thought to check AM and noticed the dead air - had it been a presenter who may not have checked, the dead air may have been far longer
  • Jukebox/Liquidsoap/whatever broke unbroke itself

MP's Investigation

After running out of his seminar on East, and getting stopped dead in his tracks by First Bus, MP started pulling all the logs he could - namely the HQ audio logs and the Liquidsoap logs. From this he was able to establish the following timeline (all times GMT):

Timeline

Dead air begins: 11:02:30

MM reports dead air in Slack: 12:06

Dead air ends with MM's presPC bodge: 12:11:20

Jukebox back on air via selector: 12:26:12

Total dead air: 1:08:50

Significant realisations

  • Jukebox continued to tracklist even throughout the dead air
  • The selector logs showed nothing out of the ordinary - at 00:02:12 output was switched to Jukebox, where it stayed until 12:11:20 when MM switched to Red to end the dead air
  • The dead air was heard on both AM and online - it appears clearly in the HQ log
  • The dead air alarm... did not alarm about the dead air
  • When MM switched output to Red, it worked without any problems

Conclusions

The most likely culprit is Liquidsoap hitting one of its numerous bugs, getting stuck, and failing to output audio until the switch to Red unstuck'd it. The dead air alarm is part of sel.liq, so it not going off implies that the whole script broke, which would make sense considering Jukebox continued to tracklist (implying that it thought it was on air).

Other potential culprits are the Jack connection from Liquidsoap to the sound card, or the sound card itself, or TX itself, but all of these are unlikely:

  • Jack is relatively stable software
  • While Focusrite does not officially have Linux drivers, their cards are actually often more stable on Linux than on Windows
  • TX is hard to break, plus, the dead air was on both AM and online, which makes a physical signal path break unlikely

We cannot conclusively point the finger at liquidsoap, but it is more likely than not to be the culprit.

Further Work

  • Create a more reliable dead air detector
    • Done - MP created DEARIE ME (Disappointingly Empty Airwave Remediation and Incident Escalation Management Engine), a dead air alarm listening to the AM feed
  • Upgrade liquidsoap in the hopes of fixing bugs
    • Done as of 20191209 - whether this will actually fix anything or not is a different matter entirely