«Роскосмос» уточнил причину крушения «Луны-25» — «команды с разными приоритетами оказались в одном массиве данных» Статьи редакции

Аппарат перестал выходить на связь через восемь дней после запуска во время выхода на предпосадочную орбиту Луны.

  • «Роскосмос» опубликовал заявление о причинах крушения российской станции «Луна-25».

Установлено, что наиболее вероятной причиной аварии стало нештатное функционирование бортового комплекса управления. Оно было связано с тем, что блок акселерометров в приборе БИУС-Л (блок измерения угловых скоростей) не включился из-за возможного попадания в один массив данных команд с различными приоритетами.

Роскосмос
  • Из-за этого в комплекс управления приходили «нулевые сигналы», что помешало «зафиксировать момент набора требуемой скорости» и вовремя выключить двигатели.
  • Россия запустила миссию к спутнику Земли 11 августа 2023 года — впервые с 1976-го. Космический аппарат «Луна-25» должен был отработать процесс мягкой посадки в околополярной области Луны и провести исследования лунного грунта на наличие льда.
  • Посадка была запланирована на 21 августа, но за два дня до этого связь с аппаратом пропала. Тогда гендиректор «Роскосмоса» назвал основной причиной крушения сбой при отключении двигателя.
«Луна-25», фото «Роскосмоса»
0
279 комментариев
Написать комментарий...
Zloy Marketolog
массив данных команд с различными приоритетами
приходили «нулевые сигналы»

То есть эти м**** в нацпроекте на миллиарды долларов тупо не провели для программного обеспечения Базовый(!) тест на ноль и конфликт приоритетов??? Это умеют делать даже самые примитивные программы для автоматического тестирования. Такие примитивные ошибки совершают ну максимум на первом курсе ВУЗа. Они кого туда набрали, выпускников Скиллбокса??

Ответить
Развернуть ветку
Евгений Трифонов

Не то что бы я был фанатом Роскосмоса, но возникает вопрос:

а когда ракета Ariane 5 при запуске в 1996-м разрушилась по причине «тупо скопипастили код от Ariane 4, в котором не обрабатывался правильно банальный integer overflow», это тоже были «выпускники скиллбокса»?

https://en.wikipedia.org/wiki/Ariane_flight_V88

Ответить
Развернуть ветку
Zloy Marketolog
это тоже были выпускники скиллбокса?

Это был 1996 год, а разрабатывали это лет за 5-15 ранее, когда не было ни образования, ни литературы, ни наработанного миллионами людей опыта, ни интернета погуглить, ни программ автотестов. В то время даже проблему 2000 не смогли предвидеть, че вы от них хотите. Это сейчас уже каждый школьник знает, а тогда нет...

Ответить
Развернуть ветку
varchar
когда не было ни образования, ни литературы, ни наработанного миллионами людей опыта, ни интернета погуглить, ни программ автотестов

Ни скилбокса

Ответить
Развернуть ветку
Забанен Обиженками

Ни экспертов по всем вопросам на vc.

Ответить
Развернуть ветку
Евгений Трифонов

Я согласен, что год тут имеет значение (поэтому в своём комменте его сразу честно и указал),

однако думаю, люди к тому моменту уже вполне понимали, что такое integer overflow и как он может приводить к проблемам,

а кроме того, за все прошедшие годы никак не изменился важный фактор:

людям ощутимо сложнее тестировать софт, когда его продакшн-среда это блин КОСМОС, поэтому нет полноценного тестового окружения

Ответить
Развернуть ветку
Продавец Шаурмы

Никакой разницы между космосом и например встраиваемыми устройствами. И те и те после ухода в продакшен сложно обновить, соотвественно надо протестировать edge кейсы по максимуму. Разница только в цене ошибки. И оные встраиваемые коммерческие устройства разрабатывают и тестируют инженеры с зп в 10+ раз выше, чем в Роскосмосе. Где риски при таком подходе выше? :)

Ариан по ссылке выше - тоже косяк тестирования. Consequently, the realignment function was not tested under simulated Ariane 5 flight conditions, and the design error was not discovered. Которое в 90х было еще достаточно зачаточным. Но сейчас на дворе 2023 уже

Ответить
Развернуть ветку
Евгений Трифонов
Никакой разницы между космосом и например встраиваемыми устройствами

