beldmit: (Программизм)
[personal profile] beldmit
Пофиксил сегодня баг, о котором писал здесь.

Ошибка оказалась не в асемблере, как я думал, а в формировании байтиков. При пересчёте длины новая длина писалась немного не туда, но в большинстве случаев это прокатывало. В норме эта ошибка дала бы классический эффект записи вне выделенного буфера и привела бы к падению программы куда раньше, и valgrind бы об этом рассказал — но тут нужный буфер из соображений упаковки структуры был размером в 16 байт, а использовали первые 13. Запись в 14-й, соответственно, никого не смущала.

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

Давно так не был доволен.

Date: 2021-06-14 06:14 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

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

Date: 2021-06-14 08:15 pm (UTC)
gegmopo4: (Default)
From: [personal profile] gegmopo4
Поздравляю!

Date: 2021-06-16 10:25 am (UTC)
alexartukov: (Default)
From: [personal profile] alexartukov
Непрерывного?! :)) Еда, сон, туалет?!! :))

Profile

beldmit: (Default)
Dmitry Belyavskiy

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122 2324252627
28 29 3031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 7th, 2026 04:52 pm
Powered by Dreamwidth Studios