Падение Firebird 1.5.1

Администирование клиентской и серверной части InterBase, Firebird, Yaffil. Настройка файла конфигурации и т.п.

Модераторы: kdv, Alexey Kovyazin

Ответить
maz

Падение Firebird 1.5.1

Сообщение maz » 26 окт 2004, 15:10

Периодически валится сервер Firebird
Server Version WI-V6.3.1.4481 Firebird 1.5
Операционка W2K AS SP4, P4-1700, 1GB, Softraid, база 150 МБ, 9 пользователей, одновременно 18 коннектов.
Сообщение в firebird.log
SERVER2 (Server) Tue Oct 26 11:23:12 2004
Access violation.
The code attempted to access a virtual
address without privilege to do so.
This exception will cause the Firebird server
to terminate abnormally.
Из-за чего может быть? Так сказать физический смысл сообщения. Прикладная программа сторонней разработки.

RudyM

Re: Падение Firebird 1.5.1

Сообщение RudyM » 26 окт 2004, 15:26

Я сталктвался с аналогичным сообщением. У меня дело было в том, что некорректно была "объявлена" одна UDF.

Нужно было написать:
DECLARE EXTERNAL FUNCTION MY_FUNC
CSTRING(254)
RETURNS CSTRING(254)
ENTRY_POINT 'MY_FUNC' MODULE_NAME 'MY_DLL';

А было:
DECLARE EXTERNAL FUNCTION MY_FUNC
CSTRING(254)
RETURNS CSTRING(254) FREE_IT
ENTRY_POINT 'MY_FUNC' MODULE_NAME 'MY_DLL';

Так вот этот FREE_IT все и обсерал. Причем Firebird "падал" не каждый раз при вызове этой UDF.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 26 окт 2004, 15:37

выловить "случайные" падения можно только поставив pdb-файлы (есть на sf.net там же где и дистрибутивы FB), и "отловив" при падении в каком модуле FB чего рухнуло.

Однако, конечно, если приложение чужое, то причиной падения может быть все что угодно, в т.ч. и известный баг, или действительно, некорректно написанная udf, "убивающая" память через определенные (и непредсказуемые) интервалы времени.

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

RudyM

Сообщение RudyM » 26 окт 2004, 16:07

kdv писал(а):выловить "случайные" падения можно только поставив pdb-файлы (есть на sf.net там же где и дистрибутивы FB), и "отловив" при падении в каком модуле FB чего рухнуло.
А что значит: "поставить pdb-файлы"?

Заранее спасибо.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 26 окт 2004, 16:19

в списке дистрибутивов
http://sourceforge.net/project/showfile ... e_id=29791
по крайней мере для Windows есть архивы с буквами pdb в имени. например
Firebird-1.5.1.4481_win32_pdb.zip

pdb это Program DeBug files, генерятся средой (компилятором) MSVC. Подробнее про эти файлы и отлов ошибок с их помощью см. тут
http://msdn.microsoft.com/library/defau ... _files.asp

т.е. "отлаживать" FB не предлагаю, конечно, но это позволит получить больше информации о происхождении конкретного Access Violation.

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 26 окт 2004, 16:50

Главное - скопировать к серверу оные pdb-файлы и настроить ватсона на ловлю блох. Затем после падения сервера выслать лог ватсона разработчикам. Усё.

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 27 окт 2004, 13:58

проверь виндовс на предмет вирусов, исследуй список процессов и сервисов

Sergey Bal

Сообщение Sergey Bal » 27 окт 2004, 15:46

проверь виндовс на предмет вирусов, исследуй список процессов и сервисов
_________________
Linux - хорошо, Windows - плохо

Последнее спорно ! У меня стоял FB 1.51 на ASP Linux 9.2.
Периодически(1 раз в 10-15 дней) и именно по утрам проги-клиенты начинали глючить, получали
ошибку типа файл базы не найден. После перезагрузки Linux все продолжало работать. Меня это достало ( Переставил на W2K SP4 и забыл про проблемы )
Что это было, так и не понял (((

Ответить