The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Многочасовой сбой Cloudflare оказался результатом некорректной обработки ошибок

19.11.2025 07:34

Компания Cloudflare опубликовала разбор одного из крупнейших инцидентов в своей инфраструктуре, из-за которого вчера большая часть сети доставки контента оказалась неработоспособной на протяжении более 3 часов. Сбой произошёл после изменения в структуре БД, размещённой в хранилище ClickHouse, после которого файл с параметрами для системы противодействия ботам в два раза увеличился в размере. В БД были образованы дублирующиеся таблицы, при том, что SQL-запрос для формирования файла просто выводил все данные из всех таблиц по ключу, без отсеивания дубликатов.


   SELECT
     name,
     type
   FROM system.columns
   WHERE
     table = 'http_requests_features'
   order by name;


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

Проблема оказалась в том, что вместо корректной обработки превышения лимита и продолжения использования прошлой версии файла с информированием системы мониторинга о внештатной ситуации, в обработчике срабатывало аварийное завершение, которое блокировало дальнейший проброс трафика. Ошибка была вызвана использованием в коде на языке Rust метода unwrap() с типом Result.

Когда значение Result имеет состояние "Ok", метод unwrap() возвращает связанный с этим состоянием объект, но если результат не является успешным - вызов приводит к аварийному завершению (вызывается макрос "panic!"), . Обычно unwrap() применяется в процессе отладки или при написании тестового кода и не рекомендован для использования в рабочих проектах.





  1. Главная ссылка к новости (https://blog.cloudflare.com/18...)
  2. OpenNews: Сбой в доменной зоне RU из-за ошибки при замене ключей DNSSEC
  3. OpenNews: Уязвимость в Cloudflare привела к утечке конфиденциальной информации клиентов
  4. OpenNews: Компания Cloudflare раскрыла сведения о взломе одного из своих серверов
  5. OpenNews: Сбой антиспам-системы привёл к коллапсу в репозитории NPM
  6. OpenNews: Ошибка при настройке BGP привела к 27-минутному сбою в работе Cloudflare
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64282-cloudflare
Ключевые слова: cloudflare, bug, rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (403) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, 1 (??), 07:47, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Как защищать свои сайты и доменьчики от ботов без клауды и подобных?
     
     
  • 2.3, анон (?), 07:48, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как минимум самохостинг go-away или anubis
     
     
  • 3.13, Аноним (13), 07:56, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Из-за anubis много раз не мог попасть на lore.kernel.org, в Firefox зависал или не догружался скрипт. Только недавно починили.
     
     
  • 4.21, Анонимно (ok), 08:06, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    4 месяца cloudflare не может починить прохождение капчи в любых версиях Firefox для Linux > 141 версии. Бесконечно обновляет свою капчу
     
     
  • 5.30, Аноним (30), 08:19, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это винится сменой айпи на американский.
     
     
  • 6.44, Анонимно (ok), 09:14, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для прохождения капчи cloudflare надо переехать в США? Зачем такой костыль нужен и кому.
     
     
  • 7.46, Аноним (30), 09:21, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как вариант. Достаточно пропустить трафик через посредника. Это такая фишка у cloudflare.
     
     
  • 8.229, Анонимно (ok), 13:25, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Юзеры просто закроют вкладку с очередным васянским сайтиком за cloudflare... текст свёрнут, показать
     
  • 5.96, 12yoexpert (ok), 10:16, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    нет никаких проблем с их капчей, всегда сижу на последних версиях firefox
     
  • 4.22, Аноним (22), 08:06, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Ага, а лично я намного чаще не мог подключиться к сайтам как раз из-за Cloudflare, чем из-за Anubis. Из под Tor'а вообще вкуснотища, бесконечные капчи.
     
  • 4.127, User (??), 10:41, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Главное - главное что СВОБОДНО не мог попасть. Гордо и независимо!
     
  • 4.242, Аноним (242), 13:59, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У меня подобное началось после того как роскомпозор один из бакетов Amazon хлопнул. Я даже на git.kernel.org или gitlab.freedesktop.org попасть не мог. Сейчас вроде пускает, но как-то через задницу, например на gitlab.freedesktop.org не грузятся аватарки, а сами страницы хоть и загружаются, но индикатор загрузки не пропадает, те что-то постоянно пытается подгрузиться, но не может...
     
     
  • 5.293, Аноним (-), 16:14, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У меня как-то куча хостинг провайдеров из Европы было заблочено. Звонок оператору решил проблему. Без понятия что конкретно они сделали, но проговорились, что меня не пускал ТСПУ вне их сети.
     
  • 4.322, Аноним (322), 17:33, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Там Firefox ESR что-ли?

    Поставь хром.

     
  • 3.23, morphe (?), 08:06, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Как минимум самохостинг go-away или anubis

    Самохостинг это хорошо, однако они спасут только от L7 атак, когда корявый (других не бывает) PHP код по 20 SQL запросов шлёт в ответ на запрос от юзера

    И то не факт, в случае если сайт изначально полумёртвый под нагрузкой из 10 юзеров, однако тут даже cloudflare мало поможет

    А от L4, от которого защита тебе потребуется сильнее, самохостинг тебя не спасёт, и надо уже иметь сеть которая способна удар принять и трафик отфильтровать до твоей машины

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

     
     
  • 4.102, 12yoexpert (ok), 10:20, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Однако с этим способны справляться уже все облака, и можно спрятать дедики за реверс-прокси на облаках потенциально того же самого провайдера

    и лежать, когда что-то лежит у них, что бывает чаще

     
     
  • 5.234, morphe (?), 13:36, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > и лежать, когда что-то лежит у них, что бывает чаще

    Не исполняют обязанности по SLA - требуй возмещения средств

    Ну и дедики тоже не бессмертные, даже более смертные чем большинство облаков если свои механизмы high availability не сделаешь поверх

     
     
  • 6.253, 12yoexpert (ok), 14:31, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    там в соседней ветке пишут, что SLA у них - "моя хата с краю"
     
  • 4.166, Мемоним (?), 11:20, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > дедики за реверс-прокси на облаках потенциально того же самого провайдера

    И после первого же дудоса провайдер попросит тебя на выход

     
     
  • 5.218, morphe (?), 12:29, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> дедики за реверс-прокси на облаках потенциально того же самого провайдера
    > И после первого же дудоса провайдер попросит тебя на выход

    Как раз таки у облаков провайдер почти всегда берёт на себя решение проблем с атаками, в отличии от дедиков

    В худшем случае счёт тебе побольше выставит

     
  • 4.172, penetrator (?), 11:27, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    у любого серьезного DC есть решения на случай DDoS а не только у облаков
     
     
  • 5.216, morphe (?), 12:27, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > у любого серьезного DC есть решения на случай DDoS а не только
    > у облаков

    Решения есть, вопрос как они используются

    У многих провайдеров политика такая, что в случае атаки виноват ты, и значит что при атаке твой сервер могут просто отключить

    Такая защита не бесплатная

     
     
  • 6.323, penetrator (?), 17:36, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Volumetric attacks Up to 5Gbps*
    Protocol-based attacks Up to 2.5 million pps

    FREE

    *We rate-limit well-known attacks before they reach our scrubbing centers. Actual figures are much higher.

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

     
     
  • 7.436, Аноним (-), 01:33, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > are much higher.
    > Ну вот пример бесплатного, свыше уже за деньги...

    Как проверил на своей ж...е Креббс которому "anna senpai" налил от души - при первом намеке на проблемы клаудспайвар с удовольствием посылает кастомера нахрен с аргументом "что-то от вас нагрузки дофига, идите-ка вы на мороз".

     
  • 7.496, morphe (?), 22:36, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Protocol-based attacks    Up to 2.5 million pps

    Это точно дедики? Обычно у дедиков такого нет, потому что ресурсы на поддержания таких фильтров немного противоречат цели избавиться от оверхеда на всё подряд

    Ну и 5гбит маловато на самом деле, дедики с гигабитом стоят копейки, с 10гбитами чуть дороже и обычно требуют дрочки с KYC, а тут говорится про всего 5 штук

     
     
  • 8.498, penetrator (?), 07:02, 21/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    да это дедики, и это только то что доходит до твоего IP, а так они еще и свою се... текст свёрнут, показать
     
  • 3.51, Аноним (51), 09:31, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Грамотно настроенный WAF и рейт лимиты помогают, но довольно геморно это все отлаживать. Из коробочных решений BunkerWeb для себя нашёл, почти что CF у себя дома. Но в будущем хотелось бы этот комбайн на что-то модульное сменить.
     
  • 2.7, name (??), 07:52, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    ddos guard
     
     
  • 3.383, LaunchWiskey (ok), 22:01, 19/11/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.10, Bottle (?), 07:54, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Клаудтвари сами же этих ботов и запускают.
     
  • 2.108, пох. (?), 10:24, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Как защищать свои сайты и доменьчики от ботов без клауды и подобных?

    смотря насколько ты кому-то наступил на хвост.

    от потока просто мусора на 10-30 мегабит с безумных утюгов и холодильников - никак ты не защитишься. Еще и твой провайдер запросто может найти ннну очень уважительную причину разорвать с тобой договор (ему проще потерять деньги чем всех своих клиентов вообще - потому что его внешний канал полностью лежит из-за тебя).

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


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

     
     
  • 3.175, freehck (ok), 11:28, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    10-30 мбит -- это вообще не проблема, этим мелким паразитным траффиком можно в ц... большой текст свёрнут, показать
     
     
  • 4.200, пох.. (?), 11:51, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    сделают 30 гигабит - снова будет не проблема Умные утюги разгоняются и до тераб... большой текст свёрнут, показать
     
     
  • 5.208, freehck (ok), 12:11, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А тебя и Cloudflare от такого не защитит, потому что не может быть 100 -ых прави... большой текст свёрнут, показать
     
     
  • 6.273, пох.. (?), 15:13, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    похоже ты совсем не сталкивался с реальными атаками клаудфларя защитит тебя о... большой текст свёрнут, показать
     
     
  • 7.347, freehck (ok), 19:29, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо, пох Видимо, ты -- мастер, а я -- увы, нет Давай же ты покажешь мастер-... большой текст свёрнут, показать
     
     
  • 8.368, пох.. (?), 21:18, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    я, скажем так, довольно долго работал в области, где канал, конечно, большой, но... большой текст свёрнут, показать
     
     
  • 9.442, freehck (ok), 03:08, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну я примерно представляю, о чём ты Да только знаешь, большинству этих мелко-пл... большой текст свёрнут, показать
     
  • 9.480, freehck (ok), 16:14, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У меня остался только один вопрос Извинения принесены будут ... текст свёрнут, показать
     
  • 2.155, freehck (ok), 11:12, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Как защищать свои сайты и доменьчики от ботов без клауды и подобных?

    Да как бы Cloudflare устроен не особо сложно.

    Просто заказываешь в ряде регионов по паре машинок для приземления регионального траффика и переотправки на реальный api-сервер. На машинках настраиваешь haproxy для TCP-forward. Перед haproxy не обязательно, но желательно -- внешний балансер от провайдера. Терминировать там SSL не надо. Региональные DNS прописываешь смотреть каждому на балансер. Вот тебе и Cloudflare.

    Опционально: добавляешь WAF и antiddos. Из плюсов -- ты будешь понимать, как именно они работают, и контролировать ложно-положительные срабатывания.

     
     
  • 3.179, freenoob (?), 11:33, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да счас, кто тебя досить будет по dns? тебя будут напрямую долбить по айпишнику, либо одного регионального узла, либо конкретно API endpoint, если знают его адрес

     
     
  • 4.195, freehck (ok), 11:45, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > да счас, кто тебя досить будет по dns?

    удивительная адекватность =)

     
  • 4.202, пох.. (?), 11:54, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > да счас, кто тебя досить будет по dns?

    а почему нет? Умные утюги отлично умеют в ресолвинг.

    > по айпишнику, либо одного регионального узла, либо конкретно API endpoint, если

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


     
  • 4.348, Аноним (348), 19:29, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > да счас, кто тебя досить будет по dns? тебя будут напрямую долбить
    > по айпишнику, либо одного регионального узла, либо конкретно API endpoint, если
    > знают его адрес

    Ну так делаешь DNS шустро обновляемым. Вешаешь endpoint на другой айпи, обновляешь DNS. Атакующий жестко флудит ... какой-то уже бесполезный хлам? Хотя конечно он может плотно окарауливать ваши хосты и мониторить все это. Но это видите ли подгружает и атакующего тоже, что дороже и неудобнее! :D

     
     
  • 5.443, penetrator (?), 03:41, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Погодите-ка сэр, у атакающего всегда будет полный список узлов и он всегда сможет принять решение, что флудить, очевидно же, что региональные узлы c DNS не спасасут от терминации вредного трафика, это все для балансировки легитимного.
     
  • 2.169, hshhhhh (ok), 11:24, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    точно так же как и с ним: перед сервером ставится балансировщик нагрузки/кеширующий прокси которые скрывают настоящий айпи серверрв.

    если провайдер позволяет -- к одному айпи можно подключить несколько балансировщиков. если не позволяет -- можно в днс прописать несколько айпи.

     
     
  • 3.204, пох.. (?), 11:55, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > точно так же как и с ним: перед сервером ставится балансировщик нагрузки/кеширующий
    > прокси которые скрывают настоящий айпи серверрв.

    и что такого волшебного в твоем настоящем ойпи?

    Просто первым ляжет твой наколеночный балансировщик.

    Покупайте защщиты от клаудшмары, с вашими талантами самое оно.

     
  • 2.248, Аноним (248), 14:20, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Как защищать свои сайты и доменьчики от ботов без клауды и подобных?

    А что сейчас все ещё выгодно иметь сайты? Раньше на рекламе от Гугла могли зарабатывать, но сейчас остался только его местный конкурент, который как говорят платит копейки и сайты держать не выгодно. А платить за хостинг и за не деловые домены ради хобби за свой счёт та себе удовольствие. Хотелось бы узнать мнение того, кто этим занимается.

     
     
  • 3.277, пох.. (?), 15:17, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>Как защищать свои сайты и доменьчики от ботов без клауды и подобных?
    > А что сейчас все ещё выгодно иметь сайты?

    ЦБ РФ смотрит на тебя... прищурившись.

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

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

    Большинство из нас, не поверишь, занимается сайтами не ради заработков на помойной рекламе.

     

     ....большая нить свёрнута, показать (48)

  • 1.2, morphe (?), 07:48, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +35 +/
    Опять во всём Rust виноват
     
     
  • 2.16, morphe (?), 08:01, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +35 +/
    А было бы на си - данные спокойно записались бы за пределами выделенного буфера, переписали несколько случайных структур, и все были бы счастливы
     
     
  • 3.26, Аноним (26), 08:10, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +13 +/
    А мы не знаем что было бы, если было бы на Си. Но знаем что уже было, когда было (и до сих пор есть, а значит будет еще) на расте
     
     
  • 4.32, Аноним (32), 08:27, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +12 +/
    >А мы не знаем что было бы, если было бы на Си

    А смешно и тонко ты над сишниками подшутил с их undefined behavior.

     
     
  • 5.177, Аноним (177), 11:31, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот CVE про выходы за пределы бывают, про использование освобождённой бывают, а вот про undefined behavior никогда не видел.
     
     
  • 6.205, Аноним (-), 12:04, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Вот CVE про выходы за пределы бывают, про использование освобождённой бывают, а вот про undefined behavior никогда не видел.

    И первое, и второе - UB.
    Издалека видно, что вы - сишник.

     
     
  • 7.311, Аноним (311), 16:56, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Неопределенное для других. Проблема в "обговоренности". Машинные инструкции вполне определённо себя ведут. А вот что такое тип Result в меняющемся языке, и как вырвать unwrap() в уже написанном коде?
     
     
  • 8.355, Аноним (-), 20:00, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У вас особая терминология Может да, может нет - какая разница Мы говорим об ... текст свёрнут, показать
     
  • 6.301, Аноним (-), 16:26, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так большая часть проблем с памятью происходит из-за undefined behavior
     
  • 5.364, Аноним (364), 20:52, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Почему undefined behavior в Си так беспокоит растистов? Занимались бы своим огородом, там дел невпроворот, еще ничего толком не переписано а уже баги вылазят. То в sudo-rs, то в tar, а тут вообще полинтернета отдохнуть отправили в оффлайн.
     
     
  • 6.441, Аноним10084 и 1008465039 (?), 02:08, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не растист, но в целом не могу понять, какого вообще в языке существует undefined behavior. По-моему если у тебя есть язык - в нём надо чтобы всё behavior было defined. Иначе это какая-то недоделка
     
     
  • 7.465, 1 (??), 10:21, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Даже в математике есть UB :-D

    Например 0/0.

     
     
  • 8.466, Аноним10084 и 1008465039 (?), 10:47, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В математике в отличие от языков программирования нет behavior 0 0 - это просто... текст свёрнут, показать
     
  • 4.76, Аноним (76), 09:57, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    А мы знаем что уже было на c/c++ и почему cf пошли это все переписывать

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

     
     
  • 5.109, Аноним (109), 10:26, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ой какая хорошая ссылка, сохранил.
     
  • 5.313, Аноним (311), 17:00, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Почему вы приписываете это языку программирования, а не конкретным программистам, написавшем код?
     
     
  • 6.336, Аноним (364), 18:28, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что это прямой конкурент Раста.
     
  • 5.381, Аноним (381), 21:46, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что страшнее - утечка непонятных данных или невозможность позвонить по номеру экстренных служб? Австралийцы смотрят на тебя, как на ... .
     
     
  • 6.402, Аноним (-), 23:40, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Австралийцы смотрят на тебя, как на ... .

    Естественный отбор :)
    Обновление безопасности было, но чувак его не поставил.
    Печалька.

     
  • 3.27, Анонимусс (-), 08:14, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > переписали несколько случайных структур

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

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

     
     
  • 4.95, Аноним (76), 10:15, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    на сервисе fl (который до раст) наблюдалась деградация работоспособности, так что какое то время сервису все ещё было бы плохо, но было бы не так заметно, я полагаю
     
  • 3.53, Аноним (53), 09:35, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +9 +/
    А было бы на Си, проверили бы три раза на тестовом стенде, прежде чем пихать с пылу с жару на боевой сервер. А тут свято уверовали в безопасную безопасность и безопасно без тестирования на несколько часов опRustоволосились.
     
     
  • 4.55, Анонимусс (-), 09:38, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > А было бы на Си, проверили бы три раза на тестовом стенде

    ... и все равно бы вышли за пределы буфера)))

    Хотя глядя как в ядро мерджат сишных код в обход всех ревью, что-то не верится в "проверили бы три раза".

     
     
  • 5.382, Tty4 (?), 21:47, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Никогда не понимал: когда проблема выхода за г границы так будоражит - лучше к психиатру обратиться, потому что проблема не в возможности, а в том, что малограмотные люди пишут код, который Вы используете.
    Далее если сегодня эти люди такого не допустят, то раньше или в спешке - вполне могут!
     
  • 4.61, Аноним (61), 09:46, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    +1. Чем больше ржа-апологеты кричат о безопасности, тем больше народ думает, что вообще думать не надо - просто жонглируй указателями.
     
  • 4.233, Аноним (233), 13:29, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А было бы на Си, проверили бы три раза на тестовом стенде, прежде чем пихать с пылу с жару на боевой сервер

    Да что ты говоришь!

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

     
     
  • 5.334, Аноним (364), 18:18, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так эта ошибка кодогенерации Ragel, причем тут Си. Разрабы об этом писали в отчете.
     
     
  • 6.400, Аноним (-), 23:37, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    blog cloudflare com incident-report-on-memory-leak-caused-by-cloudflare-parser-b... большой текст свёрнут, показать
     
  • 3.58, Аноним (58), 09:44, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Если помнить, что на Си написаны миллиарды строк кода, то такие случаи находятся в районе статистической погрешности.
     
     
  • 4.236, Аноним (233), 13:37, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Если помнить, что на Си написаны миллиарды строк кода, то такие случаи находятся в районе статистической погрешности.

    Откуда же тогда все эти CVE лезут? Да в принципе много и не надо. Сишочка и плюсы настолько мощные языки, что и одного раза будет достаточно. Как, еапример, было конкретно у Cloudflare:

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

    Всего то делов: из-за переполнения буфера личные данные тихонечко слились примерно 18,000,000 раз, прежде чем проблему заметили.

    ...после чего ребята пошли переписывать свою инфраструктуру еа Расте.

     
     
  • 5.297, Аноним (364), 16:21, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ... и в итоге уронили почти весь интернет на несколько часов (!). Хорошее начало, а что еще будет впереди с такими переписывальщиками.
     
     
  • 6.305, Аноним (-), 16:32, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    уронили не из-за rust, а потому что в прод закинули то что не надо было.
     
  • 5.315, Аноним (311), 17:05, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Откуда же тогда все эти CVE лезут?

    Из "миллиардов строк написанного кода". У Rust написанных строк много меньше. Что ждет человечество с кодом Rust и неопределенностью Result, unwrap(). Гдобальный panic!() по любому чиху.

     
  • 3.310, Аноним (311), 16:45, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А было бы на си

    "вместо корректной обработки"
    "использованием в коде на языке Rust метода unwrap() с типом Result."
    "Обычно unwrap() применяется в процессе отладки"

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

     
     
  • 4.431, Аноним (431), 01:00, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что на практике в среднем коде на Си ошибки не обрабатывают никак, ни грамотно, ни неграмотно. Сложно это, язык бедный.
     
  • 2.59, Аноним (61), 09:45, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, а кто ж ещё?! Не Раст ли бегает и на каждом углу кричит "пешыте на расте у нас нет проблем с памятью"? А зачем нам вообще нужен раст?!! Ну вот так чисто по-программерски ответь. В С++ всё есть, от безопасной памяти до крутого ООП и ТЫСЯЧ полезных библиотек. Накой ляд тут ржа??
     
     
  • 3.94, Аноним (-), 10:14, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нет там безопасной памяти В какой большой плюсовый проект не ткни - везде дыры ... большой текст свёрнут, показать
     
     
  • 4.105, 12yoexpert (ok), 10:23, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Нет там безопасной памяти.

    зато есть безопасная работа с памятью

     
  • 2.168, topin89 (ok), 11:22, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Я понимаю, что ирония. Но словесный понос удержать не могу.

    unwrap() -- это буквально "в случае любой проблемы совершать роскомнадзор". Полезно для отладки и прототипирования, оч вредно в проде, особенно проде с триллионами запросов в день.  

     
     
  • 3.312, Аноним (312), 16:58, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да народ сразу в шутки даже тупо пропустив этот абзац
     
  • 2.185, Facemaker (?), 11:37, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как водится, всем хочется расстрелять гонца ☺, который принёс стектрейс. А ошибка была в SQL.
     
     
  • 3.192, Аноним (192), 11:42, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    sql сильно изменился за лето…
    ошибки было две и в sql не самая интересная
     
  • 3.366, Аноним (364), 21:12, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В новости же ясно сказано что ошибка была и в обработчике на Rust:

    "Проблема оказалась в том, что вместо корректной обработки превышения лимита и продолжения использования прошлой версии файла с информированием системы мониторинга о внештатной ситуации, в обработчике срабатывало аварийное завершение, которое блокировало дальнейший проброс трафика. Ошибка была вызвана использованием в коде на языке Rust метода unwrap() с типом Result."

     
     
  • 4.468, Facemaker (?), 10:51, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, не ясно. Если бы ошибка была обработана правильно (то есть преобразована в Result::Err и возвращена), то улучшилась бы диагностика при падении этого сервиса. Само же падение никуда бы не делось.
     
     
  • 5.471, Аноним (192), 11:22, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Само же падение никуда бы не делось.

    т.е. сейчас мы можем ожидать новых падений в случайный момент времени? Откуда гарантии, что впредь этот файл всегда будет валидным?

     
  • 2.448, Крысюк (?), 08:47, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    При чем тут Раст, там в таблице просто надо было сделать столбец уникальным, ну или в запросе DISTINCT прописать, хотя бы.
     

     ....большая нить свёрнута, показать (45)

  • 1.4, Аноним (4), 07:49, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Вот такого от раста я не ожидал!
     
     
  • 2.197, Америка (?), 11:46, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Да ничего страшного с растом. Там выше говорят, что на самом деле это сишники опять облажались потому, что если бы это было бы на С, то был бы вообще кошмар. Так-что всё хорошо.
     
     
  • 3.215, Аноним (-), 12:23, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Там выше привели ссылку на Cloudbleed - пример того, как это было на С. Прокся 5 месяцев (!) раздавала приватные данные направо и налево. Но для дыряшки это не кошмар, а так, обыденность.
     
     
  • 4.299, Аноним (364), 16:24, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А вот разработчики пишут, что проблема была не в Си: "This indicated that we were not using Ragel correctly." Ragel оказался слишком сложным инструментом для вайбкодеров. Впрочем, как мы видим, Раст им тоже не помог.
     
     
  • 5.318, Аноним (311), 17:12, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Раст им тоже не помог.

    Проблема высоко-абстрактных языков - и программистов - в том, что они отрываются от материи. Абстрактно применяют абстракцию в конкретных ситуациях полагаясь на могущество инструмента.

     
     
  • 6.489, Аноним (489), 20:28, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    проблемы растсеров - тотальная надежда на чеков борера.
     
  • 2.292, VladSh (?), 16:12, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Скорее всего для unwrap() добавят вывод компилятором предупреждения, что по идее и должно было быть сделано изначально.
     
     
  • 3.319, Аноним (311), 17:16, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    unwrap() это разворачивание обертки и обработка ошибок в процессе разворачивания по умолчанию языка. Что надо писать перед вызовом panic!()? Что программист халтурщик?
     
  • 3.425, Алексей (??), 00:40, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Скорее всего для unwrap() добавят вывод компилятором предупреждения, что по идее и
    > должно было быть сделано изначально.

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

     

  • 1.5, Кошкажена (?), 07:50, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    Кода на си становится все меньше...
    Новости про ошибки в расте появляются все чаще...

    Случайность? Не думаю.

     
     
  • 2.107, 12yoexpert (ok), 10:24, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    кода на си не становится меньше, когда на расте не становится больше
     
     
  • 3.131, Аноним (381), 10:47, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Новости про ошибки в расте появляются все чаще... кода на расте не становится больше

    Это получается, плотность ошибок на расте увеличилась? Что не так с программистами на расте?

     
     
  • 4.162, 12yoexpert (ok), 11:18, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Что не так с программистами на расте?

    это не программисты

    вопросы твои непонятны

     
     
  • 5.490, Аноним (489), 20:31, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    изначально было понятно, что растсеры не программисты.
     
  • 3.190, Аноним (177), 11:42, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кода на Расте становится больше дублирующего сишный.
     
  • 2.414, Аноним (414), 00:12, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет, не случайность. На расте стали больше писать в прод, и не какие-то никому неизвестные васяны, а крупные коропорации. То есть ровно по той же причине, по которой мы так часто слышим об ошибках в сишном коде.
     
     
  • 3.473, Аноним (473), 13:10, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Знаешь, как работают разработчики из корпорации? Им ставят задачу, они делают как могут по быстрому, если сроки поджимают, они пропускают мимо глаз некоторые моменты и допускают ошибки. Ну и повсеместно юзают AI и не проверяют до конца эти выбросы от LLM. И всё это из-за "эффективных" манагеров чаще всего.
    А среднестатистический опытный васян пишет с энтузиазмом и ему не ставят такие рамки, он пишет себе в кайф. И код чаще получается качественнее, чем у корпоратов. Есть много примеров открытых проектов от авторов, которые не состоят в корпорации, а делали это в своё удовольствие и удобное для себя время и сроки.
     

  • 1.6, Аноним (26), 07:50, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    > Ошибка была вызвана использованием в коде на языке Rust метода unwrap() с типом Result.

    А ведь даже тут растофилы хвасталась, что вон в Клаудфларе кучу кода пишут на расте, а они 10000% интернета фильтруют

     
     
  • 2.64, пох. (?), 09:47, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну вот и отфильтровали. Ну не 10000 но процентов 50 таки опа, чтотапаламалася и отфильтровалася от посетителей. И пол-дня не были в состоянии раздуплиться и починить (потому что поназаменяли админов девляпсами)

    Зато на хрусте!

     
     
  • 3.128, Аноним (128), 10:44, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше было бы как здесь, да? https://en.wikipedia.org/wiki/Cloudbleed
     
     
  • 4.165, пох. (?), 11:19, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да, лучше. Белкам истеричкам которые гоняют через клаудшмару пароли и данные кредиток ничего уже не поможет, а от страшной и ужасной утечки анонимных айдишек васян-сайта никто не умрет.
    (отдельно прикольно что когда использовали ниправильныйниправильный нинатом йезыке nginx - ничего не утекало, в отличие от пы0мерзкой подделки которую принесли альтернативно-одаренные)


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

     
     
  • 5.184, Аноним (128), 11:37, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Uber это белки-истерички? Обожаю аналитику от опеннета.
     
     
  • 6.278, пох.. (?), 15:20, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Uber это белки-истерички?

    ты не мог найти хуже примера? Это ж не просто контора п-сов, это второе место на конкурсе.

    И вот то что у конторы у которой ВСЯ новахава это собственно вебсервис и приложеньице - даже собственной инфры не имеет - очередной показатель.

     
     
  • 7.393, Аноним (393), 23:06, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > клаудшмару
    > контора п-сов

    И прочие эпитеты от профиси-аналов из 1/6 части суши)
    Может ты похвастаешься своими достижениями, а мы тебя буями пообкладываем?
    Только желательно не за 90е годы.

     
  • 6.321, Аноним (311), 17:29, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я бы сказал что такое это, да модератор не позволит.
     
  • 5.240, Аноним (233), 13:52, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >> Лучше было бы как здесь, да? https://en.wikipedia.org/wiki/Cloudbleed
    > Да, лучше. Белкам истеричкам которые гоняют через клаудшмару пароли и данные кредиток ничего уже не поможет, а от страшной и ужасной утечки анонимных айдишек васян-сайта никто не умрет.

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

    >> https://en.wikipedia.org/wiki/Cloudbleed
    > отдельно прикольно что когда использовали ниправильныйниправильный нинатом йезыке nginx - ничего не утекало

    Cloudbleed был БУКВАЛЬНО во времена использования Ngnix. Здесь подробности, если осилишь инглиш:

    https://web.archive.org/web/20170223233000/https://blog.cloudflare.com/inciden

     
     
  • 6.280, пох.. (?), 15:25, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Cloudbleed был БУКВАЛЬНО во времена использования Ngnix. Здесь подробности, если осилишь
    > инглиш:

    ВНЕЗАПНО, проблема стала серьезной когда они попытались впихнуть между нжинксом еще одну свою косорукую поделку.

    It turned out that the underlying bug that caused the memory leak had been present in our Ragel-based parser for many years but no memory was leaked because of the way the internal NGINX buffers were used.

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

     
     
  • 7.288, Аноним (-), 15:47, 19/11/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 8.290, пох.. (?), 15:58, 19/11/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.262, Аноним (262), 14:49, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > пароли и данные кредиток [...] утечки анонимных айдишек васян-сайта никто не умрет
    > А вот васянов копеешный бизнес - умрет, пролежав пол-дня

    От 3 часов простоя копеешный бизнес умрет, а от тихой утечки его кредиток и админки клаудфлари - не умрет? Да ты мастер логики, я смотрю!

     
     
  • 6.283, пох.. (?), 15:39, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> пароли и данные кредиток [...] утечки анонимных айдишек васян-сайта никто не умрет
    >> А вот васянов копеешный бизнес - умрет, пролежав пол-дня
    > От 3 часов простоя копеешный бизнес умрет, а от тихой утечки его
    > кредиток и админки клаудфлари - не умрет? Да ты мастер логики,

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

     
     
  • 7.341, Аноним (341), 19:09, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Эти гении веб-технологий промто видимо даже и не в курсе, что Cloudflare работает только за счёт MITM их TLS соединения. Хранить секреты и особенно ПД на сайте за CF - это верх разумизма.
     
     
  • 8.373, пох.. (?), 21:29, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    не только, но в том числе и отказываться от этой золотой жилы, разумеется, не с... большой текст свёрнут, показать
     
  • 5.416, Аноним (414), 00:15, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > ничего не утекало

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

     
  • 2.66, Аноним (61), 09:48, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    То, что один дypaк выбрал ржу, ещё ничего не говорит о применимости языка. "Начальник-дe6uл" - это уже практически устойчивая связка слов, а теперь прикиньте - он принимает решение "Завтра все пишем на рже!". !!!!!
     
     
  • 3.167, пох. (?), 11:21, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > То, что один дypaк выбрал ржу, ещё ничего не говорит о применимости
    > языка. "Начальник-дe6uл" - это уже практически устойчивая связка слов, а теперь
    > прикиньте - он принимает решение "Завтра все пишем на рже!". !!!!!

    а завтра пишем на аде - не принимает.

    Поэтому, увы, говорит. Видишь раст - вероятнее всего начальники - это вот самое. А с ada еще могут быть варианты.


     

  • 1.8, Кошкажена (?), 07:53, 19/11/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +9 +/
     
  • 1.9, Аноним (-), 07:53, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Отлично!
    Благодаря unwrap() получился DoS, а не выполнение стороннего кода, как в соседней новости, и взлом серваков! Всего 3 часа отсутствия инета, ошибка найдена и исправлена.

    Так держать клаудфаря! Главное - безопасноть :)

     
     
  • 2.50, Кошкажена (?), 09:29, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Всего 3 часа отсутствия инета, ошибка найдена и исправлена.
    > Так держать клаудфаря! Главное - безопасноть :)

    Если нет сети, то нельзя выполнить удаленную уязвимость (smartblackguy.jpg)

     
     
  • 3.170, Аноним (381), 11:26, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если нет сети, то нельзя получить данные, нельзя продолжить телеоперацию (да, уже есть удалённые хирурги), авиадиспетчеры останутся без компов...
     
     
  • 4.302, Аноним (364), 16:28, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зато на Расте! Как тут один по ехавший пишет, "подумаешь немного без интернета посидели" ))
     
  • 4.404, АнтиАнон (?), 23:47, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какие к черту авиадиспетчеры и телехирурги через клаудфларь и публичные веб-сервисы? Не неси бред.

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

    В итоге виноваты менеджеры CF: ошиблись/схалтурили их кодеры и девопсы/админы нижнего уровня (обычный рабочий момент), схалтурили ревьюверы/сеньор-админы и пропустили лажу дальше (уже хуже, но еще терпимо), выкатили изменения глобального конфига критического сервиса сразу в прод вообще без тестирования в изолированной лабе (эпик-фейл важнейшего бизнес-процесса!), причем даже без ограниченного постепенного (напр., по регионам или часовым поясам) деплоя изменений на весь мир (еще один огромный косяк в бизнес-процессе!). При грамотной архитектуре критической системы и организации бизнес-процессов ее поддержки ни одна грубая ошибка в коде или конфиге не должна доходить до прода, а уж тем более, приводить ее к состоянию тотального DOS.

     
  • 4.405, Аноним (405), 23:47, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > нельзя продолжить телеоперацию (да, уже есть удалённые хирурги)

    Кусок растокода не был рассчитан на возникновение ошибки загрузки данных - "виноват растокод!"

    "Удалённый хирург" не был рассчитан на возникновение ошибки соединения - "виноваты все кроме удалённого хирурга!"

    Я сам сишник и раст не люблю, но конкретно в этой новости растофаны всё сделали правильно. Не можешь/не хочешь обработать ошибку - падай, пусть ошибка себя проявит.

     
     
  • 5.447, Аноним (447), 08:35, 20/11/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.407, Аноним (-), 23:50, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Если нет сети, то нельзя получить данные, нельзя продолжить телеоперацию (да, уже
    > есть удалённые хирурги), авиадиспетчеры останутся без компов...

    Чуваков которые устраивают телеоперацию через колоудфларь (по сути МИТМ) нужно отправлять мести улицы.
    Для таких сервисов нужны совершенно другие требования: надеджнось, резервирование.


     
  • 2.69, Аноним (61), 09:50, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "всего 3 часа"?!?! Да у нас начальник вые6 бы тебя уже через 10 минут неисправленной ошибки!!! И это чисто корпоративный сервачок, но котором, подумаешь - держится весь бизнес! А тут пол-тырнета завязано на этих тупых облаках и на те - на 3 часа ты просто в ауте и миллионные убытки!

    А ещё кричали "бегите к нам в облака, у нас 200% устойчивость, кластеры, виртуальные машины!". А чего стоит виртуальная машина, если ею управляет 06е3ьяна?!?!

     
     
  • 3.111, пох. (?), 10:27, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А бизнес клаушдшмрази держится не на сервачках, а на FUD пропаганде.
    Дай угадаю - НОЛЬ клиентов додумались с них свалить после этого инцидента.

    Хотя нет ровно никаких признаков что следующего точно такого же не будет.

     
     
  • 4.398, Витюшка (?), 23:31, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что такое FUD пропаганда?
     
  • 3.362, Аноним (362), 20:33, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Челове́к разу́мный (лат. Homo sapiens[К 1]), также нередко просто челове́к[К 2] — самый многочисленный и широко распространённый вид приматов. Принадлежит роду Люди (Homo) семейства гоминид надсемейства человекообразные обезьяны подотряда Обезьяны (лат. Haplorhini). Среди других животных выделяется постоянным прямохождением[К 3]
    https://cdn.ruwiki.ru/commonswiki/files/8/85/Primates_Diversity.jpg
     
  • 3.394, Аноним (393), 23:10, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > у нас начальник вые6 бы тебя

    Тяжко тебе наверное работать! Ты ж по личному опыту пишешь?
    Хорошо что я не работаю с такими отбросами)

    > А тут пол-тырнета завязано на этих тупых облаках и на те - на 3 часа ты просто в ауте и миллионные убытки!

    Где-то сэкономил (на своих серваках), где-то потерял.
    Для многих даже 3 часа в год это приемлемо.

    > А ещё кричали "бегите к нам в облака, у нас 200% устойчивость, кластеры, виртуальные машины!".

    Да.  
    Когда был подобный факап до вчера?

     
     
  • 4.434, Аноним (-), 01:21, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Когда был подобный факап до вчера?

    За последние несколько месяцев глобально шатало gcp и aws.
    Их в принципе постоянно шатает, просто в отдельных регионах

     
  • 3.417, Аноним (414), 00:19, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У вас на работе реально руководство подвергает сексуальному насилию за ошибки? Я так понимаю, вам это по нраву, иначе не могу себе представить зачем в таком месте работать.
     
  • 2.78, Аноним (76), 09:59, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    не отлично 3 часа слишком долго искали потому что unwrap никуда не логируется и в панике никакого сообщения. было бы логирование поймали бы раньше. было бы запрет на паники было бы вообще замечательно
     
     
  • 3.103, Аноним (-), 10:21, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > 3 часа слишком долго искали потому что

    смотрели не туда.
    "we initially wrongly suspected the symptoms we were seeing were caused by a hyper-scale DDoS attack"

    Да и 3 часа это на всё. Ты не можешь вот так просто откатить что-то, потому что на это нужно время.

    В 11:05 они залили бажный конфиг. В 13:37 они уже ролбечили его.

    > unwrap никуда не логируется и в панике никакого сообщения

    Вообще-то логируется. Они даже в бложике строку скинули:
    "thread fl2_worker_thread panicked: called Result::unwrap() on an Err value"

     
     
  • 4.176, Аноним (381), 11:29, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ты не можешь вот так просто откатить что-то, потому что на это нужно время.

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

     
  • 4.391, Jackson (??), 22:41, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > смотрели не туда.

    "we initially wrongly suspected the symptoms we were seeing were caused by a hyper-scale DDoS attack"

    у них метрик нет что-ли? по которым должно быть видно есть ддос или нет
    и на падение процесса должен алерт быть
    они выкатку мониторят вообще?

     

  • 1.11, Аноним (30), 07:54, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Типичный раст, постоянные падения это его коронная фишка. Низкая культура разработки, что поделать.
     
     
  • 2.17, Аноним (-), 08:02, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > постоянные падения это его коронная фишка

    Вообще-то падения стали мемом плазмы, которая совсем не на расте.
    "Низкая культура разработки, что поделать" (с)

     
     
  • 3.28, Аноним (30), 08:17, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    У меня до сих пор падает каждый день, файловые дескрипторы кончаются. Исправлять, конечно, не спешат, как explicit sync добавили -- это сплошной треш каждый день, и если с иксами просто перезапускалось, то с вейландом падает и всё. Но это у меня systemd нет, перезапустить, видимо. Видишь, тут ничего не поделать. А вот с падениями ripgrep ты вполне можешь что-то сделать.
     
     
  • 4.156, НяшМяш (ok), 11:13, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так увеличь лимиты, если дескрипторов не хватает.
     
     
  • 5.246, Аноним (30), 14:14, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Так увеличь лимиты, если дескрипторов не хватает.

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

     
  • 3.60, Аноним (58), 09:46, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так там плюсы, а не чистый Си.
     
     
  • 4.194, Аноним (177), 11:44, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Там намеренно все плазмоиды, в т.ч. и сторонние, исполняют в одном адресном пространстве. Вот отсюда и возможны падения.
     
  • 2.38, llolik (ok), 08:45, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > постоянные падения это его коронная фишка

    Можно хоть на Си такое-же написать. Понятно-же, что unwrap() - это, если проводить аналогии, дальнейшее развитие идеи assert-а. Буквами по белому написано, что НЕ надо его использовать в production-коде. Но, как всегда, имеем вот это вот всё и виноват, конечно-же, Rust.

     
     
  • 3.41, Аноним (26), 08:53, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Но, как всегда, имеем вот это вот всё и виноват, конечно-же, Rust.

    какие-то неправильные программисты на расте

     
     
  • 4.49, Кошкажена (?), 09:28, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > какие-то неправильные программисты на расте

    У них обычно виноват кто угодно, кроме них самих, ведь им дали такой инструмент.

     
  • 3.48, Кошкажена (?), 09:27, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > дальнейшее развитие идеи assert-а.

    Если это было бы так, то код бы работал в проде, т.к. ассерт для дебага.

    > Буквами по белому написано, что НЕ надо его использовать в production-коде. Но, как всегда, имеем вот это вот всё и виноват, конечно-же, Rust.

    Если так рассуждать, то буквами по белому написаны ub, но как всегда имеем вот это вот всё и виноват, конечно-же, Си.

     
     
  • 4.256, Аноним (262), 14:39, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Если так рассуждать, то буквами по белому написаны ub,

    Гениально! То есть, чтобы в сишочном коде не было UB, мне достаточно просто не добвалять UB? 😂

     
     
  • 5.274, 12yoexpert (ok), 15:13, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ты путаешь UB и Бабайку
     
  • 5.342, Аноним (341), 19:16, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ээ... Ну, как бы да? Причём конкретно тебе делать ничего не надо, компилятор в тебя дофигищей warning бахнет, если ты прямо в коде будешь писать дичь типа a = b[++i] + b[++i]. Если ты боишься разыменования нулевых указателей, то специально для тебя есть такая крутая штука - операционная система, она тебе segfault сделает и будет даже безопаснее, чем unwrap на расте, потому что процесс умер.
     
  • 3.106, Аноним (106), 10:23, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Буквами по белому написано, что НЕ надо его использовать в production-коде.

    А какие средства язычок предлагает, чтобы unwrap (и ещё сотни паникующих методов) не использовали в production-коде? Может, хотя бы, warning при компиляции выводит?

     
     
  • 4.120, Аноним (-), 10:35, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    #![deny(
        clippy::unwrap_used,
        clippy::expect_used,
        clippy::panic
    )]
     
     
  • 5.349, Аноним (348), 19:32, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > #![deny(
    >     clippy::unwrap_used,
    >     clippy::expect_used,
    >     clippy::panic
    > )]

    Как обычно интуитивно все. Какое-то clippy образовалось. Хоть не скрепыш из офиса, и на том спасибо. Или это его так и звали? :)

     
     
  • 6.418, Аноним (414), 00:21, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    То, что тебе что-то не понятно, не делает это плохим.
     
     
  • 7.470, Facemaker (?), 10:53, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Эксперты, сэр!
     
  • 4.254, Аноним (364), 14:32, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    "Нужно просто правильно писать программы" (c) сишники, ой, то есть фанбои раста
     
  • 3.189, Аноним (189), 11:41, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Разумеется раст и есть виноват. Из названия unwrap не очевидно его поведение. Это и есть основная проблема.
    В том же jQuery, в C# Task Unwrap имеет поведение, более или менее отражающее название, а именно разворачивает, действие обратное оборачиванию.
    Тут же имеем не пойми что. Да, можно в документации написать. Но люди не помнят наизусть документацию. В книжках по C тоже всё описано, но всегда есть неожиданное поведение или недокументированное поведение.
     
     
  • 4.343, freecoder (ok), 19:19, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Любой разработчик на Rust, писавший на нём программы больше одного дня, прекрасно знает, что такое unwrap и какое у него поведение.
     
     
  • 5.371, Аноним (371), 21:25, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >  Любой разработчик на Rust, писавший на нём программы больше одного дня, прекрасно знает, что такое unwrap и какое у него поведение.

    Судя по новости - не любой.

     
  • 3.357, Cykooz (ok), 20:04, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А кто написал такое про unwrap Видимо автор статьи, в блоге Клаудфлары не увиде... большой текст свёрнут, показать
     
     
  • 4.367, Аноним (367), 21:15, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ну какие-то перцы из rust-lang тоже считают, что надо использовать способы получ... большой текст свёрнут, показать
     
     
  • 5.420, Аноним (414), 00:29, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > и потерять пользовательские данные тоже можно, если это экономически выгодно. Так что ли?

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

     
     
  • 6.439, Аноним (-), 01:54, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    и много у коммерческого сервиса будет пользователей после такого? Что это за сервис такой, что не исправлять ошибку из-за которой теряются данные клиентов им более выгодно, чем делать свою работу и получать от клиентов деньги?
     
     
  • 7.485, Аноним (414), 17:57, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Например, абсолютно любой ISP постоянно теряет клиентские данные. Сети по своему дизайну теряют пакеты по множеству разных технологических причин, и дропают намеренно по экономическим причинам. Ситуацию можно значительно улучшить, но цена тебе не понравится. И тем не менее, провайдеры существуют и зарабатывают деньги.
     
  • 2.74, Аноним (61), 09:53, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я так думаю, что Ржу именно для этого изобрели - какой-то кагтавый начальничек решил "сэкономить" и вместо проф.программистов на С++ решил нанять uндycятины "десяток за рупь". А чтобы качество не страдало, решил обложить их борров-чекерами. :))) (можно подумать, все ошибки программы только и состоят, что из указателей!)
     
     
  • 3.99, Аноним (30), 10:17, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Примерно так всё и было. Но проф программисты тоже оценили рюшечки раста, только вот писать и отлаживать код на нём сложнее, чем код плюсов. Ну, минимизирован целый 1 класс ошибок зато, управленцы в восторге.
     
     
  • 4.399, Витюшка (?), 23:34, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это абсолютная неправда
     
     
  • 5.401, Аноним (30), 23:39, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Это абсолютная неправда

    Твоя правда, минимизирован только в коде на раст.

     
  • 2.112, 12yoexpert (ok), 10:28, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Низкая культура разработки, что поделать.

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

     
     
  • 3.132, Аноним (128), 10:48, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А настоящие Си-эксперты сразу допускают Cloudbleed, чего мелочиться то.
     
     
  • 4.231, Аноним (26), 13:28, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А ты не заметил, что те, кто допустил ошибку в сабже и те, кто допустил Cloudbleed - это одни и те же люди? Ну или как минимум нанятые в одну и ту же компанию. Т.е. пытаясь уколоть сишников, ты по сути просто признаешь что после перехода этих сишников на безопасный раст - они снова обоср^W облажались.
     
     
  • 5.257, Аноним (262), 14:43, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > пытаясь уколоть сишников, ты по сути просто признаешь что после перехода этих сишников на безопасный раст - они снова обоср^W облажались.

    Но у них больше не сливаются приватные данные из-за порчи памяти. В этом вся суть.

     
     
  • 6.304, Аноним (364), 16:30, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Приватных данных там и не должно было быть. Но да, если интернет вообще не работает, то они и не сольются, верно подммечено.
     
     
  • 7.408, Аноним (-), 23:52, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Приватных данных там и не должно было быть.

    Интересно, почему ты пишешь что не должно быть, а инженеры клаудфари считают что могли быть?

    > Но да, если интернет вообще не работает, то они и не сольются, верно подммечено.

    Отсутствие инета замечают крайне быстро. И чинят тоже очень быстро.
    А тихую дыpeнь могут и через год заметить.

     
  • 5.282, Анонимусс (?), 15:31, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Т.е. пытаясь уколоть сишников, ты по сути просто признаешь что после
    > перехода этих сишников на безопасный раст - они снова обоср^W облажались.

    Так мы и не отрицаем что они обоcрaлись!
    Люди особо не поменялись, а других "правильных" разработчиков нет))

    Просто разница в последствиях:

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

    - когда используешь дыpявое поделие из 80х - то пользовательские данные НЕЗАМЕТНО утекают (по словам той же Клаудфари, если вы ей верите) с September 22, 2016 до February 23, 2017. Сколько месяцев утечки сами посчитаете или помочь?))

     
     
  • 6.372, Аноним (371), 21:27, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > когда используешь дыpявое поделие из 80х - то пользовательские данные НЕЗАМЕТНО утекают (по словам той же Клаудфари, если вы ей верите) с September 22, 2016 до February 23, 2017. Сколько месяцев утечки сами посчитаете или помочь?))

    Настолько незаметно, что реальной утечки не было. Был лишь возможность.

     
     
  • 7.388, Аноним (388), 22:32, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Спасибо спецу из... Google. А если бы он не заметил, сколько бы успело утечь за эти годы?
     
  • 7.406, Аноним (-), 23:49, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Настолько незаметно, что реальной утечки не было.

    Реальная утечка была, про это сама клаудфаря пишет

    The bug was serious because the leaked memory could contain private information and because it had been cached by search engines.
    blog.cloudflare.com/incident-report-on-memory-leak-caused-by-cloudflare-parser-bug/

    То что этим никто не воспользовался в открытую - не показатель отсутствия утечки))

     
  • 3.422, Аноним (414), 00:34, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Некому Торвальдсу (у него ещё ядро своё поговаривают) раст нравится. Что он про C++ думает широко известно, так что точно дело не в маркетинге.
     

     ....большая нить свёрнута, показать (42)

  • 1.12, Oldi (?), 07:56, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Непонятно как возникла и расползалась этот tablespase
     
     
  • 2.181, Аноним (381), 11:34, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Об этом почему-то замалчивают. Ещё где-то ошибки есть, ну не руками же в терминале долбили sql команды сразу в прод, нет ведь?
     
     
  • 3.285, пох.. (?), 15:44, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Об этом почему-то замалчивают. Ещё где-то ошибки есть, ну не руками же
    > в терминале долбили sql команды сразу в прод, нет ведь?

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


     
     
  • 4.491, Аноним (489), 20:40, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    если у вас в компании завелись растсеры... Выгодно поможем от них избавиться! (Мозила)
     

  • 1.14, Анонимусс (-), 07:57, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Сбой произошёл после изменения в структуре БД, размещённой в хранилище
    > ClickHouse, после которого файл с параметрами для системы
    > противодействия ботам в два раза увеличился в размере.

    Мда... Они не тестируют миграцию БД перед выкаткой на прод?
    Изменения в структуре БД это не два байта отослать, тут нужно быть аккуратным.

     
     
  • 2.20, Аноним (26), 08:05, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > тут нужно быть аккуратным.

    Ой, хоспади... Там раст везде он всё проверит сам и по рукам надаёт если делаешь что-то не так, не надо больше думать... да не о чем не надо больше думать. Да, даже во время миграции БД

     
     
  • 3.130, 12yoexpert (ok), 10:46, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    "Краш тест защитной пленки на iPhone 4.mp4"
     

  • 1.34, AleksK (ok), 08:30, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Офигеть, Cloudflare использует ClickHouse от Яндекса.
     
     
  • 2.39, Аноним (39), 08:49, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Это уже давно не Яндекс. И от Яндекса они сами открещиваются.
     
     
  • 3.140, Аноним (128), 10:55, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > И от Яндекса они сами открещиваются.

    Мы тебе поверим на слово, да, конечно. Или нет?

    https://clickhouse.com/docs/about-us/history

     
  • 3.161, Анониматор (?), 11:17, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Просто зайди в репу.  Половина комитов на сегодня упоминают наименование процессора Эльбрус
     
     
  • 4.164, Аноним (164), 11:19, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Штирлиц никогда не был так близок к провалу
     
  • 3.275, 12yoexpert (ok), 15:15, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ага, и браузер Vivaldi это не яндекс-браузер, слышали
     
  • 3.324, Аноним (311), 17:37, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >открещиваются.

    Типично: Затраты общие - прибыль частная.

     

  • 1.40, iCat (ok), 08:51, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    "Оно должно само"... Да?
     
     
  • 2.47, Аноним (-), 09:24, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > "Оно должно само"... Да?

    Вообще-то да. И оно это сделало.
    Память не испортили, за пределы буфера не вышли, сторонний код не исполнили.
    Софтину в некорректном стейте грохнули. Данные не пострадали.

    Все как и ожидалось.

     
     
  • 3.62, Аноним (192), 09:46, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Все как и ожидалось.

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

     
     
  • 4.85, Аноним (76), 10:06, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://rust-lang.github.io/rust-clippy/stable/index.html#expect_used
    https://rust-lang.github.io/rust-clippy/stable/index.html#unwrap_used
     
     
  • 5.113, Аноним (192), 10:29, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    и при чем тут линтер? боров-чекер неотключаемая фича компилятора, если бы его можно было отключать, то он был бы отключен в каждом первом проекте. Анврап-чекер тоже должен стать неотключаемым

    > for a lot of quick-and-dirty code, unwrap is a good choice, which is why this lint is Allow by default.

    они даже по умолчанию считают, что ты пишешь "a lot of quick-and-dirty code", а не что-то рабочее

     
     
  • 6.375, пох.. (?), 21:35, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > они даже по умолчанию считают, что ты пишешь "a lot of quick-and-dirty
    > code", а не что-то рабочее

    казалось бы, и в чем неправы-то?!


     
  • 3.81, Аноним (61), 10:01, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ожидалось.... 3 часа простоя?!?! Походу, ты мало относишься к ИТ.

    Если сайт упал, мгновенно должны поднять по тревоге всех сисадминов, откатиться на рабочую версию и начинать расследование. А в клаудфларе, походу, uндycятuна за доширак работает - пока проснулись, про-д-рис-тались, едва нашли проблему, а потом, спустя сутки, нашли и "виновника торжества" - unwrap. В ПРОДАКШЕН КОДЕ. :D  Всё, что вы хотели знать о квалификации cloudflare team.

     
     
  • 4.88, Аноним (76), 10:08, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    откатить продакшн код на такой системе как у cf может наоборот навредить (нестабильные состояния), поэтому они сначала расследуют, потом что то делают
     
     
  • 5.104, Аноним (-), 10:23, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > поэтому они сначала расследуют, потом что то делают

    Для чела айтишечка ограничена серваком и злым начальником, не требуй от него многого)))

     
  • 4.178, пох. (?), 11:32, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    нет там админов там девляпсы и констант дизинтегрейшн а невозможно откатить баз... большой текст свёрнут, показать
     
     
  • 5.412, Аноним (405), 00:08, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Наслаждайтесь вашими контейнерами В 2010 я просто заходил на сервер по ссш и см... большой текст свёрнут, показать
     
     
  • 6.444, freehck (ok), 03:49, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > В 2010 я просто заходил на сервер по ссш и смотрел, что там у меня упало, сразу же подправлял, если мог, или добавлял больше отладочной инфы. И только когда удостоверился, что проблема решена, вносил ту же правку у себя и коммитил.

    Дорогой, это и в 2010м было плохой практикой так-то. =)

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

    > Доступ к логам - только через десяток впн и монструозную полурабочую графану.

    Ну это у вас кстати девопсы плохие. Звучит как "плохо организованный доступ к логам". Это надо исправлять.

    > И то иногда система падает, не успевая залогировать причину падения, и у девопса, поддерживающего это всё чудо, приходится просить дамп консоли на момент падения.

    А это уже звучит как "плохо организованный сбор логов". Расскажите своим девопсам про то, что сервис не должен сам в loki писать. Вместо этого он должен писать в stdout/stderr, которые в свою очередь должны вычитываться promtail-ом. Дамп полетит при крахе в консоль, его вычитает внешний инструмент, всё будет в loki.

    Ну или нормальных девопсов наймите, если у этих лапки.

     
  • 4.395, Аноним (393), 23:14, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Погоди! ты выше писал, что начальник тебя е6ать будет.
    Это будет до "начинать расследование" или после?

    ps кажется у тебя максимальный опыт это заправка картриджей в бухгалтерии)

     
  • 3.100, пох. (?), 10:20, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Память не испортили, за пределы буфера не вышли, сторонний код не исполнили.

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

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

     
     
  • 4.134, 12yoexpert (ok), 10:50, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    там разве нет неустоек? или как это правильно называется
     
     
  • 5.149, пох. (?), 11:07, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ну что ты, что ты - юристам клаудшмара нормально платит, это тебе не одноразовые девляпсы.

    Там сплошной as is и best effort.

     
  • 5.154, Аноним (192), 11:12, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    в лучшем случае в зависимости от плана какое-то время будешь получать сервис бесплатно, как это соотносится с твоими потерями (если были) — это не их проблемы
     
  • 4.370, Аноним (370), 21:22, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > и не будь клаудшмразь монополистом с договором вида "мы вам ничего и не обещали" - кто-то сейчас суматошно искал бы новую работу.

    CrowdStrike вроде не монополисты, однако цветёт и пахнет. Тоже клиенты "поняли и простили"?

     
     
  • 5.376, пох.. (?), 21:37, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > CrowdStrike вроде не монополисты

    ну здрасьте, как это не. Вариантов не вляпаться для крупняка считай что не было.

    > Тоже клиенты "поняли и простили"?

    конечно, куда ж они с подводной лодки-то денутся. Тем более им честное-пречестное пионерское было дано что впредь не повторится.

     
  • 3.201, Аноним (177), 11:53, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Более трёх часов простояли.
    > Все как и ожидалось.

    Всё идёт по плану.

     
  • 3.325, Аноним (311), 17:40, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Вообще-то да

    Когда такого будет много и в критическом проде, что делать?
    Данные можно охранять, дублировать и подобное. Что делать с лежащем бизнес-сервисом?

     
     
  • 4.385, пох.. (?), 22:16, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Данные можно охранять, дублировать и подобное. Что делать с лежащем бизнес-сервисом?

    охранять, дублировать, много всякой фигни можно сделать. Только бестолку. Он же лежит.

     

  • 1.56, Аноним (61), 09:42, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это самая крутая новость, что я читал на опеннете!! Паблишеру громадный лайк! Потому что:

    1. Сразу понятна суть инцидента
    2. (самое главное) приведён пример бажного кода - по его уровню можно судить о том, какого уровня uндycятuна была нанята на такую важную инфраструктуру. Да и в целом видно, насколько долго и непрофессионально чинили элементарный баг.
    3. Наглядно показана несуразность Ржи и её нелепый рекламный слоган "зато безопасная память!". Как видно, программы состоят ДАЛЕКО не только из памяти! Вся программа зависит от КВАЛИФИКАЦИИ программиста и практически невозможно придумать "инструмент для дураков" (Rust), потому что только дурак и захочет им пользоваться.

     
     
  • 2.180, пох. (?), 11:34, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > 2. (самое главное) приведён пример бажного кода - по его уровню можно
    > судить о том, какого уровня uндycятuна была нанята на такую важную

    чо ты к claude докопался? Или что у них там - копилот? Они даже не индусские.

     
  • 2.210, Аноним (210), 12:13, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    покажи язык программирования, в котором физически нельзя избежать проверки результата работы функции.
     
     
  • 3.247, Медведь (ok), 14:16, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > покажи язык программирования, в котором физически нельзя избежать проверки результата работы функции.

    C++: [[nodiscard]] в объявлении функции, компиляция с -Werror=unused-result

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

     
     
  • 4.272, Аноним (-), 15:10, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Конечно, сделать с результатом все равно можно что угодно, но
    > всё-таки сделать что-то нужно обязательно.

    std::ignore = MySuperDuperNodiscard();

    Что-то сделали, ога)))

     
     
  • 5.276, Медведь (ok), 15:16, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    unwrap()

    еще лучше сделали ;)

     
  • 2.294, VladSh (?), 16:14, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Всего лишь (пока) отсутствует предупреждение компилятора для unwrap().
     
     
  • 3.327, Аноним (311), 17:45, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >отсутствует предупреждение компилятора

    Всё есть. Выше показан пример с
    #![deny(
        clippy::unwrap_used,
        clippy::expect_used,
        clippy::panic
    )]
    где прямо запрещается использовать эти функции и макросы.
    Это не было сделано по каким-то причинам.

     
     
  • 4.351, Аноним (348), 19:33, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Всё есть. Выше показан пример с
    > #![deny(
    >     clippy::unwrap_used,
    >     clippy::expect_used,
    >     clippy::panic
    > )]
    > где прямо запрещается использовать эти функции и макросы.
    > Это не было сделано по каким-то причинам.

    Но вы же пиндите на тему статических анализаторов и MISRA C. Значит и на это можно симметрично поныть.

     
     
  • 5.423, Аноним (414), 00:37, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так пиндят, как ты выразился, не на то, что они есть, а на то, что сишные ковбои ими не пользуется.
     
     
  • 6.437, Аноним (-), 01:39, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Так пиндят, как ты выразился, не на то, что они есть, а
    > на то, что сишные ковбои ими не пользуется.

    Ну так растовые - тоже как видим ваш совет не юзали и положили дохреналион сайтов на несколько часов. А разница в каком месте? :)

     
  • 4.492, Аноним (489), 20:45, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    а можно сделать  #![deny(rust)] ?
     
  • 2.295, Пыщь (?), 16:16, 19/11/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.458, Дед ИИ (?), 09:22, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А вот если бы писал ИИ такого не было бы!
     

  • 1.80, Аноним (80), 10:00, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Обычно unwrap() применяется в процессе отладки или при написании тестового кода и не рекомендован для использования в рабочих проектах.

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

     
     
  • 2.87, Соль земли2 (?), 10:08, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Это и есть самое нормальное поведение программы - грохнуться при любом ненормальном поведении себя.
     
     
  • 3.188, Аноним (381), 11:40, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    самое нормальное поведение раст-программы - грохнуться
     
     
  • 4.328, Аноним (311), 17:47, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >грохнуться

    Рождена, чтобы грохнуться в самый неподходящий момент. )

     
  • 3.303, Аноним (303), 16:28, 19/11/2025 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
  • 3.326, Аноним (364), 17:43, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Сказал бы ты так же если бы это была ошибка программы на Си? Только честно.
     
     
  • 4.424, Аноним (414), 00:39, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если падает — норм. Мониторинг заметит что что-то не так и начнёт сигналить. Если портит память — вот это плохо, от такого мониторинга пока не придумали.
     
     
  • 5.428, Медведь (ok), 00:51, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > от такого мониторинга пока не придумали.

    Придумали. В ARM уже есть -- MTE, для x86_64 ждем ChkTag.

     
     
  • 6.432, Аноним (-), 01:07, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Придумали. В ARM уже есть -- MTE,

    С 2018 года.
    Но RCE-дырень в Bluetooth-стеке платформы Android  на 9.8 из 10 оно не предотвратило.
    Наверное что-то пошло не так 🤷🏻‍♂️

    > для x86_64 ждем ChkTag.

    Лет 5 или 10ть.
    Ох уж эти смузихлебы любят выдумать серебрянную пулю которая уж точно решит все проблемы и молиться на нее)


     
     
  • 7.435, Медведь (ok), 01:31, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Но RCE-дырень в Bluetooth-стеке платформы Android  на 9.8 из 10 оно не предотвратило.

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

     
     
  • 8.440, Аноним (440), 01:59, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты хотел сказать эксплойт не опубликовали Он должен был бы уронить приложени... текст свёрнут, показать
     
  • 6.486, Аноним (414), 18:02, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не придумали. Единственный 100% рабочий способ узнать о порче памяти — сравнение с эталоном. Но для этого надо, во-первых, иметь эталон, и, во-вторых, как-то быть уверенным, что он не испортился, что возвращается нас в самое начало задачи. Добавить немного динамики, и приходим к выводу, что надо делать как в космической отрасли: три одинаковых системы выполняющих одну и ту же задачу и сравнение результатов работы. И даже это не спасает на 100%.
     
  • 2.92, llolik (ok), 10:13, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Это означает, что Rust, конечно, кое от чего страхует, но задачу "думать головой при написании кода" не отменяет.
    Программист взял откуда-то/вспомнил типовой пример, не прочитал/не вспомнил как работает unwrap() и получил, что при невыполненном условии, мы получаем не отработку ошибки, а у нас стоит unwrap(), который говорит "всё, звиздец, здесь сделать ничего нельзя, валим приложение в panic-у".
     
     
  • 3.121, Facemaker (?), 10:35, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Программист явно недоработал. Функция возвращает Result. Вызов unwrap() внутри такой функции даже на беглый взгляд — максимально некрасиво; на ревью такое не должно было пройти. И заметим, что в отличие от ошибок, вызывающих UB в Си (вроде целочисленного переполнения), такие ошибки выявляются простым грепом.
     
     
  • 4.139, 12yoexpert (ok), 10:55, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > вызывающих UB в Си (вроде целочисленного переполнения)

    да ктож вас, детей, так напугал этим UB? маркетологи раста?

    переполнение это фича, которая вполне используется для переxода через ноль в миллионе вещей, в те же счётчикаx пакетов

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

     
     
  • 5.152, Аноним (128), 11:10, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это лишь один из примеров UB. Ох уж эти иксперты опеннета.
     
     
  • 6.160, 12yoexpert (ok), 11:17, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    клоудиот выше говорил о переполнееии, киксперд
     
     
  • 7.390, Аноним (388), 22:36, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Слово "вроде" ты игнорируешь? Остановись уже.
     
     
  • 8.429, 12yoexpert (ok), 00:52, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    сам придумал или подсказал кто ... текст свёрнут, показать
     
  • 5.153, пох. (?), 11:10, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > если тебе не нужно переполнение, ты просто берёшь и проверяешь, чтобы его

    ну вот еще! s/int/unsigned int/g

    ВСЕГДА ж так делаем!

    (причем в процессоре вполне может быть автоматика обработки переполнений - но вот покажи-ка мне такой нескучный йезычок, который умеет ей пользоваться хоть на какой архитектуре?)

     
     
  • 6.298, Пыщь (?), 16:24, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > (причем в процессоре вполне может быть автоматика обработки переполнений - но вот
    > покажи-ка мне такой нескучный йезычок, который умеет ей пользоваться хоть на
    > какой архитектуре?)

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

     
     
  • 7.386, пох.. (?), 22:22, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну раз в процессоре инструкции и обработчики исключения/прерывания/события (понравившееся
    > подчеркнуть) на этот счёт есть, то нескучный йоузычок - ассмеблер этого

    ну и вот каждую операцию с целыми числами будем на ассемблере переписывать?

    > проца. А на другой архитектуре и процессор другой, может не уметь
    > такого колдунства.

    на какой ЖИВОЙ архитектуре a[i++] имеет физический смысл? (извинитя, сорок лет прошло, я мог перепутать с какой стороны плюсики)

    А язычок все еще помнящий именно эту особенность - есть! (причем только и исключительно если *a - int, для любых других типов фокус не работал - но язык не делал различия)

     
     
  • 8.409, Аноним (-), 23:53, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А можно поставить с любой ba-dum-tss ... текст свёрнут, показать
     
     
  • 9.462, пох.. (?), 09:57, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ты бы хоть погуглил хотя куда тебе поставить-то можно Но смысл появления ... текст свёрнут, показать
     
     
  • 10.474, Медведь (ok), 13:40, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот теперь я и правда запутался При чем тут тип a Что именно, по твоему, увел... текст свёрнут, показать
     
     
  • 11.478, пох.. (?), 15:02, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    мля выросло поколение Ни гуглить, ни хотя бы посмотреть в соседний коммент ... текст свёрнут, показать
     
     
  • 12.479, Медведь (ok), 15:12, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Уважуха тебе, конечно, что ты знаешь такие мелочи, но никто не обязан помнить вс... текст свёрнут, показать
     
  • 8.419, Медведь (ok), 00:27, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Честно-честно code double h 0 5 std print before n , h std prin... текст свёрнут, показать
     
     
  • 9.464, пох.. (?), 10:12, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    меня удивляет ваше неумение понимать текст ... текст свёрнут, показать
     
     
  • 10.475, Медведь (ok), 13:45, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не менее удивляет ваше неумение связно излагать ваши соображения ... текст свёрнут, показать
     
  • 8.438, Аноним (431), 01:43, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ARM64 code ldr x0, x1 , 8 code ... текст свёрнут, показать
     
     
  • 9.463, пох.. (?), 10:10, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    кросивое, хотя это не совсем то что имелось в виду в оригинале a i обычно ж н... текст свёрнут, показать
     
  • 5.433, Аноним (431), 01:19, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >если тебе не нужно переполнение, ты просто берёшь и проверяешь, чтобы его не было

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

     
     
  • 6.472, пох.. (?), 11:46, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>если тебе не нужно переполнение, ты просто берёшь и проверяешь, чтобы его не было
    > Компилятор берет и просто удаляет проверку, потому что переполнения не может быть
    > никогда.

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

    А если компилятор нафантазировал - это ошибка конкретного компилятора. Он завтра тебе компилируя 2+2 подставит 43 - и кто тут виноват?

    В отличие от s/int32/int64/g

     
  • 4.222, Аноним (26), 13:08, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Программист явно недоработал.

    Ясно, это какие-то неправильные программисты на сиш^W расте.

    > на ревью такое не должно было пройти.

    но тем не менее прошло.

    > И заметим, что в отличие от ошибок, вызывающих UB в Си (вроде целочисленного переполнения)

    Ты хоть понимаешь что такое UB при переполнении? Беззнаковое переполнение это не UB, а wraparound, который точно задокументирован и всегда одинаковый везде! Со знаковыми типами - да, UB потому что есть три разных представления отрицательных чисел в бинарном виде. Было бы одно единственное - не было бы UB.

     
     
  • 5.286, Анонимусс (-), 15:45, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ты хоть понимаешь что такое UB

    Мне кажется вы не понимаете что такое UB.

    > Со знаковыми типами - да, UB потому что есть три разных представления отрицательных чисел
    > в бинарном виде. Было бы одно единственное - не было бы UB.

    Поэтому его нужно было делать Implementation-defined behavior, а не UB.

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

     
     
  • 6.330, Аноним (26), 17:50, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тебе какая разница как именно это называется: UB или ID? GCC, к примеру, генерирует отрицательные целые только(!) в допкоде, поэтому там такое переполнение явно определено. Если тебе и этого мало есть -fno-strict-overflow.
     
     
  • 7.392, Аноним (392), 23:05, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > GCC, к примеру

    А при чем тут GCC?
    Тут проблема что стандарт, который должен твердо и четко описывать как оно должно быть говори "а буй его знает... вы там сами как-то разберитесь!" А компиляторы реализуют как хотят. Потому что стандарт - овно.

     
     
  • 8.430, Аноним (430), 00:59, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Блин, ну вы чего GCC не может не генерировать 2 s complement для процессоров с ... текст свёрнут, показать
     
  • 8.452, Аноним (447), 09:11, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    если стандарт четко будет все описывать то останется как в расте только 3 процес... текст свёрнут, показать
     
  • 6.346, Аноним (430), 19:24, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не теряет Она перестает быть strictly conforming но при наличии implementation... большой текст свёрнут, показать
     
  • 5.427, Аноним (430), 00:47, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Беззнаковое переполнение это не UB

    Эту проблему можно пофиксить через арифметику над беззнаковыми типами, чтобы получить promotion в знаковый тип: 'unsigned short - unsigned short = signed int' и т.д.

     
  • 4.445, freehck (ok), 04:15, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Программист явно недоработал. Функция возвращает Result. Вызов unwrap() внутри такой функции даже на беглый взгляд — максимально некрасиво; на ревью такое не должно было пройти.

    Да. Забыли. Недосмотрели. Смерджили. Вот так оно бывает в реальном мире. И в результате -- веб во всём мире на 3 часа прилёг.

     
  • 2.110, Facemaker (?), 10:26, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В других языках часто оставляют ассерты в релизном коде, потому что отладочный не всегда можно запустить на реальных данных. И это лежит на ответственности программиста. Rust заставляет делать такое, если уж кто-то не хочет обработать ошибку нормально. Метод unwrap() — аналог ассерта. То есть данный инцидент продемонстрировал преимущество Rust, чего наши лучшие эксперты Опеннета даже не попытались понять.
     
     
  • 3.291, Аноним (364), 16:08, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Произошла всепланетная презентация преимущества Rust. Чтобы никто не отвлекался от нее, пришлось отключить Интернет на три часа.
     
  • 2.137, Аноним (381), 10:53, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > это Rust не позволяет писать нормальный код ... или это т.н. дилетанты работают в Cloudflare?

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

     
  • 2.220, Аноним (220), 12:51, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это криворукие программисты:
    1. Не понимают, к чему приводит паника в их системе
    2. Не понимают, что прод надо делать надёжным, а не крешиться по мелочи

    Первое - непрофессионализм. Второе - отсутствие должного образования. Оба пункта лечатся прочтением Release It! автора Michael Nygard - никто лучше него пока про эту тему не написал.

     
     
  • 3.258, Аноним (364), 14:43, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это про Си или про Раст? Дежавю какое-то.
     
     
  • 4.306, Аноним (303), 16:32, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда про Си говорят про ошибки работы с памятью и "просто надо уметь" - это глупость, потому что уметь это не просто, поэтому практически все программисты на Си и не умеют.

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

     
     
  • 5.339, Аноним (364), 18:38, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    То есть если короче: "Это другое!"
     
  • 3.396, Аноним (393), 23:18, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > 1. Не понимают, к чему приводит паника в их системе

    С чего ты взял?
    Если система пришла в невалидное состояние то прекратить выполнение это вполне нормальный подход.

    > 2. Не понимают, что прод надо делать надёжным, а не крешиться по мелочи

    Пусть лучше крешится с расследованием, чем данные утекают месяцами.

    Хм.. покажите мне "надежный прод", который никогда не крашился)

     
     
  • 4.403, Витюшка (?), 23:46, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А где стектрейс или логгирование?
     

     ....большая нить свёрнута, показать (51)

  • 1.84, Соль земли2 (?), 10:06, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Обычно unwrap() применяется в процессе отладки или при написании тестового кода и не рекомендован для использования в рабочих проектах.

    Значит это была лишь отладка. Всё логично.

     
     
  • 2.338, Аноним (364), 18:36, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Когда ты Cloudflare и пишешь на Rust - весь мир твои тестировщики.
     

  • 1.115, Аноним (-), 10:29, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ситуация конечно неприятная.
    Но это все равно намного лучше чем предыдущая ошибка клаудфари.

    Cloudbleed was a Cloudflare buffer overflow.
    Data from Cloudflare customers was leaked to all other Cloudflare customers that had access to server memory. This occurred, according to numbers provided by Cloudflare at the time, more than 18,000,000 times before the problem was corrected. Some of the leaked data was cached by search engines.

    И как мы видим тут просто все упало, а не "приватные данные утекли в поисковик".

     
     
  • 2.259, Аноним (364), 14:44, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, лучше. Полпланеты на день оставили без интернета.
     
     
  • 3.269, Аноним (-), 14:59, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Полпланеты на день оставили без интернета.

    Не на день, а на несколько часов.

    > Ага, лучше.

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

     
     
  • 4.308, Аноним (364), 16:41, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Рассуждение "лучше чуток посидеть без инета" выдают человека ничего важнее чем Wi-Fi чайником через интернет не управлявшим. С разморозкой, сейчас вся жизнь завязана на интернет, бизнес.  авиаперелеты, логистика, корпоративные сервисы - проще перечислить что не завязано. И тут Раст показал себя во всей красе. Подождем еще оценок убытков за эти несколько часов простоя бизнесов на всей планете. "чуток посидеть без инета"
     
     
  • 5.363, Cykooz (ok), 20:34, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Отсутствие интернета - это штатное свойство интернета. Если ваша инфраструктура, жизнь и доходы всецело зависят от наличия стабильного интернета, то это только ваша вина и ответственность. Никто не будет вам обещать "не единого разрыва".

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

    Если выбирать из этих двух неприятностей, то Клаудфлара "сделала" правильный выбор.

     
     
  • 6.380, Аноним (367), 21:45, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Отсутствие интернета - это штатное свойство интернета

    ого. А отсутствие мозгов это штатное свойство мозгов?

    > то это только ваша вина и ответственность

    платишь деньги, а получаешь вину и ответственность…

    > Никто не будет вам обещать "не единого разрыва".

    ну таки в sla у cf гордые 100%

    > Клаудфлара "сделала" правильный выбор.

    тут должен быть мем с рукопожатием из "Офиса"

     
  • 6.384, Аноним (371), 22:10, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Если ваша инфраструктура, жизнь и доходы всецело зависят от наличия стабильного интернета, то это только ваша вина и ответственность. Никто не будет вам обещать "не единого разрыва".

    Это не разрыв.

    Простая функция - билеты на поезда. Ты приходишь - интернета нет. Билета, считай нет. Что делать?

     
     
  • 7.387, пох.. (?), 22:30, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Простая функция - билеты на поезда. Ты приходишь - интернета нет. Билета,

    на самолет. Поезда (в одной отдельно взятой) еще в принципе можно запустить без интернетов, только на изолированной внутренней сети.
    (любители электронных билетов - ну, не уедут в этот раз)

    С самолетами практически с _самого_начала_ пассажирской авиации - именно так. Сдохла сеть? Все, приземлились, кто куда смог, и ничего не может взлететь. Убытки измеряются миллиардами, деваться совершенно некуда. Даже если билеты по всем правилам иата оформлять на бумазецьках с копироцькой.


     
  • 5.397, Аноним (393), 23:28, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И чуваки которые всё это завязывали должны были слышать про всякие SLA Сомневаю... большой текст свёрнут, показать
     
     
  • 6.410, Витюшка (?), 00:00, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я думаю у них SLA 99.999%.99.9% я сделаю на, прости Господи, локалхосте в виде mini PC или планшета. Хороший ИБП (на 24 часа) и зеркальный RAID и уже можно будет замахнуться на 99.99 %.
     
     
  • 7.413, Аноним (-), 00:10, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я думаю у них SLA 99.999%

    Очень сомневаюсь.
    Т.е такое стоит денег, а не все клиенты готовы платить.
    Поэтому можно сделать и б0мж версию для босоты.

    И да, я оказался прав, для бесплатного и Pro никаких SLA нет (но 20 баксов - это 20 баксов).
    Для Бузинеса уже "100% uptime service level agreement"*
    Правда в случае факапа, мы вам просто сделаем скидку на следущий период.

    * 6.1 For any and each Outage Period during a monthly billing period the Company will provide as a Service Credit an amount calculated as follows: Service Credit = (Outage Period minutes * Affected Customer Ratio) ÷ Scheduled Availability minutes

     
  • 4.356, Аноним (381), 20:02, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В Австралии человек умер... не смог дозвониться до экстренных служб из-за невозможности получить обновление ПО. Жизнь без интернета сейчас опасна для здоровья.
     

  • 1.116, Аноним (116), 10:30, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Такое бывает когда кодишь на яп, а он постоянно меняется на минорных версиях.
     
     
  • 2.307, Аноним (303), 16:35, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Лишь бы какую глупость ляпнуть невпопад.
     
     
  • 3.361, Аноним (364), 20:29, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так не ляпай.
     
  • 2.345, freecoder (ok), 19:24, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Unwrap существует давно и стабилен.
     
     
  • 3.493, Аноним (489), 20:53, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    то, что раст стабильно падает, уже не новость.
     

  • 1.135, Аноним2 (?), 10:51, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Тут проблема не в расте и т.д. ибо ошибки случаются всегда и везде. Нужно смотреть шире — проблема в монополии, когда все подвязано на один сервис.
     
     
  • 2.143, 12yoexpert (ok), 10:59, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    раст агрессивно пропиxивают монополии в попытке завязать всё на себя же, если ты не заметил
     
     
  • 3.150, Аноним2 (?), 11:09, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А во главе этих монополий рептилоиды с Нибиру?
     
     
  • 4.360, Аноним (364), 20:29, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, NSA - главное агентство по интернет-слежке в США. https://www.nsa.gov/Press-Room/Press-Releases-Statements/Press-Release-View/Ar
     
  • 2.260, Аноним (364), 14:45, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "Тут проблема не в Си, ибо ошибки случаются всегда и везде."
     
  • 2.415, Аноним (415), 00:13, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кто-то заставляет пользоваться этим одним сервисом? Кто-то мешает создавать альтернативные?
     
     
  • 3.494, Аноним (489), 20:57, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    да. Обязательные зависимости и монополия трансканалов. Ты не можешь вот взять и прокинуть свой канал через океан.
     

  • 1.146, bOOster (ok), 11:05, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    И когда это я говорил - закончатся тупенькие проблемы с памятью - начнутся серьезные проблемы с логикой софта. И будет таких проблем все больше и больше. Расто-маны будут патчить ошибки меняя несуществующий стандарт, и "хождение по мукам" будет продолжаться вечно
     
     
  • 2.158, Аноним (128), 11:14, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Каждый раз, когда сишечник закрывает очередное CVE, в коде появляется минимум еще два переполнения буфера...
     
     
  • 3.163, Аноним (163), 11:18, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и что? Полинтернета из-за этого не падает.
     
  • 3.261, Аноним (364), 14:49, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Каждый раз, когда сишечник закрывает очередное CVE, на опеннете появляется двадцать новых комментариев про раст. Внимание, вопрос: что приносит большую пользу?
     
  • 2.214, Аноним (214), 12:22, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Логика какое отношение имеет к ЯП? Эти проблемы от отсутствия опыта, а не из-за ЯП.
     
     
  • 3.264, Аноним (364), 14:52, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Верно, а значит переписывать на другом языке нет смысла.
     
  • 3.374, Аноним (370), 21:32, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Эти проблемы от отсутствия опыта, а не из-за ЯП.

    У Клауфлары нет денег на опытных?

     
     
  • 4.411, Витюшка (?), 00:03, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так кто решение принимает чтобы платить больше и искать опытных? Это вопрос не в деньгах.
     
  • 2.271, Аноним (-), 15:07, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > закончатся тyпенькие проблемы с памятью

    Так это же отлично что вы признаете, что раст позволит избавиться от тyпеньких проблем с памятью, от которых некоторые тyпенькие не может избавиться уже почти полвека)))

    > начнутся серьезные проблемы с логикой софта.

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

     
     
  • 3.296, bOOster (ok), 16:20, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> закончатся тyпенькие проблемы с памятью
    > Так это же отлично что вы признаете, что раст позволит избавиться от
    > тyпеньких проблем с памятью, от которых некоторые тyпенькие не может избавиться
    > уже почти полвека)))

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

     
     
  • 4.389, Аноним (370), 22:35, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    TL;DR: понижение порога входа
     
  • 3.352, Аноним (348), 19:35, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Так это же отлично что вы признаете, что раст позволит избавиться от
    > тyпеньких проблем с памятью, от которых некоторые тyпенькие не может избавиться
    > уже почти полвека)))

    ...заменив их другими тупыми проблемами, с памятью и паниками? И сломав половину интернета? Ох, вау, вот это апгрейд... :)

     

  • 1.159, Аноним (159), 11:15, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Что у них не отнять это умение признавать ошибки и объяснять их. Понятно что маркетинговая политика, но она реально оптимальная с точки зрения репутационных рисков. Не многие компании позволяют себе такой подход. Где бы почитать как обсирается например рнк.
     
     
  • 2.173, Аноним (192), 11:27, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    а ты попробуй не признать и не объяснить, почему пол интернета лежало. Тебя же конкуренты смешают с чем угодно после такого
     
     
  • 3.212, Аноним (214), 12:20, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что у них есть конкуренты?
     

  • 1.171, Аноним (164), 11:26, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    1. Находим в гитхабе проект ClickHouse
    2. Видим на главной странице комит с именем Initial support for e2k (Elbrus-2000)
    3. Угораем
     
     
  • 2.213, Аноним (214), 12:21, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Мне лень. Перескажи.
     
  • 2.227, Аноним (227), 13:22, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    в чем юмор?
     
     
  • 3.250, Аноним (164), 14:25, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    подозрение Cloudflare наш слоняра - работает на Elbrus2000
     
     
  • 4.459, Дед ИИ (?), 09:25, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ващето КликХаус разработка Яндекса, а его использует КлаудФлэйр
     

  • 1.196, Аноним (381), 11:45, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Что вы все волнуетесь? Подумаешь, авиадиспетчеры ослепли от падения сети... Зато софт у прова безопасно упал, не выдав данных.
     
  • 1.199, Аноним (415), 11:51, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Классика интеграции через базу данных. Энтерпрайз невер ченджес.
     
  • 1.206, Аноним (13), 12:09, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Напомню как в Cloudflare было раньше
    https://www.opennet.dev/46100 - ошибка привела к утечке неинициализированных отрывков оперативной памяти прокси-серверов.  Утечка привела к появлению в открытом доступе такой информации, как пароли, токены OAut, сессионные cookie, закрытые сообщения, ключи для доступа к API и другие конфиденциальные данные.
     
     
  • 2.217, Аноним (192), 12:27, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    еще не вечер
    а уже сегодня мы видим, что "снижение вероятности совершения ошибок, связанных с работой с памятью" не добавило им возможностей правильно обработать слишком большой файл
     
     
  • 3.266, Аноним (-), 14:55, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > не добавило им возможностей правильно обработать слишком большой файл

    Они его обработали не правильно, но при этом не слили в инет тонны приватных данных пользователей.
    Видишь - уже прогресс!

     
     
  • 4.284, Аноним (192), 15:39, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    вижу, что еще не вечер :)
    вот вдруг они сейчас кинутся избавляться от unwrap и как заживут…
     
     
  • 5.331, Аноним (311), 17:55, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >кинутся избавляться от unwrap и как заживут…

    "черт его его знает, что там понастроено в меняющемся языке" - вот слова программиста Rust, на предложение отказаться от unwrap().

     
  • 3.365, Cykooz (ok), 21:07, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Почему не правильно А что должна была сделать программа, если в конфигурации ... большой текст свёрнут, показать
     
     
  • 4.426, Аноним (-), 00:42, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А что должна была сделать программа

    Вроде на русском написано, что она должна была сделать: продолжить использовать прошлую версию (уже загруженную в память) и проинформировать систему мониторинга
    В cf считают, что должно было быть так, зачем переходить на "мы не знаем, как оно там работает"?

     
     
  • 5.488, Cykooz (ok), 20:28, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Вроде на русском написано, что она должна была сделать: продолжить использовать прошлую
    > версию.

    Сама клаудфлара не писала такого (тем более по русски). Это кто-то в коментах предложил эту идею.

    В их статье много раз упоминается configuration file и его deploy. Что и наводит на идею того как всё работает. Какая-то система выгребает данные из КликХауса, создаёт на их основе файл-конфигурации и деплоит его на все сервера с бот-фильтром. После чего, как я полагаю, перезапускаются процессы фильтра. В таком случае ни какого старого конфига уже нет ни в памяти, ни даже, скорее всего, на диске сервера.

    Только когда они разобрались в причинах, они сформировали старую версию конфига, раздеплоили его и перезапустили всё.

     
  • 2.223, Аноним (223), 13:13, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очень нелепое перекрытие уровня "А вот у соседа еще хуже"
     
  • 2.226, Аноним (226), 13:18, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да только пароли не понятно от чего это даже не взлом. И сервис оставался работать.  
     
     
  • 3.495, Аноним (489), 21:02, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    кстати, тогда никого не хакнули. А утекли что-то типа «assword».
     
  • 2.320, Аноним (364), 17:25, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    https://www.opennet.dev/46100
    Вот уж напомнил как напомнил. Новость аж из 2017 года, тогда еще мамонты водились. Восемь лет переписывали на Раст, кое-как переписали с ошибками да так что опозорились на всю планету. И скорее всего не в последний раз.
     
  • 2.332, Аноним (311), 17:59, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как же могут быть данные в неинициализированной памяти? Наверно она уже была инициализирована, но не очищена перед освобождением?
     

  • 1.207, penetrator (?), 12:09, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Сколько воды налили... и даже написали не-не, нас не взломали ))

    Я попробую обобщить где они обгадились. Эти покемоны, решили, что надо выгружать данные используя имя столбца в таблице. Зная имя столбца его можно записать как заголовок в выходном файле, а также выбрать все доступные значения, соответственно в файле оказалось два одинаковых заголовка на каждый столбец, и по набору данных на каждый заголовок (2 на столбец).

    Запрос из статьи выбирает не данные фильтров, а метаданные!
    И так вышло, что если есть две БД с одной и той же таблицей 'http_requests_features':

    default.http_requests_features - distributed обвертка
    r0.http_requests_features - реальная таблица на шарде

    то они обе есть в метаданных, удивительно да? не может быть ))

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

    P.S. Формат файла не специфицирован, но размер мы ограничим, и руководствовались не наличием ресурсов явно от фонаря... сказочная секта.

     
     
  • 2.255, кукпоп (?), 14:39, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Может этот код пишет нейросеть?
     

  • 1.230, Аноним (227), 13:26, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Обычно unwrap() применяется в процессе отладки или при написании тестового кода и не рекомендован для использования в рабочих проектах.

    а после отладки код переписывать надо, да?

     
     
  • 2.239, Аноним (226), 13:51, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Нет боров чекер же под пропустил значит безопасно.
     
  • 2.350, freecoder (ok), 19:32, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если нужно грохнуть программу в определённом месте когда возникла ошибка (например потому, что такую ошибку в принципе программа не способна обработать корректно), то используется вызов .expect - это тот же самый .unwrap, только с пользовательским сообщением, которое должно пояснять, почему в данном месте допустилась паника. Поэтому в нормальном коде в местах ожидаемой паники принято использовать .expect, а не .unwrap. В тестах же нет смысла заморачиваться с сообщениями, поэтому часто используют .unwrap.

    Есть ещё один случай, когда использование .unwrap оправдано в нормальном коде: это когда нужно развернуть Result и программист знает, что в этом месте точно ошибки не случится. Например в силу того, что строчкой выше он уже проверил, что в Result пришёл вариант Ok, а не Err.

     
     
  • 3.359, Аноним (364), 20:26, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну надо же какой простой, однозначный язык. Прям создан чтобы не допускать ошибок.
     
  • 3.369, Аноним (367), 21:20, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Например в силу того, что строчкой выше он уже проверил, что в Result пришёл вариант Ok, а не Err.

    и в силу того, что он зарекся переписывать этот участок кода когда-либо?

     

  • 1.235, Аноним (303), 13:37, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Есть ли в этом вина языка? Нет. Вина его библиотеки? Да. Unwrap всегда был частью плохого дизайна.

    Но то, что программисты CF не только пишут такой плохой код, но ещё и пропускают его через ревью - это показатель криворукости сотрудников.

    Остаётся пожелать им внедрения ИИ в разработку, что бы хотябы он по рукам бил и объяснял, что так делать нельзя.

     
     
  • 2.238, Аноним (226), 13:50, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это ИИ и написал. А то что боров пропустил такой код в прод как раз вина языка. Главное изменение объектов боров не пропускает, а не продовве команды пропускает. Растовая дырень.
     
     
  • 3.251, Аноним (303), 14:25, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "Боров" занимается памятью, которая тут вообще не при чём.

    Unwrap - это не "непродовая команда", это обычный API. Если ты не понимаешь, чем язык отличается от API - почитай интернет.

    К дырам этот кривой API не приводит, только к отказам сервиса.

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

     
  • 2.268, Аноним (364), 14:58, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть ли в вина Си в ошибках связанных с памятью? Или дело все же в прокладке?
     

  • 1.243, Аноним (348), 14:09, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > большая часть сети доставки контента оказалась неработоспособной
    > на протяжении более 3 часов.

    Подтверждаю. Захожу я на фороникс - а мне клаудспайварь и говорит что 500 internal error - про себя. Честно пишет что мой комп - ок, фороникс - ок, а клаудспайварь - ек! Ну хоть за честность спасибо.

     
  • 1.245, Аноним (-), 14:12, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > Ошибка была вызвана использованием в коде на
    > языке Rust метода unwrap()

    Achievement unlocked: безопасТно завалить клаудспайварь по всему глобусу. Или к вопросу о майнтенансе ревью софта на Rust.

    > и не рекомендован для использования в рабочих проектах

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

     
  • 1.270, xsignal (ok), 15:01, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Ошибка была вызвана использованием в коде на языке Rust

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

     
     
  • 2.287, Анонимусс (-), 15:46, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Уязвимости и сбои были, есть и будут,

    но именно в этом случае уязвимости не было :)
    В отличие от предыдущего обоcpaмса клаудфари.

    > и память здесь совершенно не при чём.

    Еще как причем))

     
     
  • 3.289, Аноним (364), 15:57, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если Интернет не работает, то никакие персональные данные не утекут. Б - безопасТность!
     
  • 3.316, Аноним (-), 17:11, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Уязвимости и сбои были, есть и будут,
    > но именно в этом случае уязвимости не было :)

    То-есть DoS атака по всей планете и завал клаудспайвари и всех сайтов за ней - это не атака? А что тогда? Внутренний саботаж? Надеюсь у всех причастных вычтут убытки и клаудфлари и клиентуры :))

     
  • 3.378, Аноним (381), 21:41, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Австралиец не смог набрать 000 на телефоне, потому что ПО не было обновлено.
     
     
  • 4.379, Аноним (381), 21:43, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    P.S. Спасти человека не удалось :(
     
  • 2.497, аноним2 (?), 01:14, 21/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    этот новомодный суперязык, который собирается исключительно самим собой, ещё и без доступа в интернет собрать невозможно

    получается что с версии 1.81.0
    https://github.com/rust-lang/rust/blob/1.81.0/src/tools/tidy/src/extdeps.rs#L1
    собрать полноценный rust из официального архива релиза практически невозможно.

    Да, по сути, ты правильно понял. 😅

    Начиная с Rust 1.81, процесс сборки сильно ужесточили в части управления зависимостями:

    x.py и bootstrap Cargo теперь почти всегда используют --frozen для root-сборки, чтобы гарантировать воспроизводимость.

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

    the lock file ... needs to be updated but --frozen was passed to prevent this


    При оффлайн-сборке это особенно болезненно, потому что обновить lock через cargo update без сети невозможно.

    ⚠️ Итог: собрать Rust из официального релиза без доступа к сети и без точного lock-файла, если есть локальные патчи, становится практически нереально.

    Фактически, это означает, что для воспроизводимой оффлайн-сборки:

    Нужно заранее подготовить все актуальные Cargo.lock для bootstrap, library и инструментов.

    Либо патчить x.py, чтобы убрать --frozen при оффлайн root-сборке — но это официально не поддерживается.

     

  • 1.300, Аноним (300), 16:26, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Такое ощущение, что они какой-то велосипед у себя нагородили.
     
     
  • 2.337, Аноним (364), 18:31, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Трехколесный, для безопасности, но тут его внезапно переехал грузовик...
     
     
  • 3.377, Аноним (381), 21:40, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    С квадратными колёсами для безопасности, чтобы случайно не покатился.
     

  • 1.314, Аноним (364), 17:02, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Предварительная оценка убытков мировой экономики от глобального сбоя Cloudflare 18 ноября 2025 года составила примерно от 1.6 до 3.5 миллиардов долларов США. За основу был взят прецедент - сбой у CDN-провайдера Fastly в июне 2021 года. Он длился около часа и обошелся мировой экономике в $300-600 миллионов. Cloudflare значительно более крупный игрок, чем Fastly и обслуживает гораздо больший процент интернет-трафика."
     
     
  • 2.317, Аноним (-), 17:12, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > "Предварительная оценка убытков мировой экономики от глобального сбоя Cloudflare 18 ноября
    > 2025 года составила примерно от 1.6 до 3.5 миллиардов долларов США.

    Testimonials от переписывания на Rust с его офигенной моделью обработки ошибок нехватки памяти и проч. Всего на пару гигабаксов клаудфларь и клиентов поставили? Думаю что тут даже продажа почек всем офисом - не поможет.

     
     
  • 3.329, Аноним (364), 17:50, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Их почки в безопасТности, юристы сформулировали договор очень safely: "мы не несем никакой ответственности, если что не нравится - пошли вон". Почти монопольное положение имеет свои преимущества.
     

  • 1.335, Александр (??), 18:22, 19/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    На самом деле, вот этот подход с unwrap() - это вполне разумное и правильное решение. Прямо из курса "защитное программирование" - результаты любой операции надо проверять, и по умолчанию при ошибке - немедленный останов. Чтобы потом не искать, "где же эта хрень началась".

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

    И ошибки, которые вызваны воздействием "извне" - входными данными, пакетом из сети, ошибкой доступа к файлу.

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

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

    До тех пор, пока "защита" не сработает.

    -----------------------

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

    Если данная программа такая критически важная, её надо реализовывать с использованием соответствующих техник: например - диверсификации. Т.е. пишем код в нескольких экземплярах разными разработчиками, по единому подробному ТЗ, желательно на разных языках программирования - и в процессе выполнения или сравниваем результаты - или переключаемся между ними.

    Как вариант - сложный компонент - и "аварийный" его вариант, который решает подмножество задач, зато надёжно.

    -----------------------

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

     
     
  • 2.344, Аноним (344), 19:22, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    да ладно
    ИИ всё исправит и быстро ;-)
     
     
  • 3.353, Аноним (381), 19:46, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > ИИ всё исправит ...

    ...ой, сетка упала... не исправит.

     
     
  • 4.358, Аноним (364), 20:21, 19/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Без ChatGPT сеньеры не могли починить Cloudflare, а без Cloudflare не работал ChatGPT. Хорошо еще были живы деды, за ними послали самолет.
     
     
  • 5.454, Кошкажена (?), 09:16, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Без ChatGPT сеньеры не могли починить Cloudflare, а без Cloudflare не работал ChatGPT. Хорошо еще были живы деды, за ними послали самолет.

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

     
  • 2.453, Кошкажена (?), 09:14, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > На самом деле, вот этот подход с unwrap() - это вполне разумное и правильное решение. Прямо из курса "защитное программирование" - результаты любой операции надо проверять, и по умолчанию при ошибке - немедленный останов. Чтобы потом не искать, "где же эта хрень началась".

    defensive programming более широкое понятние. unwrap() - это аналог просто складываться при исключениях в других яп. Но исключений нет, а каждую ошибку запаришься обрабатывать, да и что будешь делать? Просто в лог напишешь и выйдешь в 95% случаев. Поэтому все и пишут этот глупый unwrap везде, а чем больше пишешь однообразный код, тем больше вероятность ошибиться, что мы и видим.

     
     
  • 3.476, Медведь (ok), 13:51, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Совершенно согласен, видимо, ржавика так запарила необходимость явно обработать каждый Result, что он пихал свой unwrap на автомате куда попало. Тот же эффект имеет место от контролируемых исключений в java: под какой ковер их только не заметают, лишь бы избавиться от необходимости явной обработки.
     

  • 1.446, Аноним (446), 04:50, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Так сишники, у меня к вам вопрос: разыменноывание нулевого указателя - это UB. Код с разыменновыванием нулевого указателя в си компилируется вообще без каких либо намёков, что что-то не так. Зачем вам это нужно? Почему синтаксически некорректный код не компилируется, а с разыменновыванием - компилируется?

    Почему при работе с массивами возможно выйти за границу массива и попортить данные?

    Зачем вам нужны негигиенические макросы?

     
     
  • 2.450, Кошкажена (?), 09:09, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Зачем вам нужны негигиенические макросы?

    Как бы без гигиены они сильно проще. Просто сравни первоисточники: макросы и CommonLisp и Scheme и посмотри, где проще.

    Но в Си макросы даже не про гигиену - это просто текстовая замена.

    Пока кажется, что более верное направление - это compile time programming как в zig или современном с++.

     
     
  • 3.487, Аноним (487), 18:14, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Как бы без гигиены они сильно проще.

    Проще в чём, в отстреле ноги?
    >это compile time programming как в zig

    Нестабильно
    >или современном с++

    Как это отражается на скорости компиляции?

     
  • 2.477, Медведь (ok), 14:01, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем вам нужны негигиенические макросы?

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

     

  • 1.449, Cucumber (?), 09:07, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Обычно unwrap() применяется в процессе отладки или при написании тестового кода и не рекомендован для использования в рабочих проектах.

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

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

    Так же паники используют для неописываемых типами языка контрактов. Например, максимальная длина вектора признаков для нейросети - 100 штук, что делать при превышении - не ясно, и такой ситуации просто не должно возникнуть. Тогда в док-комментарии пишем "will panic if len > 100", чтобы вызывающий сам позаботился о гарантиях.

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

     
     
  • 2.451, Кошкажена (?), 09:10, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Unwrap в большинстве случаев применяется там, где программист знает, что ошибки не случится, но не может доказать это компилятору.

    То есть, почти нигде?

     
     
  • 3.455, Аноним (455), 09:19, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    везде, достаточно доказывать компилятору. а то что при этом все вальнется, надо сказать менеджерам, что в сишке не сразу все вальнется, а потихоньку все пароли утекут. надеюсь этих растов не пустят в критические сферы чреватые техногенными катастрофами.
     
     
  • 4.456, Кошкажена (?), 09:20, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > везде, достаточно доказывать компилятору. а то что при этом все вальнется, надо
    > сказать менеджерам, что в сишке не сразу все вальнется, а потихоньку
    > все пароли утекут. надеюсь этих растов не пустят в критические сферы
    > чреватые техногенными катастрофами.

    Везде используют unwrap = нигде не могут доказать компилятору отсутсвите ошибки, а он слишком туп.

     
     
  • 5.469, Аноним (469), 10:51, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    да чел не знает про отсутствие памяти
    везде unrap фигачит
    че тут дальше обсуждать
     
  • 3.460, Cucumber (?), 09:37, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    То есть почти везде.
     
  • 3.482, Аноним (487), 16:40, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >То есть, почти нигде?

    Почти везде. В расте нет зависимых типов и с доказательствами всё крайне туго. Хуже только в си/крестах.

     
  • 2.467, Аноним (469), 10:49, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    о создал непустой массив =)
    уже может быть ошибка
    даже malloc может не сработать
     
  • 2.481, Аноним (487), 16:39, 20/11/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.483, Вася (??), 17:05, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю как в расте, а в скале и других функциональных языках есть NonEmpty коллекции, никаких небезопасных методов там использовать не нужно.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру