Page 1 of 3

Runtime Error

PostPosted: Tue Jun 01, 2010 8:08 am
by Gloggy
На последних билдах заметил, что GD стал чаще крашиться с:

Microsoft Visual C++ Runtime Library"
The application has requested the Runtime to terminate it in an unusual way.

Вроде бы проблема в:
Fault Module Name: libgcc_s_dw2-1.dll

Но никакой инфы дополнительной я не нашел. Как вообще дебажить такие грабли?
Собрать GD в Release/Debug моде не проблема, чего дальше-то делать? ;)

Краш случается в каждом втором-третьем вводе слова для перевода. То бишь, процесс таков: стартануть GD, вбить слово, нажать Enter --> БАМ, краш.

Re: Runtime Error

PostPosted: Tue Jun 01, 2010 8:11 am
by Gloggy
Вот все, что я имею по крашу:

Code: Select all
Description
Faulting Application Path:   S:\GoldenDict\goldendict.exe

Problem signature
Problem Event Name:   APPCRASH
Application Name:   goldendict.exe
Application Version:   0.0.0.0
Application Timestamp:   4c03a10a
Fault Module Name:   libgcc_s_dw2-1.dll
Fault Module Version:   0.0.0.0
Fault Module Timestamp:   4a404122
Exception Code:   40000015
Exception Offset:   00006245
OS Version:   6.1.7600.2.0.0.256.1
Locale ID:   1033
Additional Information 1:   3351
Additional Information 2:   335113ab06bf09a2423687c8695b442f
Additional Information 3:   07b4
Additional Information 4:   07b461bd3b9a4e5b8e4d57f93b01bf8a

Re: Runtime Error

PostPosted: Tue Jun 01, 2010 12:57 pm
by ikm
Можно попробовать зарегистрировать qt creator в качестве отладчика в системе. Он при инсталляции задает вопрос об этом.

Можно попробовать отключать один словарь за одним и понять, на каком он падает. Ну и вещи в таком духе.

В чём тут может быть дело с текущим объемом информации я сказать не могу.

p.s. Один из самых нестабильных компонентов сейчас - это вывод звука через Phonon. Выводится ли звук в этих статьях?

Re: Runtime Error

PostPosted: Tue Jun 01, 2010 1:44 pm
by Gloggy
ikm wrote:Можно попробовать зарегистрировать qt creator в качестве отладчика в системе. Он при инсталляции задает вопрос об этом.

Попробую. Что-то я не заметил такой опции. А нельзя как-нибудь в сорцах GD подправить, чтобы они ловили подобные эксепшны и что-нибудь разумное куда-нибудь выдавали, что бы хоть знать откуда все повалилось.

Что-то по этому поводу вот тут написано: http://stackoverflow.com/questions/1938 ... time-error

Можно попробовать отключать один словарь за одним и понять, на каком он падает. Ну и вещи в таком духе.

Не помогает. Падает на любых словарях, если они по обьему достаточно большие.

В чём тут может быть дело с текущим объемом информации я сказать не могу.

Ага, очень что-то странное.

p.s. Один из самых нестабильных компонентов сейчас - это вывод звука через Phonon. Выводится ли звук в этих статьях?

Нет, никаких звуков.

Re: Runtime Error

PostPosted: Tue Jun 01, 2010 1:52 pm
by ikm
Вообще имеет смысл включить консоль у программы (пишут, что для этого можно добавить в .pro-файл что-то типа QT += testlib). Когда она упадет, интересно, что там в консоли на тот момент будет.

Re: Runtime Error

PostPosted: Tue Jun 01, 2010 2:00 pm
by Gloggy
ikm wrote:Вообще имеет смысл включить консоль у программы (пишут, что для этого можно добавить в .pro-файл что-то типа QT += testlib). Когда она упадет, интересно, что там в консоли на тот момент будет.

В консоли ничего интересного:

Code: Select all
QObject::connect: Connecting from COMPAT signal (QAction::activated())
QObject::connect: Connecting from COMPAT signal (QAction::activated())
QObject::connect: Connecting from COMPAT signal (QAction::activated())
QObject::connect: Connecting from COMPAT signal (QAction::activated())
QObject::connect: Connecting from COMPAT signal (QAction::activated())
QObject::connect: Connecting from COMPAT signal (QAction::activated())
QObject::connect: Connecting from COMPAT signal (QAction::activated())
QObject::connect: Connecting from COMPAT signal (QAction::activated())
QObject::connect: Connecting from COMPAT signal (QAction::activated())
QObject::connect: Connecting from COMPAT signal (QAction::activated())
Load done
getResource: gdlookup://localhost?blank=1
scheme: gdlookup
host: localhost
getResource: gdlookup://localhost?word=Welcome!&group=4294967295
scheme: gdlookup
host: localhost
In-place finish.
Loading 30 abbrv
Loading 1571 abbrv
Loading 109 abbrv
Loading 1571 abbrv
Loading 118 abbrv
====reading 53208 bytes
getResource: gdlookup://localhost?word=crud&group=1&muted=e5da70d96205dfcf47b136ca5aac8528
scheme: gdlookup
host: localhost
>>>Sugg:  st:crud
alts finished
some body finished
one finished.
erasing..
erase done..
one finished.
erasing..
erase done..
one not finished.
offset = f5f3e0a
====reading 52242 bytes
offset = a3de4f6
offset = 217ec18
some body finished
one not finished.
some body finished
one not finished.
some body finished
one not finished.

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
some body finished
one not finished.
some body finished
offset = 14e36fe
one not finished.
some body finished
one not finished.
some body finished
one not finished.
some body finished
one not finished.
some body finished
one not finished.
offset = c2c2d2
Warning: no corresponding opening tag for closing tag "/m" found.
some body finished
one not finished.
offset = 4b0ca74
some body finished
one not finished.
offset = 27d3272
some body finished
one not finished.
offset = d45ff6
some body finished
one not finished.
some body finished
one not finished.
some body finished
one not finished.

Re: Runtime Error

PostPosted: Tue Jun 01, 2010 3:38 pm
by ikm
Ок, предлагаю следующую продвинутую схему: собираем в qt creator, запускаем прямо из него Debug|Start debugging, вводим слово, смотрим, где падает.

Re: Runtime Error

PostPosted: Tue Jun 01, 2010 4:52 pm
by Gloggy
Намучался я с Qt Creator'ом, глючит там в нем дебаггер у меня, все время виснет.
Запускал GD и из-под GDB и коммандной строки. Все одно и то же. Вылетает, пишет одну и ту же фразу про terminated in unusual way. Никакой дополнительной инфы. :(

Re: Runtime Error

PostPosted: Tue Jun 01, 2010 6:55 pm
by ikm
Он что, так с любым словарем себя ведет? Как вообще повторить проблему? И включены ли онлайн-словари?

Re: Runtime Error

PostPosted: Tue Jun 01, 2010 7:20 pm
by Gloggy
ikm wrote:Он что, так с любым словарем себя ведет? Как вообще повторить проблему? И включены ли онлайн-словари?

Падает, если несколько довольно больших словарей подключено (гига два словарей по обьему). Падает с первого же перевода. У меня воспрозводится на Windows 7, где-то при 50% запусков. Иногда чуть ли не 100%, десять раз подряд запускаю - падает. Иногда через раз. Онлайн словари роли вроде бы не играют, я их и подключаю, и отключаю, результаты не меняются.

Под Windows XP, в виртуалке, вроде как не воспроизводится. Раз 50 попробовал. Ни разу не упало.

Дебажная версия падает вроде как чаще. Вот такие пока у меня данные.