Чёрный экран в YouTube: описание проблемы и её решение

3,5k full reads
4k story viewsUnique page visitors
3,5k read the story to the endThat's 88% of the total page views
1 minute — average reading time

Вчера нам стали писать люди, которые столкнулись с проблемой воспроизведения видео в популярном сервисе YouTube. Вместо ролика все пострадавшие видели чёрный экран. Мы подняли команды разработки и тестирования по тревоге и приступили к расследованию. Как позднее выяснилось, проблема затронула не только Яндекс.Браузер, но и все остальные известные нам браузеры. Но только в русскоязычном интернете. В результате мы нашли источник проблемы и сегодня расскажем подробности.

Чёрный экран в YouTube: описание проблемы и её решение

Если вы используете YouTube, то знаете, что перед многими роликами показывается реклама различных товаров и услуг. В подобной рекламе используются адреса страниц рекламодателей. Обычно эти адреса никаких проблем не вызывают, но в этот раз сервис столкнулся с адресом в рекламе, который содержал знак процента ("/скидка_20%").

Знак % сам по себе не должен приводить к чёрному экрану. Проблема в том, что одна из внутренних функций сайта, которая используется для преобразования адресов, не справилась со спецсимволом и стала приводить к ошибке. В свою очередь это привело к тем симптомам, о которых все и писали.

Проблема затронула многих пользователей, поэтому мы не стали ждать исправления на стороне сервиса и начали готовить собственное резервное решение в Браузере. Оно было реализовано в виде специального дополнения, которое должно было автоматически установиться в Яндекс.Браузер и компенсировать ошибку сайта. К счастью, до экстренных мер не дошло, т.к. по нашим наблюдениям проблемная реклама уже исчезла с YouTube.

Будем надеяться, что в будущем подобное не повторится. Но если повторится, то у нас уже есть решение.