Эмм. Если делается софт для встраиваемого устройства, то до ухода в продакшен этот софт можно установить хотя бы на прототип, потестировать в условиях, максимально приближенных к реальным, и понаходить баги таким образом.

Если делается софт для космоса, там «реальные условия» — это, например, невесомость.

Правда «никакой разницы»?

Ответить
Развернуть ветку
Zloy Marketolog

Невесомость и прочие космические особенности сейчас отлично симулируются программно. Это всё уже максимально тщательно изучено, не зря же космонавты на станции 40 лет уже торчат

Ответить
Развернуть ветку
Евгений Трифонов

При разработке мобильных приложений тоже можно «симулировать смартфон программно», но почему-то крупные компании для тестирования создают целые мобильные фермы настоящих девайсов

Ответить
Развернуть ветку
Zloy Marketolog
но почему-то компании заводят целые мобильные фермы настоящих девайсов

И все равно выпускают багованное говно)

Ответить
Развернуть ветку
Евгений Трифонов

Да, даже с фермами полностью оттестировать непросто

А вы ждёте, что у людей без них с первого раза получится

Ответить
Развернуть ветку
Жони Деп

Инженеры-конструкторы как-то же смогли сконструировать без отдела тестировщиков, почему программисты не могут?

Ответить
Развернуть ветку
Евгений Трифонов

По количеству неудачных запусков в мире несложно заметить, что у инженеров-конструкторов тоже не всё с первого раза получается.

Ответить
Развернуть ветку
Нет

Хорошо что оно оторвалось от земли.

Ответить
Развернуть ветку
Продавец Шаурмы

Фермы тут причем?

Ответить
Развернуть ветку
Продавец Шаурмы

Вы думаете БИУС этот существовал в единственном экземпляре, лол? Нет конечно, там тоже были тестовые образцы, на которых и гонялся софт (точнее должен был).

Ответить
Развернуть ветку
Евгений Трифонов

Кажется, вы не очень читаете то, на что отвечаете

Ещё раз: сложность вижу в воссоздании окружающих условий

На Земле можно сделать хоть сто марсоходов, но на Земле затруднительно сделать Марс (с его гравитацией, радиацией и всем остальным)

Тестировать марсоход без Марса — это как тестировать банкомат без денег

Ответить
Развернуть ветку
Продавец Шаурмы

Слух, если ничего не понимаешь в теме, может не надо лезть? При чем тут марсоход к системе, где на вход подается группа сигналов, и на выходе результат обработки? В статье явно же указано где косяк, и он никак не связан с внешней средой.

Ответить
Развернуть ветку
Евгений Трифонов

Потому что группа сигналов зависит в числе прочего от внешней среды

В Ariane 4 тоже на вход подавалась группа сигналов, и всё хорошо работало

А потом в Ariane 5 внезапно перестало, потому что сигналы изменились

Ответить
Развернуть ветку
Продавец Шаурмы

Правда никакой. Софту на невесомость и прочее пофигу, это проблемы железа. Как и встраиваемое устройство - софт получает сигналы на входной интерфейс/интерфейсы. И критичным для качества являются наборы тестовых данных, которые поставляются на входной контур.

Ответить
Развернуть ветку
Евгений Трифонов
критичным для качества являются наборы тестовых данных

А теперь давайте вместе подумаем

Представим, что два человека готовят наборы тестовых данных

Один: «ну я кароч прикинул, тестовые данные должны быть такими»

Второй: «ну я кароч прикинул, а потом ещё попробовал в реальной жизни и увидел, какие данные оказались там и чем они отличались от моих прикидок»

Вопрос: у кого тестирование получится качественнее?

Ответить
Развернуть ветку
Продавец Шаурмы

Зачем мне "думать", это часть моей работы. "Прикидывание" - это еще можно встретить в веб стартапе каком. В автомотиве, не говоря уже об аэроспейсе - никаких прикидок там нет, там используются данные с подобных запусков и моделируются всевозможные (и даже невозможные) сценарии отказов. На Западе. А вот что делает Роскосмос - тут боооольшой вопрос.

Ответить
Развернуть ветку
Евгений Трифонов
используются данные с подобных запусков

Вооот, вы пишете, что в первую очередь используются данные, полученные в реальных «боевых» условиях — ровно то, о чём я говорю.

Теперь следующий вопрос: сколько у России до «Луны-25» было «подобных запусков» с прилунением?

Ответить
Развернуть ветку
Denis Zotov
Софту на невесомость и прочее пофигу, это проблемы железа.

