(no subject)
Jun. 29th, 2004 02:14 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
программерам это будет скучно, всем остальным - непонятно.
Однажды я ударю эту тетку. Даром, что она в полтора раза крупнее меня. А когда придет работающий через две комнаты ее муж, расскажу эту историю, и он одобрит...
Вылез баг, его замечали давно, но вдруг нашлась стабильная конфигурация, где он воспроизводится... Поиски привели в некий блок нашей бибилиотеки. malloc, потом инициализация некоторых параметров. Без обнуления.
- Ора, как насчет остальных?
- А че остальных, че с ними, они ж не используются, так я их и не трогаю. Да ладно, там в начале процедуры стоит memset, обнуляющий все содержимое.
- А мусор откуда берется?
- Может, cам запихиваешь... Ну ладно, стоит, только закомментирован. Ты его раскомментируй и посмотри, наверное, это решит проблемы...
Я сразу засомневался... С каких это дел она вырубила инициализацию? Разумеется, программа вылетает по access violation без шансов увидеть стек. А шо ж там за memset? Ну конечно, размер блока указан константой.
Дура, если структуру обнуляешь, надо sizeof использовать, тогда и код переносимый, и на сто лишних байт не влезешь, адрес выхода не сотрешь...
Отличница учебы в беер-шевском универе, три года пишет код, и отвратительно пишет. Но ведь как-то же работает наше железо... Загадка природы.
Однажды я ударю эту тетку. Даром, что она в полтора раза крупнее меня. А когда придет работающий через две комнаты ее муж, расскажу эту историю, и он одобрит...
Вылез баг, его замечали давно, но вдруг нашлась стабильная конфигурация, где он воспроизводится... Поиски привели в некий блок нашей бибилиотеки. malloc, потом инициализация некоторых параметров. Без обнуления.
- Ора, как насчет остальных?
- А че остальных, че с ними, они ж не используются, так я их и не трогаю. Да ладно, там в начале процедуры стоит memset, обнуляющий все содержимое.
- А мусор откуда берется?
- Может, cам запихиваешь... Ну ладно, стоит, только закомментирован. Ты его раскомментируй и посмотри, наверное, это решит проблемы...
Я сразу засомневался... С каких это дел она вырубила инициализацию? Разумеется, программа вылетает по access violation без шансов увидеть стек. А шо ж там за memset? Ну конечно, размер блока указан константой.
Дура, если структуру обнуляешь, надо sizeof использовать, тогда и код переносимый, и на сто лишних байт не влезешь, адрес выхода не сотрешь...
Отличница учебы в беер-шевском универе, три года пишет код, и отвратительно пишет. Но ведь как-то же работает наше железо... Загадка природы.