← All posts tagged fail

Bogolt

Нужно было парсить несколько аргументов разделенных пробелами, но с учетом закаывывивания слов, ну чтобы можно было написать song="all you need is love" rate=5. Руками писать ленился, пошел в гугл. Нашел внезапно либу для чего-то похожего, и уже почти всобачил ее в код, когда решил сперва почитать внимательнее описание и примеры использования. Внезапно оказалось что она позволяет выполнять команды если передать ей song=`echo "test"` — не стал использовать либу. Однако до сих пор под впечатлением на тему как легко добавить уязвимость в код.

Bogolt

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

Bogolt

В qt5 для линукса присутствует совершенно замечательный баг — иконка приложения в системном трее находится не правом углу ( где они все торчат в юнити ) а в левом. Заметил это совершенно случайно, затем увидел что Viber для десктопа тоже показывает иконку не там где нужно. Багу больше года. bugreports.qt-project.org

Bogolt

Делал новый биометрический загран. Все красиво, сфоткался, сняли отпечатки пальцев, выхожу на финишную прямую, осталось подписаться и сдать бумаги. Дали распечатку проверить все ли верно — а там на распечатке некий Ион ( по нашему Иван ), росту 180, с голубыми глазами из совсем другого города. Зато снабженный моей фотографией, и отпечатками.
Не знаю пробрал ли сотрудниц паспортного стола холодный пот когда я сказал что это не мои данные, но бегали и откатывали правки они со смехом, едва не переходящим в истерику. Оказалось мне изначально дали чужое направление, и я проходил все инстанции по нему.
ps. Закончилось хорошо, все быстро сделали по второму кругу. Теперь все имена фамилии и даже мою фотографию с паспорта скрупулзно проверяла каждая сотрудница =)

Bogolt

Я гений. Я перепутал erase и substr ( нет, я знаю как это было возможно ). В результате вместо того чтобы удалить уже отправленные по сети байты, прога сохраняла себе их в буфер заново. В результате данные портились, клиенты висли, ну короче все было плохо. Что было хуже всего — это случалось ну очень редко. Так редко, что тестеры за пару дней работы программы не словили ни одного результата. В таком виде программа работала несколько лет ( и что забавно работала правильно ) ибо в ту ветку кода выполнение никогда не приходило. Отчего же оно туда не приходило? Дело в том, что обычно происходило так: из файла считывался кусок, и сразу же отправлялся в сеть целиком. Однако же в редких случаях из файла могло считаться более одного куска, до того как кто-то из них уйдет в сеть, и вот тогда происходил бада-бум! Трудноуловимый баг, ибо все зависело от скорости работы с диском, общей загруженности диска, ну и того как ОС работала с асинхронными сетевыми вызовами.

Bogolt

Очень сильно нелюблю когда программы не тестируют используя разные стили операционной системы. Вот так выглядит панель файлов в MSVC если фон по умолчанию вместо белого — серый. Видно что вместо прозрачности использован белый цвет ( лашары ): dl.dropbox.com