Арсений запнулся, поглядев на отсутствующие выражения лиц коллег.
– Так. Я что, единственный здесь читал материалы по Титану? Они все есть в документации.
– Ну, я как-то вечно на потом оставлял эти подробности, и так и не дошли руки, – признался Андрей. – Моей работы это совсем не касается.
– Расскажи вкратце, – предложил Сергей.
– Эм-м… Титан, как известно, периодически то нагревается, то остывает. Не быстро, в течение миллионов лет. Сейчас Титан слишком тёплый для существования на его поверхности жидкого азота, но так было не всегда. Во время эпохи похолодания азот доминировал в атмосфере вместо метана, выпадал осадками, собирался в лужи и подповерхностные резервуары. После потепления жидкий азот превращался в газ, и если превращался быстро, то происходили взрывы. Если жидкий азот оказывался в какой-то подземной полости, отрезанный от внешней среды, то он мог сохраняться в течение долгого срока. А потом, когда прогревался, взрывообразно испарялся. Так образовались озера с их характерной формой побережий. Я предполагаю, под дном моря сохранился такой резервуар. И либо просто его время пришло, тем более сейчас в северном полушарии Титана как раз теплеет, либо драга своей работой как-то повлияла на него, вызвав выброс.
– Это бы объяснило прыжок драги. Она оказалась на верхушке взрыва или рядом с ним, волной её подняло ввысь.
– Да. Но это ещё не все. Что происходит после взрыва? Если со дна поднялся огромный пузырь газа, то при заполнении этого объёма обратно жидким метаном могла образоваться воронка, в которую рухнула драга.
– Не понял мысли.
– Драга оказалась ниже уровня моря, – пояснил Арсений. – Что будет, если навигатор получит отрицательное число в координатах?
Андрей изменился в лице и запустил симуляцию драги, прописав отрицательное значение высоты в навигаторе. Виртуальный компьютер немедленно выключился, а на экране появилось сообщение о совершении недопустимой операции в симуляции.
– Твою ж!.. – в сердцах воскликнул программист. – Не верю.
– Бывает, – сочувственно кивнул Сергей.
– Уже можно сказать «а я говорил»? – поинтересовался Арсений. – Как обычно, кнопкодавы накосячили, а честному наладчику лезть на мороз и разгребать за ними.
– Не верю, – повторил Андрей расстроенно, изучая код программы. – Это же детская ошибка. Не предусмотрено отрицательное значение этой переменной, и даже никакой аварийной защиты нет.
– Логично. Это всё же драга, а не подводная лодка. Не предполагается, что она будет плавать ниже уровня моря, – попытался утешить коллегу Сергей.
– Да, но обезопасить программу от косяка во входящих – это же просто здравый смысл! Иначе получается вот это. Деление на ноль, блин.