Колесо -- это был ЗНАК
(пословицы и поговорки нашего времени).Сейчас мы в поезде, подъезжаем к Ванникала, к месту, где заканчивается интернет, и я совсем не успеваю рассказать, как мы обходили мертвую очередь в сервис Norwegian через зазеркалье, как обменивали билеты, покупали вновь поезд (руки отрывать за Adobe Flash!), вытаскивали чемодан из
(
Read more... )
"Вайниккала - место, где заканчивается интернет"
Reply
Reply
Что подтверждает круглость Земли.
Так что теперь тебя ничто не останавливает от более подробного опуса на память. Кроме лени, конечно.
Reply
А опус я написал ещё раньше, чем синопсис. Только стёр. Он скучный был :)
Reply
Поиск баги в Ши занял примерно 10 минут. Столько же - лечение.
В исходном коде была функция, аллоцирущая буфер для исходящего IP пакета. В качестве параметра она брала enum типа буфера (UDP/TCP/всяко разно их внутреннее). Я заменил функцию на свою, вызывающую LwIP аллокацию, а параметр изменил на размер буфера.
Но в исходном коде было место, которое никогда не тестировалось, и в которое я вообще не смотрел (там много легаси кусков, куда управление не попадает никогда). И там параметр остался неизменным. И этот код-таки был вызван при работе в реальной сети.
В результате выделялся буфер размером 17 байт (значение из enum), туда запихивался пакет в 30 байт, пакет отправлялся битым (контент правильный, но в поле длины стоит 17 вместо 30), а программа через непродолжительное время уходила в ресет из-за перетёртой памяти.
Reply
Reply
Leave a comment