Page 2 of 5

Re: Падение под Windows XP (+отладочный лог)

PostPosted: Mon Sep 19, 2011 7:41 am
by DVV
Как вариант: может, вообще отказаться от использования исключений в многопоточности? Есть же стандартные объекты синхронизации, начиная с критических секций и заканчивая семафорами. А полагаться на QT - кто их знает, как они реализовали обработку исключений в многопоточности, да ещё и под разные платформы?

Re: Падение под Windows XP (+отладочный лог)

PostPosted: Tue Dec 06, 2011 8:14 pm
by Abs62
Просьба потестировать этот вариант на предмет падучести (скомпилирован с QT 4.7.4, работает с последней полной сборкой).

Re: Падение под Windows XP (+отладочный лог)

PostPosted: Thu Dec 08, 2011 8:55 am
by DVV
Abs62 wrote:Просьба потестировать этот вариант на предмет падучести (скомпилирован с QT 4.7.4, работает с последней полной сборкой).

Коротко говоря, примерно то же самое. Причём я уже даже соптимизировал процесс получения падения :) Принцип такой:
1) запускаем GoldenDict
2) набираем любое короткое слово или часть слова, например, "небо" - при этом GoldenDict формирует список слов
3) зажимаем клавишу Стрелка Вниз, чтобы быстро пробежаться по всему сформированному списку слов
4) если GoldenDict ещё не упал, набираем что-то другое - например, "го" - и переходим к пункту 3
У меня стабильный результат менее чем за минуту. (С использованием 16 словарей направления En->Ru и Ru->En).

Re: Падение под Windows XP (+отладочный лог)

PostPosted: Fri Dec 09, 2011 8:01 pm
by Abs62
DVV
Ещё один вариант на пробу. Убрал в самом нагруженном месте эксепшены, переделал на работу с возвращаемым значением.

Re: Падение под Windows XP (+отладочный лог)

PostPosted: Sat Dec 10, 2011 1:02 am
by ikm
Давайте не будем убирать эксепшены в нагруженных местах? Мы явно имеем проблему с компилятором/тулчейном - соответственно, вместо того, чтобы её маскировать (падать будет реже, но всё равно будет) - лучше будет просто воспользоваться другой версией mingw, которая не имеет таких проблем. С предыдущими версиями mingw всё работало же, правильно?

Re: Падение под Windows XP (+отладочный лог)

PostPosted: Sat Dec 10, 2011 11:36 am
by DVV
Abs62 wrote:Ещё один вариант на пробу.

Господа, похоже, всех нас можно поздравить! Пока что не наблюдал ни единого падения на двух разных компах под Windows XP в тех же суровых режимах поиска слов.
Дополнительно, на всякий случай, обращал внимание на потребляемую программой память и количество открытых дескрипторов - всё в порядке, держится примерно на одном уровне независомо от количества отображенных статей.
Пока что не проверял захват слов из других приложений. Но то, что уже сделано - это однозначный успех. При всех тех же условиях предыдущий вариант goldendict.exe падает стопроцентно - специально проверил. Так что последние изменения нужны однозначно.

Re: Падение под Windows XP (+отладочный лог)

PostPosted: Sat Dec 10, 2011 11:39 am
by DVV
ikm wrote:С предыдущими версиями mingw всё работало же, правильно?

Открыл для себя GoldenDict года полтора назад - он и тогда падал, как сейчас.

Re: Падение под Windows XP (+отладочный лог)

PostPosted: Sat Dec 10, 2011 10:46 pm
by ikm
Покопал интернеты на тему этой проблемы. Баг-репорт от 2009 года, до сих пор открыт: http://sourceforge.net/tracker/?func=detail&aid=2837096&group_id=2435&atid=102435. Обсуждения проблемы: http://mingw-users.1079350.n2.nabble.com/gcc-4-4-multi-threaded-exception-handling-amp-thread-specifier-not-working-td3440749.html, продолжение: http://mingw-users.1079350.n2.nabble.com/gcc-4-4-BUMP-Multi-threaded-exception-handling-broken-td4060049.html.

Варианты решений:
  1. упомянутое в тредах патченье библиотек mingw ('building libgcc_s with crtmt.o and libgwmthr' и т.п.)
  2. использование http://tdm-gcc.tdragon.net/ вместо mingw.
Мне кажется, что проще всего попробовать последнее.

Re: Падение под Windows XP (+отладочный лог)

PostPosted: Sun Dec 11, 2011 10:47 am
by Abs62
ikm wrote:Мне кажется, что проще всего попробовать последнее.

Попробовал. Собрал последний Git без всяких правок gcc 4.4.1-tdm-2. Падает так же, как и собранный MinGW.

Re: Падение под Windows XP (+отладочный лог)

PostPosted: Sun Dec 11, 2011 9:07 pm
by ikm
На сайте последняя версия - 4.6.1.