"But only in their dreams can man be truly free. 'Twas always thus, and always thus will be."
feeefeee() msvc9test.exe!Treestalk::RTree::hierarhicalDispose(Treestalk::RTreeNode * node=0x7c840c5b, bool disposeRecords=true) Строка 435 + 0x9 байт C++ ffffffff() Это - самый ужасный стек вызовов, что я видел в жизни. Пришли из ниоткуда, выпали нигде.
Ладно, вру. Хуже было - когда он или пустой вообще или весь забит непонятно-чем. Но этот выглядит красиво
------------
Итак, бага побеждена. И нет, это не было порчей памяти или стека, все было гораздо проще. В одном из алгоритмов оказался вырожденный случай, который приводил к появлению в дереве дубликатов узлов. причем дубликаты распространялись по нему вплоть до перехода на разные уровни. поэтому рекурсивное удаление узлов и приводило к вылету. сегфолт, ребята. сегфолт.
Как нашел. Напечатал адреса всех узлов в дереве, добавил в set и list, проверил уникальность (маленький скрипт на питоне). Ее не оказалось. А дальше - все просто - реализация того же в C++ и прогон на каждом шаге цикла, который дерево и гробил. и 2 часа отладки чтобы дойти до места, где же все стало плохо. еще 2 часа, чтобы понять почему и полтора на исправление.
Интересно то, что ситуация воспроизводилась только на большом объеме данных (чтобы воспроизвелся вырожденный случай), но, более того, обязательное требование - узлы малых объемов (2-4 записи на несколько тысяч вставляемых). Таким образом, после ~1k вставок был шанс получить первый сбой. Дальше они распространялись по дереву очень быстро, т.к. лишние узлы добавляли переполненных, они практически гарантированно расщеплялись с добавлением еще лишних и т.д...
"But only in their dreams can man be truly free. 'Twas always thus, and always thus will be."
хотел вчера сделать многомного дел, в том числе написать пару постов в блог, но до приятного руки так и не дошли.
зато я: - сходил на английский. 2.5 часа сплошного fun в виде подготовки к CAE. - доделал-таки наконец свой контейнер на базе R-дерева и еще кое-чего. Мало того, это будет полноценный шаблон с использованием Policy-based Design! мой первый опыт написания шаблонов. приятный, надо сказать. Хочу разместить его, когда будет готов под лицензией GPL на том же GoogleCode. - написал черновой вариант CV, сверстал его в LaTeX и отправил на рецензию хорошему другу.
А еще приятная новость. Компания X планирует увеличить количество рабочих мест в отделении Y города Z примерно на 600человек (более, чем в два раза). А это значит, что в эту самую компанию X, в отделение Y города Z я буду подавать свое резюме, скрестив пальцы и надеясь, что попаду в эти самые 600 счастливцев. Вдобавок к попыткам поступить на PhD.
Такие дела. Если сегодня будут силы после йоги, выложу несколько фотографий СПб.
"But only in their dreams can man be truly free. 'Twas always thus, and always thus will be."
вот и нефигашечки я сегодня не сделал за вечер, зато три часа проговорил с Женькой по телефону. Эх, милая она, жаль не моя (с) хотя, может так и лучше. у меня уехали родители. с сестрой. так что сижу один дома, караулю.) уже предложил Мишке переехать ко мне на пару недель, чтобы мне не было скучно)) он согласился))) почему нельзя вот так девушке просто предложить чтобы она просто согласилась, и будь что будет... Да.. сегодня меланхолия и воспоминания. воспоминания и воспоминания. а я все еще сравниваю всех с Таней. На-до-е-ло, но ничего не поделаешь - "было хорошо..." (с) себя не узнаю. за три недели три возможности обзавестись девушкой, и все три я потихоньку спускаю на тормозах... нет искры, чтоли..
а из практического - обзавелся VISA Classic в дополнение к одной MasterCard, двум Maestro и одной Visa Electron. От двух из последних надо избавляться... связал карту с PayPal и GoogleCheckout, сразу же оплатил и задонейтил два любимых приложения из android.market.
я спать. вырубает. спокойной ночи, дорогие мои. и хорошего вам завтра.
"But only in their dreams can man be truly free. 'Twas always thus, and always thus will be."
не прозвонил будильник. проснулся в аккурат, когда должна была начаться йога. бу. удалил таск-киллер с телефона - видимо он свинью подложил. зато, сегодня дома прямо Занятие. без перевернутых, но очень и очень вштырило. Программа:
"But only in their dreams can man be truly free. 'Twas always thus, and always thus will be."
и вообще. мне идти на йогу завтра рано утром. так какого же хрена я тут сижу, а не лежу в постели?? выводы: пошел пить вечерний чай, читать Александреску на ночь и ложиться спать =) Всем отличного завтра!
"But only in their dreams can man be truly free. 'Twas always thus, and always thus will be."
блинский блин, как же сложно писать резюме. да еще и на английском. есть у кого свои? (посмотреть, передрать ) на самом деле, верстаю свое в LaTeX. Это ппц, но выглядит так, что такого фетишиста как я аж заводит=)) Как будет готово - посмотрите? Но, серьезно, если есть что-то, что вы уже использовали в этом нелегком деле и оно помогло - киньте ссылочку.. ага? :[