SetupStrongDC-sqlite-x64-r9957.exe
SetupStrongDC-sqlite-x86-r9957.exe
* Обновлено стартовое лого (с) Activator
* [merge] Исправлено падения в MerkleTree::MerkleTree (http://code.google.com/p/flylinkdc/issues/detail?id=751)
* [merge] Перенес функцию флая отсылки мини-дампов на сервер разработки для анализа падений (часть 1)
* Исправлено падение под wine в KeyboardProc (WinUtil::tabCtrl бывает пустой)
* Обновлены библиотеки
- wtl
- miniupnp
- SQLite
- mediainfo
- zlib
* Обновление базы данных провайдеров
Сборка на базе 20120506-r1168, создана 06.05.2012 01:07 +0600
Итого в базе:
- Провайдеров - 1369
- Провайдерских лого - 1388
- Диапазонов адресов - 5665
Archive CustomLocations.rar created by LazyBadger
strongdc-243-sqlite-debug-info-r9957-2012.05.13-06.42.38.7z
strongdc-243-sqlite-x64-r9957-2012.05.13-06.42.21.7z
strongdc-243-sqlite-x86-r9957-2012.05.13-06.36.39.7z
strongdc-243-sqlite-src-r9957-2012.05.13-06.35.54.7z
Подписаться на:
Комментарии к сообщению (Atom)
24 комментария:
lol, мозг совсем не включают ))
это я про мадоку и r9943.
страусиное решение - если что-то пошло не так, как планировалось - давайте это просто заигнорим, лишь бы не упало ))
в результате весь флай покрыт костылями типа
if (somePtr == NULL) return;
// БЛЯДЬ, КАКОГО ХУЯ? ТУТ null БЫТЬ НИКАК НЕ МОЖЕТ ПО ЛОГИКЕ КОДА
а если случайно будет не null, а другой мусор, 0xDEADBEEF например?
что в результате? креши превращаются в глюки: то не работает, сё не работает, зато не падает. дампа нет? -свободен
фух, ладно.
если посмотреть на исправление чуть со стороны, сразу видно несовпадение длины пришедшего буфера и ожидаемой длины. блять, ну можно же просто длину скорректировать перед for:
n=min(n, p_BlockSize/Hasher::BYTES);
нет, 8 строк гавнокода, проверяющего перед каждым чтением из указателя, что указатель валидный и куча строк для обвески этой говнопроверки.
кстати, грей без вопросов скачал этот файл у юзера Dolda2000. ищите ошибку ))
греем я тот файл не качал...
сейчас проверю.
взял оригинальный стронг 2.42 - он не смог это сделать.
прекратил исследования и заткнул попытку выхода за границу массива.
про оптимизацию понял - поправлю.
а откуда столько желчи?
если вы хороший программер - пришлите свои патчи - это будет корректнее, чем анонимно обосрать код в блоге.
А вот замечания к коммитам лучше писать в гуглкод.
это поможет начинающим программистам следящим за разработкой научится писать программы лучше в будущем.
хехе, я понял где ваша ошибка :P
и где?
файл неоднозначно декомпозируется на TTH-дерево (можно играться глубиной дерева и соответственно, кол-вом листьев).
если внимательно посмотреть, протокол налагает только одно ограничение: кол-во листьев не более 2^16 (в $PSR под номер листа отведено 2 байта)
когда к вам приходит дерево, вместо того, чтобы жрать что дают, вы пытаетесь переделать дерево, как вам удобно (в частности, вычислить кол-во уровней) по своей прихоти
то есть, если какой-то линксойд забацает реализацию хешера, не подглядывая в исходники Strong, то вы с него качать не сможете
в данном конкретном случае, немного изменились алгоритмы где-то между Strong 2.04 и 2.41
возьмите старый Strong (а лучше классику - PWDC 0.41) и увидите разницу между генерируемыми деревьями на некоторых файлах
У Dolda2000 клиент такой:
<++ V:0.674,M:A,H:6/0/0,S:6>
можете скинуть скрин где этот файл успешно скачан с него в грее?
Pavel, в гулкод не пишу потому что там анонимно нельзя
параноя, куки, шапочка из фольги... сами понимаете
кстати, предложенное мной решение тоже не оптимально и даже содержит опечатку ;-[ (не подумайте, что нарочно)
лучше будет
if (p_DataSize < n*Hasher::BYTES) return; // один фиг дерево уже битое, пытаться здесь что-то исправить бесполезно
попробую залить на народ...
так-к, на народ оказывается теперь пускают только по паспорту (нужен яндекс-паспорт). пришлось заливать на другой, анонимный но медленный обменник. поэтому так долго...
http://dump.ru/file/5727026
идея расшарить в PWDC не проканала - флай качает с него. тем не менее, грей качает и того юзера, файл не битый, TTH совпадает. не знаю даже, что ещё можно посоветовать
>> а откуда столько желчи?
ребята, так код писать нельзя. в серьёзной компании уволили бы сразу. дебажьте, а не подавляейте баги, лишь бы наружу не лезли
тот же конструктор MerkleTree - вызывающий код обязан узнать, что дерево некорректно, и принять соотв меры, а не ждать несовпадения TTH, когда уже место в очереди получено и полфайла скачалось
хорошего могу сказать, что интерфейс программы классно развивается: стиль, цвета, иконки - всё современно
>> можете скинуть скрин где этот файл успешно скачан с него в грее?
закачки и отдачи у меня по соображениям безопасности не логируются. поставил качаться заново, дождался очереди
http://postimage.org/image/n86jtpevv/
Все проблемы из-за того, что тащите куски кода со стронга, а потом найти несостыковки не можете. Уже давно пора отделиться от них и писать всё самим.
Насчет кода, в некоторых местах он ужасен, явно сделан на скорую руку. К примеру в хорошем приложении интерфейс не должен зависать ни при каких обстоятельствах. В флае как минимум 3 места, на которых он подвисает.
Знаю, что код флая не идеален.
после работы трачу 1-2 часа на анализ присланных дампов падения.
с помощью коллектора минидампов удалось локализовать места частых крэшей.
бета-10 прислала 25 дампов за сутки
бета-26 всего 12 (хотя может это от флая отказалось много народу :)
p.s.
Покупаю патчи на эти три места подвисания флая.
пишите в личку ценник.
Может к нам в команду ?
[abc777]
про шапочку... - а, для большей эффективности советую к ней заземление подводить !
:>
Покупаю патчи на эти три места подвисания флая.
пишите в личку ценник.
- Какие барские привычки...
анон, пиши не стеснясь, хотя бы по штуке(уе) за штуку :) Тем более речь про патчи(тут сам баг обычно локализовать...). деваться им некуда - тут такие завалы, а флаетроян и вирусы распространять то надо...
NightOrion, а я предлагал вам хорошее решение, но вы не смогли перебороть свои привычки и уклад.
[abc777]
это про б.что ли ?
такое ли уж хорошее...
PS:
Идите в ж. - со своими б.
[abc777]
+
анон>>ребята, так код писать нельзя.
анон>>...дебажьте, а не подавляейте баги, лишь бы наружу не лезли
- Кто же тогда будет дампы с паролями DC [и ОС/емайт и тд], а также списками шары с скачками (и возможно, технически ничто не препятствует, списками всех файлов на винте). И не нужно думать что VirtulaBox/QEMU тут что то изменит...
Ну, вот кто будет слать ?!
печально это... когда разработчик опен-сорс проекта "покупает патчи", значит у него никакой программистской заинтересованности в проекте нет, одна лишь коммерция на уме (купил патч за столько, доход от яндекса-бара повысился на столько)
[abc777]
Mikhail, в сравнении с указанным: хрен там с "программистской заинтересованностью в проекте" - всё в жизни надоедает и "семерых детей кормить надо"(R)...
Mikhail, наоборот это шаг в правильнм направлении!
Павел, чтож у вас всё так сопливо и вяло?
На решение этой проблемы нужно потратить от силы пару часов. Вот же висит готовый бизнесплан: http://flylinkdc.com/forum/viewtopic.php?f=26&t=762
Немного пошевелить мозгами, руками, собрать и организовать вашу аморфную команду и скорость разработки флая увеличится с улиточной до суперскоростной.
[abc777]
NiRamz, со своими б. - идите в ж.
abc777, со своим маразмом, идите в ж.
какие все вежливые....
Отправить комментарий