+− THE DAILY DIFFdev & AI news
REVERT

Разгортванне на 7 з 8 сервераў прывяло да страты 460 мільёнаў долараў за 45 хвілін.

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

1 жніўня 2012 г., 9:30 раніцы па ET: 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 disabled» да адкрыцця; не распрацаваны як абвесткі, не прачытаны
  • 1 жніўня, 9:30–10:15: 212 заказаў становяцца 4 млн выкананняў па 154 акцыях; $3,5 млрд доўгіх, $3,15 млрд кароткіх; $460 млн страчана; выдаленне новага кода робіць сітуацыю горшай
  • 2 жніўня – 19 снежня: акцыі −63% да $2,58, выратаванне на $400 млн па $1,50/акцыю, зліццё з GETCO; кастрычнік 2013: штраф SEC $12 млн, першая справа па правіле доступу да рынку

Перакладзеная стэнаграма

Перакладзена з арыгінальнай англійскай агучкі. Даступнае аўдыя і субтытры кантралююцца 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. Аб'ядноўвайце адказна.

Крыніцы

  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 · be · 25 вер 2026 г.

Баг у адну мілісекунду спыніў паветраны рух Вялікабрытаніі. На шэсць гадзін.

У 10:00 у аўторак, 8 верасня, адзін звычайны запыт squawk-кода ў Нацыянальнай паветранай сістэме (NAS) NATS быў перапынены паведамленнем з больш высокім прыярытэтам, пакуль ён знаходзіўся на паўдарогі

3:06 ↗
postmortem · be · 22 вер 2026 г.

Перазагрузка адправіла Telstra ў 2006 год. Дзевяць мільёнаў тэлефонаў.

Інжынер у Мельбурне ўключае шасі сінхранізацыі ў 2:50 раніцы, і да сняданку найбуйнейшая мабільная сетка Аўстраліі пагаджаецца, што гэта лістапад 2006 года. 8 ліпеня 2026 года: карта GPS у шасі NTP Te

3:15 ↗