Shit on you, shit on her, shit on me in the end
[Most Recent Entries]
[Calendar View]
[Friends View]
Wednesday, November 29th, 2006
Time |
Event |
1:57p |
обедал с Лёней. как и можно было ожидать, всё прошло не так, как предвкушалось. никакого "интересного разговора о методологиях" не получилось, да и не могло получиться -- это как обсуждать теологию с Иисусом Христом. ему просто было неинтересно. к тому же, во мне светился поклонник, а это скучно. а Лёня где-то в совсем ином мире и мне легкомысленно хочется туда, в его мир. как всё легко предсказуемо. неожиданностей случается всё меньше. иногда я даже думаю, что понимаю жизнь, "вижу картину целиком"™
перебираемся на новую квартиру, страшно устал, плохо соображаю
а тем временем я заинтересовался eXtremе Programming
--------- а ещё он сказал: будет совсем плохо - звони | 4:05p |
то место, где раньше была совесть выносил мусор: диск Лизы Джеррард "Duality" и пакетик с кошачьими какашками | 6:23p |
sizeof-alloc баг в одном месте выделяется несколько блоков памяти, они используются совместно и потом освобождаются один за другим. malloc дорогой, и очевидная оптимизация -- это объединить несколько аллокаций в одну, раздать поинтерам по кусочку и в конце освободить всю память за один раз
сказано-сделано. падает на аллокации, где-то совсем в другом месте. если убрать объединённый free() -- работает. Расследование показало, что хип портится где-то в одном из тасков, т.е. возможно я передаю таску такие указатели (те самые, см. выше), что он пишет по ним и портит хип. посмотрел на указатели и на границы аллоцированной памяти (с этой тривиальной вещи следовало бы и начинать) и увидел, что некоторые указатели вылетают. ага. посмотрел, как считаются адреса: i32 *ptr = ...; size_t ElementSize = sizeof(Element); // это в байтах ptr += numElements * ElementSize; // ptr -- в вордах естесственно, ptr улетает за границы выделенной памяти.
-----
этим полукреслом мастер Гамбс открывает новую партию свою собственную маленькую Багзиллу |
|