Хабрахабр

[Перевод] Как «Историю игрушек 2» Pixar удалили дважды: сначала случайно, а потом из-за стремления к совершенству

image

«Тогда-то мы и заметили это впервые, на примере Вуди».

Он посмотрел в каталог, и там было около 40 файлов, потом заглянул ещё раз, а там осталось всего четыре». «Ларри Катлер зашёл в каталог и как раз говорил об установке исправления для Вуди или его шляпы.

«Затем мы увидели, что начали пропадать последовательности кадров, и подумали: „Боже мой!“»

«Я схватил телефонную трубку… „отключайте машину!“»

Озвучивал клип сам Джейкоб, а также руководящий технический директор Галин Сусман. Так Орен Джейкоб, бывший главный технический директор Pixar, тогда работавший помощником технического директора Toy Story 2, вспоминает момент, когда они обнаружили, что фильм удаляется с серверов компании после выполнения ошибочной команды, уничтожая два месяца и сотни человеко-часов работы.
Эта история стала известной после публикации клипа из расширенной версии фильма на Tested.

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

Огромная часть Toy Story 2 действительно была удалена и восстановлена только благодаря счастливому стечению обстоятельств и напряжённому труду сотрудников Pixar.

После чего он был полностью переделан за считанные месяцы, когда дата релиза уже была объявлена. Но что осталось неизвестным, так это то, что на самом деле весь фильм снова полностью уничтожен, только уже не компьютерами, а самими создателями.

Но кроме того, она многое говорит нам о том, как великолепное качество фильмов Pixar связано с работающими в компании людьми, которые стремятся делать всё идеально. История, которую поведал мне Джейкоб, содержит интересные уроки для людей, работающих с большими объёмами технических данных.

/bin/rm -r -f *

История скорее всего началась в 1998 году, хотя Джейкоб признаётся, что точной даты не помнит. Команда создателей «Истории игрушек 2» (Toy Story 2), примерно 150 человек из отделов анимации, освещения и моделирования Pixar, уже какое-то время упорно работала над фильмом. Одновременно другие 200-250 человек завершали работу над «Приключениями Флика» (Bug’s Life), который должен был выйти осенью того же года.

По удачному стечению обстоятельств они заглянули в каталог, где хранились ресурсы персонажа Вуди. В один из дней Джейкоб (на фото ниже) находился в офисе с Ларри Катлером и Ларри Опперле, который тоже был помощником технического директора и работал под руководством Сусман. После обновления каталога они заметили, что там становится всё меньше и меньше файлов.

«Компьютер выдал ошибку, уже не помню, какую точно. Что-то типа „Каталог уже недействителен“, потому что Ларри находился в месте, которое уже было удалено. Затем мы поднялись вверх по иерархии, вернулись, и увидели Хэмма, Мистера Картофельную голову и Рекса. Чуть позже мы заглянули в каталог снова, и там остался только Хэмм, а потом и он пропал».

Она часто используется для удаления подмножества нежелательных файлов. Скорее всего, была запущена команда rm -r -f *, которая, грубо говоря, приказывает системе начать удаление каждого файла ниже текущего каталога. К сожалению, кто-то в системе запустил команду на корневом уровне проекта Toy Story 2, и система начала рекурсивно отслеживать структуру файлов и удалять их, подобно червяку, прогрызающему себе дорогу из сердцевины яблока.

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

«Часть сотрудников анимировала кадры, и на это могло тратится от одной до пяти минут. «Главный сервер отключился», — рассказывает Джейкоб. Но затем, когда им по какой-то причине нужно было загрузить файлы с главного сервера, то их компьютеры зависали».

Пойдём обедать, ха-ха“». «В конечном итоге каждый аниматор и технический директор, все, кто работал над фильмом сказали: „Ну вот, все компьютеры выключились.

Команда определения размера каталога Toy Story 2 показала, что сохранилось только 10% от его исходного объёма. Несколько часов спустя сервер включили и приступили к оценке ущерба.

Случайная команда удалила 90% мультфильма.

«Фильм был уничтожен»

Когда об этой истории стало известно впервые, основным из главных вопросов стал «как это вообще произошло?»

