+− THE DAILY DIFFdev & AI news
REVERT

Развёртывание на 7 из 8 серверов привело к потере 460 миллионов долларов за 45 минут.

1 августа 2012 года, 9:30 утра по восточному времени: Knight Capital, маркет-мейкер, обеспечивающий примерно десятую часть всей торговли акциями США, только что развернула новый код маршрутизации ордеров на семи из восьми своих серверов SMARS.

1 августа 2012 года, 9:30 утра по восточному времени: Knight Capital, маркет-мейкер, обеспечивающий примерно десятую часть всей торговли акциями США, только что развернула новый код маршрутизации ордеров на семи из восьми своих серверов SMARS. На восьмом по-прежнему работает «Power Peg», код, снятый с эксплуатации в 2003 году, находящийся за тем же флагом, который повторно используется новой функцией. В течение 45 минут он отправляет дочерние ордера, которые никогда не прекращаются: 4 миллиона исполнений, 397 миллионов акций, позиции на сумму около 7 миллиардов долларов, убыток в 460 миллионов долларов. До открытия торгов поступило 97 предупреждающих электронных писем. Посмертный анализ, из собственного приказа SEC: ручное развертывание, которое никто не проверил, флаг с двумя значениями, счётчик остановок, перемещённый в 2005 году и никогда не перепроверявшийся, отсутствие аварийного выключателя и «исправление» на живом рынке, которое только усугубило ситуацию. Вердикт по исправлению: REVERT.

Читать письменное издание (на английском) ↗

Что освещается в этом видео

  • 27-31 июля 2012: Код RLP скопирован вручную на 7 из 8 серверов SMARS; нет второго проверяющего, нет письменной процедуры.
  • 1 августа, 8:01 утра: 97 электронных писем «Power Peg отключен» до открытия; не предназначены как оповещения, не прочитаны.
  • 1 августа, 9:30–10:15: 212 ордеров превращаются в 4M исполнений по 154 акциям; $3.5 млрд длинных, $3.15 млрд коротких; $460M потеряно; удаление нового кода только ухудшает ситуацию.
  • 2 августа – 19 декабря: акции −63% до $2.58, спасение на $400M по $1.50/акцию, слияние с GETCO; октябрь 2013: штраф SEC на $12M, первый случай по правилу доступа к рынку.

Переведенная стенограмма

Переведено с оригинального английского повествования. Доступные аудио и субтитры контролируются YouTube.

0:00 Торговая фирма разворачивает новый код на семи из восьми серверов, и восьмой покупает и продаёт акции на почти семь миллиардов долларов в течение сорока пяти минут, что много даже для среды. 1 августа 2012 года. Knight Capital, одна десятая всей торговли акциями США, сообщает об убытках в 440 миллионов долларов. Комиссия по ценным бумагам и биржам (SEC) позже насчитывает более 460, штрафует Knight на двенадцать миллионов, и пишет посмертный анализ сама: десять страниц, ноль прилагательных.

0:25 Как это происходит, почему это возможно, и кто на самом деле несёт ответственность. Это The Daily Diff, посмертный анализ. 27 июля. Нью-Йоркская фондовая биржа запускает программу розничной ликвидности 1 августа, поэтому Knight копирует новый код на SMARS, свой маршрутизатор ордеров, по несколько серверов в день, вручную. Один техник, восемь серверов, семь копий. Никто не проверяет; никакое правило не требует этого. 8:01 утра. Внутренняя система начинает рассылать сотрудникам по электронной почте сообщение об ошибке, которое гласит: Power

0:51 Peg отключен. Девяносто семь электронных писем до открытия. Они не предназначены как оповещения, поэтому никто их не читает, что является дизайнерским решением с ценой. 9:30, рынок открывается. Семь серверов работают с новым кодом. Восьмой видит тот же флаг и вместо этого запускает Power Peg: код, который Knight вывела из эксплуатации в 2003 году и так и не удалила. Он отправляет дочерние ордера для 212 клиентских ордеров и никогда не останавливается.