А есть еще проблемы промежуточных уровней, которые очень трудно протестировать. А что, если данные (те же самые, которые без проблем проходят синтетический тест), приходят с задержкой? А что, если сервис, обрабатывающий запрос, не отвечает? А если на обработку данных не остается времени, потому что в реальных условиях по каким-то причинам система тратит все время на обработку прерываний, не оставляя ресурсов на саму задачу? Да, все это тоже можно протестировать, но даже в крупных компаниях, для которых софт и его надежная работа - источник многомиллиардных доходов, регулярно случаются косяки, из-за которых сервисы падают. Так что я бы не судил о степени компетентности специалистов Роскосмоса (да и любых других) по газетным заголовкам.
Другое дело, что сложившаяся система, в которой нет места независимым и прозрачным расследованиям происшествий, не внушает доверия сама по себе.

Ответить
Развернуть ветку
Alexander
люди к тому моменту уже вполне понимали, что такое integer overflow и как он может приводить к проблемам

Вы так пишите, как будто это какие-то законы физики и люди их только изучали тогда. Да разработчики 70-80х программы до последнего бита оптимизировали и гораздо лучше нынешних понимали как это все работает до уровня железа.

Ответить
Развернуть ветку
Labeling

Ну вы сравнили 1996 год и 2023, индустрия разработки шагнула далеко вперёд по сравнению с тем временем. Вы бы ещё программные ошибки в ПО ракет 60-х годов вспомнили.

Ответить
Развернуть ветку
Black7
А вот у них!
Ответить
Развернуть ветку
Евгений Трифонов

Мой пойнт не в «а вот у них»

Мой пойнт в том, что из произошедшего может следовать не вывод «понабрали выпускников скиллбокса», а вывод «рокет саенс вещь сложная и там у любого возможны подобные ошибки»

Какой вывод из этих двух правильнее — не знаю, я не специалист в космонавтике, но подозреваю, что Злой Маркетолог тоже не специалист

Ответить
Развернуть ветку
Магомед Султанбегов

Да ошибки бывают у всех. Но ошибки ошибкам рознь. Вам же говорят что ошибка примитивна и недопустима для подобных организаций и проектов. А говорить что все ошибаются, или там не было возможности провести натурные испытания, что проект очень сложный это детские отмазки

Ответить
Развернуть ветку
Евгений Трифонов

Так та, которую я привожу, тоже примитивна (возраст отчасти её оправдывает, но только отчасти)

Ответить
Развернуть ветку
дед Мазай и санитары

А почему бы не сделать оба вывода? Тем более, что первый прямо следует из второго - рокет саенс вещь сложная, следовательно туда надо набирать высококвалифицированный и высокооплачиваемый персонал, а не блять выпускников скиллбокса за сцуко копейки.

Ответить
Развернуть ветку
Евгений Трифонов

Второй вывод состоит в том, что произошедшее ничего не говорит нам о квалификации персонала — возможно, это вполне квалифицированные люди, просто подобное и с ними случается.

Ответить
Развернуть ветку
дед Мазай и санитары

Второй вывод напрашивается сам собой, достаточно посмотреть на уровень зарплат технических специалистов в Роскосмосе - с одной стороны, и уровень компетенций руководства - с другой.

Ответить
Развернуть ветку
Kid Samort

загнивающий запад))

Ответить
Развернуть ветку
Evgeny

Им можно. Как и Маску, у которого через раз не крушение, а тестовый запуск)

Ответить
Развернуть ветку
Nick

Давай не пизди тут:
Rockets from the Falcon 9 family have been launched 267 times over 13 years, resulting in 265 full mission successes (99.3%)

Ответить
Развернуть ветку
Evgeny

Грамотный фильтр по статистическим данным - основа аргументации в бессмысленной дискуссии)
Подсказываю - уберите фильтр с Falcon 9 и получите другую картину.

Ответить
Развернуть ветку
Nick

Да, да, конечно. Были бы другие цифры - сразу бы привел. А так "А вот убери фильтр и сам все увидишь" это дешевая демагогия.

Ответить
Развернуть ветку
MrLoad

какую? можно статистику увидеть?

Ответить
Развернуть ветку
Никита Трифонов

"это тоже были «выпускники скиллбокса»?" - нет, это были основатели Скиллбокса.

Ответить
Развернуть ветку
276 комментариев
Раскрывать всегда