Оказалось, что причина заключалась в том, как компании уровня Pixar работают над проектами. Я тоже задал Джейкобу этот вопрос.

«Это могло быть сделано с любого терминала». «В нашей сети было 400 людей, и все они имели достаточно масштабный доступ к ресурсам всего проекта, поэтому сложно было ограничить степень ущерба», — рассказывает Джейкоб.

Можно переходить из каталога в каталог, бродить по сети и при желании входить на машины Эда Кэтмелла или Стива Джобса. «Pixar — это широко открытая Unix-среда, то есть она позволяет довольно многое. Не то чтобы Стив непосредственно работал над проектом, но сделать это было можно».

Но из-за того, как выполнялась работа над проектом фильма Pixar, почти каждому требовался доступ на чтение и запись на главный сервер. Стандартный способ защиты от подобных команд — ограничение доступа пользователей только теми файлами, которые им нужны. Это была их работа.

Назначение допусков при помощи микроменеджмента съело бы все административные ресурсы, особенно во время кранчей.

Резервный план

Итак, на этом этапе бОльшая часть фильма была удалена или повреждена. Но это не было большой проблемой. Файлы удалялись и раньше, такое происходит время от времени. Во время создания «Приключений Флика» большинство муравьёв удалили и их пришлось восстанавливать, потому что, разумеется, Pixar выполняла резервное копирование данных.

К сожалению, эти резервные копии не проверялись регулярно, как это рекомендуется и как происходит в компании сегодня. В 1998 году самым распространённым способом резервного копирования большого объёма информации была лента; именно такую систему и использовала Pixar.

Через каждые несколько дней или недель текущие данные заменяются резервными копиями и работа продолжается, чтобы гарантировать, что все данные на месте. Обычно, чтобы убедиться в качестве резервной копии, необходимо её использовать. Такая практика называется «live backup».

И именно поэтому начались проблемы: резервные копии хранились на ленточном накопителе, и когда размеры файлов превышали 4 гигабайта, то упирались в ограничение на максимально возможный объём. В то время Pixar не тестировал свои резервные копии регулярно. Журнал ошибок, который бы мог сообщить системным администраторам о заполненном диске, тоже был расположен на заполненном томе, и имел размер в 0 байтов.

Это означало, что новые данные продолжали записываться на накопитель, но «выталкивали» с него старые файлы. Но никто в Pixar пока об этом не знал.

Это может казаться безумием по сравнению с размером текстур современных фильмов, но нужно помнить, что лента резервных копий имела ограничение на размер файлов в 4 ГБ и в течение многих месяцев работы над проектом это не представляло проблемы. Здесь стоит упомянуть, что весь фильм занимал не более 10 гигабайт информации. Весь объём данных для мультфильма можно было бы уместить на паре двухслойных DVD.

В течение пары дней они думали, что у них есть полностью восстановленная версия файлов TS2. Итак, сотрудники взяли резервные копии, приступили к работе и восстановили фильм.

По сути, для них нужны все ресурсы, участвовавшие в фильме, потому что для рендеринга этих отдельных кадров необходимы все модели, освещение и текстуры. Чтобы протестировать их, они запустили рендеринг примерно 2 000 кадров, по одному из каждой «сцены» фильма (фрагмента между переходами).

«Мы потеряли неделю работы», — рассказывает Джейкоб. Всё выглядело хорошо. «То есть последние 10 сцен последней недели, но всё остальное было нормальным».

Команда вернулась к работе и уже несколько недель использовала эти восстановленные файлы. Перенесёмся в конец этой недели. Всплывали загадочные ошибки с «привязками». Но на протяжении этой недели возникали небольшие странности.

«Привязка» — это когда персонаж, например Вуди, снимает шляпу. Шляпа превращается из части его головы в часть его руки, это очень хитрая и «хрупкая» процедура.

Я не могу объяснить, как нам удавалось работать эту неделю и получать такие рендеры» «Мы начали сравнивать кадры и поняли, что фильм неполон.

Кроме ошибок «привязок» некоторые люди, работавшие с версией своей сцены, заметили, что текущая версия была намного меньше, чем раньше. К концу недели выявилось достаточно ошибок, чтобы команда поняла, что есть проблема. Творилось что-то не то. Допустим, до удаления файлов они работали с номером 420, а теперь сцена имела версию 20.