1:13 Четыре миллиона исполнений. 397 миллионов акций. Счёт холдинга превышает лимит в два миллиона долларов, который ни к чему не привязан. Инженеры, на живом рынке, удаляют новый код с семи рабочих серверов, что включает Power Peg повсюду. Около 10:15 он останавливается: три с половиной миллиарда длинных позиций, три целых пятнадцать сотых миллиарда коротких позиций.

1:31 Первое: условие остановки Power Peg, счётчик, который говорит, что родительский ордер исполнен, перемещено в 2005 году и никогда не перепроверялось, поэтому устаревший код зацикливается навсегда. Второе: новая функция повторно использует старый флаг Power Peg, так что одно и то же «да» означает две вещи на двух серверах. Третье: нет аварийного выключателя. Ничто не сравнивает входящие ордера с исходящими; ничто не останавливает SMARS. Монитор рисков – это экран, за которым наблюдают люди; он не показывает лимиты. git blame: флаг повторно использован вместо нового, мертвый код, вызываемый в течение девяти

2:00 лет, и ручное развертывание без второго проверяющего. Не техник. Приказ SEC никогда не называет его имени, и я тоже не буду. Радиус поражения: 460 миллионов долларов, примерно десять миллионов в минуту. Акции упали на 63 процента до двух долларов пятидесяти восьми центов, спасение на 400 миллионов долларов по доллару пятьдесят центов за акцию, слияние с Getco к Рождеству. Hacker News, четверг: как он работал 45 минут без вмешательства человека? Не работал. Люди только ухудшили ситуацию.

2:25 Вердикт, посмертный анализ: REVERT. Knight никогда не пишет свой собственный посмертный анализ; это делает регулятор, четырнадцать месяцев спустя, и исправление – это штраф и слияние. Понедельник: новая функция, новый флаг; мертвый код удаляется, не отключается; всё, что отправляет ордера, получает выключатель. Пришлите мне инцидент, о котором вам до сих пор не разрешено говорить, в комментариях или на daily diff dot dev. И это на сегодня всё.

2:48 Я Нико из Axrisi. Merge responsibly.

Источники

  1. SEC Administrative Order, Release No. 34-70694 (Oct 16, 2013), In the Matter of Knight Capital Americas LLCwww.sec.gov
  2. SEC press release 2013-222, "SEC Charges Knight Capital With Violations of Market Access Rule"www.sec.gov
  3. Knight Capital Group 8-K, Aug 2, 2012 (the $440M statement)www.sec.gov
  4. Knight Capital Group 8-K, Aug 6, 2012 (the $400M convertible preferred)www.sec.gov
  5. Knight / GETCO merger announcement, Dec 19, 2012www.sec.gov
  6. NYT DealBook, "Knight Capital Says Trading Glitch Cost It $440 Million" (Aug 2, 2012)archive.nytimes.com
  7. Hacker News, Aug 2, 2012 (73 points)news.ycombinator.com
  8. Hacker News, "The $440M software error at Knight Capital" (294 points)news.ycombinator.com

Похожие видео

postmortem · ru · 25 сент. 2026 г.

Ошибка в одну миллисекунду остановила воздушное движение в Великобритании. На шесть часов.

Во вторник, 8 сентября, в 10:00 обычный запрос squawk-кода в Национальной системе воздушного пространства NATS (NAS) прерывается сообщением с более высоким приоритетом в процессе обновления значения.

3:06 ↗
postmortem · ru · 22 сент. 2026 г.

Перезагрузка отбросила Telstra в 2006 год. Девять миллионов телефонов.

Инженер в Мельбурне в 2:50 ночи снова включает шасси синхронизации, и к завтраку крупнейшая мобильная сеть Австралии соглашается, что сейчас ноябрь 2006 года. 8 июля 2026 года: GPS-карта в шасси NTP T

3:15 ↗