Как стать автором
Обновить

Комментарии 6

На Github есть один баг

Звучит так как буд-то это баг самого GitHub-а, но в действительности это тикет в проекте dotnet/runtime, но в статье ни слова нет ни про .Net, C# или Microsoft.

У нас на пароходе был случай - идём по профилю, за кормой сейсмокоса 8 км. Судно ни с того ни сего берёт круто право, штурман среагировал перешёл на ручное, но градусов 30 уже успели отвернуть. Начинаем разбираться - не поступают данные от гирокомпаса, и это не тяп-ляп, а survey-grade Robertson. Перезапустили, развернулись, продолжили работу. Позже выяснилось из техподдержки, что у него таймер проходит через 0 примерно раз в 4 года. Разработчикам в голову не приходило, что этот срок можно превысить. Но сам факт, что гирокомпас не обесточивался всё это время, достоин уважения.

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

Чат гпт, залогинься

Самый сложный баг, который мне приходилось чинить, был вызван неправильным закрытием транзакции. Код как бы отсылал "end;" на сервер постгреса, но не дожидался ответа, и из-за некоторой специфики драйвера следующие операторы произвольно попадали внутрь той же транзакции.

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

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

Я пока этот баг искал успел прочитать код драйверав в поисках ошибки

Зарегистрируйтесь на Хабре, чтобы оставить комментарий