Именно тогда, спустя целую неделю работы, обнаружилась проблема с резервным копированием на ленту.

«Теперь у нас не было ни малейшей уверенности в любом из решений: восстановленные данные были плохими, проделанная с ними работа была плохой, удаление оказалось ужасным, а резервные копии на лентах повреждены». «Эта работа совершенно точно была проделана впустую, потому что основывалась на ненадёжных восстановленных данных», — вспоминает Джейкоб.

Мы не полностью понимали, в чём именно испортились резервные копии. «У нас не оставалось возможных путей для дальнейшего движения, а может быть, даже хуже. Если на лентах нет только 10 процентов фильма, то каких именно 10 процентов, мы не знали».

Самые умные люди в студии говорили: „Мы не знаем, что делать. «Мы собрали большое совещание в конференц-зале в Багвилле (корпоративном комплексе Pixar). Боже мой!“»

А потом Сусман сказала: «У меня дома есть машина».

«Вольво» за 100 миллионов долларов

Сусман, бывшая тогда руководящим техническим директором Toy Story 2 (на фотографии ниже), незадолго до этого родила сына Элая, поэтому работала из дома. То есть у неё дома была рабочая станция Silicon Graphics. Это была или Indigo 2, или Octane, показанная ниже, в которую загрузили полную копию фильма.

После этого она получала инкрементные обновления по ISDN-подключению к Интернету. Чтобы она могла работать за пределами офиса, машину подключили к локальной сети и скопировали в неё всё дерево файлов. Для тех кто не знает, что это такое: это соединённые вместе два модема на 56 Кбит/с (добро пожаловать в 1998 год).

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

Они погрузили его в машину и аккуратно разместили на заднем сиденье, обернув одеялами и надёжно пристегнув ремнями. Поэтому Джейкоб и Сусман сели в её «Вольво» и понеслись по мосту из Ричмонда к ней домой, чтобы забрать компьютер.

«Нам больше ничего не оставалось», — рассказывает Джейкоб про описанное выше совещание. «Мы были мертвы. Совещание длилось минут 45. Там собралось 30 самых умных сотрудников Pixar, которых можно было привлечь для решения проблемы».

Именно тогда Сусман вспомнила о её домашнем компьютере.

Мы ехали со скоростью около 35 миль в час с мигающими фарами, надеясь, что полиция будет нас сопровождать. «Мы просто встали, вышли, залезли в её „Вольво“, пересекли мост, забрали компьютер и несколько одеял, и я закрепил его ремнями безопасности на заднем сиденье. Но ни одна полицейская машина нас не заметила, и это нам не помогло».

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

«Перед парковкой нас встретили восемь человек с листом фанеры, и как фараона на носилках внесли компьютер в машинный зал». Им удалось невредимыми доехать до Ричмонда.

Он загрузился. Все волновались, когда включался компьютер, потому что именно в этот момент чаще всего «умирают» жёсткие диски. Никто не стал ничего проверять, его просто немедленно подключили к сети и сразу же скопировали весь диск, а затем стали разбирать, что же нам досталось.

Эта версия состояла из жалких .old, .sav, .bak и любых других старых файлов, которые удалось найти. Резервной копии было примерно две недели, но им удалось создать дерево «B» и сравнить его с резервной копией «A», сделанной пару месяцев назад, и третьим источником «C», собранным из всех локальных резервных копий, созданных аниматорами и моделлерами на своих личных терминалах.

«Мы в составе 10-12 человек, без остановки работали с пятницы по понедельник, непрерывными сменами, с едой и спальными мешками», — вспоминает Джейкоб. Удалось подтвердить целостность примерно 70 тысяч файлов, а ещё 30 тысяч нужно было проверить вручную.

«Когда люди пришли в пятницу мы выдали им распечатку: „Вот 500 пунктов, которые нужно проверить за следующие восемь часов. Начинайте с команд xdiff. Приступайте“».

Закрываешь их все, спускаешься ещё на 20 вглубь. «Быстро, в течение буквально пары часов, программисты написали скрипты, которые получали на входе список и создавали окна XF, по 20 файлов в глубину. Закрываешь их все, поэтому так можно двигаться очень быстро».

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

Нам помогали люди из команды „Истории игрушек“, люди, работавшие над „Приключениями Флика“, да и вся студия в целом. «В то время мы закопались очень глубоко. Всё сообщество поддерживало нас ночной работой, печатью на клавиатурах или отправкой нам еды».

Мы знаем, что сейчас вы не спите“». «Однажды одна из местных лавок по продаже сэндвичей в Поинт-Ричмонд спросила нас: „Вам нужна сегодня бесплатная еда?

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

«Кто-то нанял на воскресенье массажиста. «Больше всего в выходных мне запомнились подносы с печеньем, лимонад, пицца и цветы, которые нам отправляли», — вспоминает Джейкоб. Кто-то ещё работал в организации, предоставляющей временное убежище, и принёс нам одеяла».

Даже сегодня Джейкоб не может объяснить то, что после завершения их работы в дереве не хватало более нескольких тысяч файлов. Затем они пересобрали и протестировали проект, и он вроде бы работал.

И совершенно необъяснимо, как проект всё равно работал без них». «Мы не знаем, куда подевались эти файлы.

Но проект работал, кадры рендерились, и «История игрушек 2» снова ожила.

Охота на ведьм

Один из самых интересных для меня вопросов заключался в том, удалось ли найти виновного во всём этом, и был ли он наказан. Обычно, когда такое происходит, люди стремятся найти ответственного. Первым пунктом в повестке дня является «Кто виноват?» Но не в Pixar.

«Спустя 10 минут мы разослали всем в здании электронные письма. «Мы не пытались это скрыть», — рассказывает Джейкоб. Чёрт возьми!“» „Помогите.

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

Для начала нам нужно восстановить фильм. «Давайте отложим охоту на ведьм. Где наш фильм?» Давайте не будем всю неделю искать, кого нужно убить.

Кто-то сказал: „Давайте найдём его и линчуем, немедленно“», — вспоминает Джейкоб. «Очевидно, что спустя пять минут совещания обстановка накалилась. Мы потеряли наших друзей». «Я поддержал идею о линчевании, но самым главным было вернуть фильм и снова начать работать над Базом и Вуди.

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

Но подобные негативные мысли никому не могли помочь, и просто отвлекали от основной задачи: движения вперёд.

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

В те выходные они купили команде пиццы, давали ей всё необходимое и поддерживали в целом. Джейкоб не может вспомнить, кто из руководства был на службе в день, когда восстанавливали резервные копии, но, по его словам, кто бы это ни был, Стив Джобс, основатель студии Эд Кэтмелл и другое руководство сильно поддерживало работу по восстановлению, а не винило сотрудников в ошибке.

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

Джейкоб вспоминает этот разговор:

«Эд, сейчас мы делаем всё, что можем».

«Ребята, вы справитесь с проблемой?»

«Да, спасибо, Эд».

«Если ты не можешь спокойно сидеть и участвовать в совещании, то тебе нельзя быть на совещании», — говорит Джейкоб. В случае подобной катастрофы сложность заключается в том, что технические директора и сотрудники Pixar должны доверять друг другу при устранении проблемы, даже если было совершено несколько ошибок и один из них был в этом виноват. „Чёрные лебеди“ иногда случаются». «Обстоятельства были чрезвычайно необычными.

Вместо того, чтобы искать виновного или оплакивать потерю времени и усилий, команда занялась изменением стратегии резервного копирования, чтобы подобное больше не повторялось, и приступило к навёрстыванию упущенного времени.

Toy Story 2 снова отправляется в мусорную корзину

После удаления и восстановления Toy Story 2 команда надеялась на ничем не омрачённый выпуск продукта, но этому не суждено было случиться.

В Рождество 1998 года, после выпуска «Приключений Флика» и завершения рекламного тура Джон Лассетер, Эндрю Стэнтон, Пит Доктер и легендарный сценарист Джо Рэнфт решили оценить Toy Story 2.

Они посвятили зимние каникулы почти полному переписыванию проекта с нуля. Фильм был плохим. Производство было остановлено 15 декабря и возобновилось после Нового года, в январе, когда команда сценаристов повторно изложило идею фильма.

