swizard (swizard) wrote,
swizard
swizard

Categories:
  • Location:
  • Music:

The real wtf & the daily wtf

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

И, в качестве бонуса, авторский перевод свежего thedailywtf.com:

19 января 2038-го года - эта дата имеет дурную славу. В этот злополучный день 32-х битное значение, в котором хранится количество секунд с начала Эпохи (01.01.1970) переполнится, вызывая такие чудовищные катастрофы и разрушения, которых не видел свет со времен бага Y2K. Так же, как и в двухтысячном, програмное обеспечение выйдет из строя, железо взорвется, приборы взбунтуются и нападут на своих владельцев, а атомные ракеты разом взлетят и уничтожат планету...

И вот, в один прекрасный день некому Касперу Квану (Casper Kvan) судьба напомнила о нависшей над всеми нами угрозе. У него накрылась система. Конкретно, у него просто взяла и остановилась база данных. Недолго думая, Каспер ее ребутнул. База встала и рухнула опять. Опять рестарт, она опять встает и падает. Встает и падает, встает и падает... Просмотр логов выявил проблему: один из загрузочных скриптов системы выглядел вот так:

start oracle
sleep 1000000000
stop oracle


Предельно ясно, почему скрипт падает. Командe sleep скармливают аргумент намного больше (109), чем она может захавать (231), поэтому она переполняется и завершается. Ну и база, соответственно кладется следующей командой тоже. Никто, включая поставщика, не смог объяснить зачем этот скрипт пытается уснуть на 30 с хуем лет, а затем выключить базу, но фикс был предельно прост: поставщик просто воткнул нуль в инструкцию sleep.
Tags: code, lol
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 8 comments