В конечном итоге Лассетер и Ли Анкрич стали режиссёрами фильма вместе с Эшем Брэнноном.

Разумеется, главные герои: Базз, Вуди, Хэмм, Мистер Картофельная голова, Рекс. Что же осталось от предыдущей версии? Осталась сцена с «Амбаром игрушек Эла». Осталась комната Энди. Почти всё остальное в фильме было новым.

Джейкоб рассказывает, что было добавлено, в том числе и новый персонаж — пёс Бастер с его анимацией:

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

И с момента его появления до выпуска фильма прошло девять месяцев. На этом этапе появился Бастер.

Как большинство людей в фильме. Это была четырёхногая модель, полностью анимированная… на лету. Вся массовка в аэропорту в конце"

Затем были добавлены все эффекты. А затем мы собрали их. Всё это было добавлено во второй версии. Первая сцена, в которой Базз играет с роботами, там где он взрывает четверть миллиона роботов одним кристаллом. В январе мы начали с нуля.

И сам фильм. По сути, и весь сюжет. Это оказалось одной из самых серьёзных проверок культуры Pixar и самой компании.

Что было самое серьёзное в переделке фильма? У него был жёстко заданный срок выпуска — 22 ноября 1999 года. Эту дату нельзя было изменить. Такой высокобюджетный фильм, как Toy Story 2, имеет множество маркетинговых привязок, рекламных кампаний, и всё это должно идеально синхронизироваться с выпуском фильма.

Сдвинуть её за шесть месяцев невозможно. Сдвинуть дату выпуска фильма за год безумно трудно. И всё потому, что они стремились сделать максимально качественный продукт. Это означало, что команде придётся переделать Toy Story 2 за 9 месяцев.

Руководство Disney не верило, что они справятся, но им удалось.

Это было одним из основополагающих камней в фундаменте корпоративной культуры Pixar. «Период с января по сентябрь 1999 года был занят невообразимой геракловой попыткой создать фильм заново. И только благодаря ему мы справились».

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

Провал такого фильма, как Toy Story 2, невыпуск его вовремя снизил бы доверие к студии и разрушил экономику финансирования фильмов Disney. В то время Pixar была независимой акционерной компанией.

Спасти франшизу. «Нужно спасти Базза и Вуди. Спасти компанию. Спасти фильм. На карту было поставлено всё».

По всему миру она заработала 500 миллионов долларов, была номинирована на награду Киноакадемии и подтвердила репутацию Pixar как студии, не идущей на компромиссы. «Историю игрушек 2» удалось завершить и выпустить вовремя.

Полученные уроки

В заключение Джейкоб сказал мне, что самое важное, что он извлёк из этой ситуации, было чувство товарищества команды Pixar.

Люди просто знали это. «Раньше я никогда не ощущал его на таком уровне, потому что это была такая потеря, что для её объяснения даже не требовалось совещаний. Возможно, именно благодаря этому результат работы оказался таким. Знала не только компания, но даже родственники, друзья и люди из Поинт-Ричмонд. Дело не в технологиях, а в чувствах».

Подобные вещи просто так не происходят. Из этой ситуации я понял, что спонтанность общественной поддержки говорит об общем уровне культуры Pixar. Невозможно потерпеть катастрофу и мгновенно развить чувство общности и товарищества.

Но неожиданно откуда-то появляется еда. Джейкоб соглашается со мной, вспоминая свои ощущения при восстановлении фильма: «Невозможно работать по 60 часов, не теряя концентрации. И ты спрашиваешь себя: „Как это получилось?“» Кто-то приносит одеяло, кто-то заставляет тебя пойти в душ, а потом вернуться к работе.

Незабываемым после такого опыта стала дружба, появившаяся благодаря нему. «Всё просто работало, и над этим не нужно было думать. Этот совместный путь объединил наше сообщество».

Мне очень повезло», — рассказывает Джейкоб. «Я никогда не забуду, что стал частью „Истории игрушек 2“. Обо всём этом мы и говорим сегодня». «Мне довелось работать на том уровне руководства, которое позволило нам сохранить Вуди и Базза, „Историю игрушек“ и саму франшизу.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть