Падение Firebird 1.5.1
Модераторы: kdv, Alexey Kovyazin
Падение Firebird 1.5.1
Периодически валится сервер 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.
Из-за чего может быть? Так сказать физический смысл сообщения. Прикладная программа сторонней разработки.
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.
Из-за чего может быть? Так сказать физический смысл сообщения. Прикладная программа сторонней разработки.
Re: Падение Firebird 1.5.1
Я сталктвался с аналогичным сообщением. У меня дело было в том, что некорректно была "объявлена" одна 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.
Нужно было написать:
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.
выловить "случайные" падения можно только поставив pdb-файлы (есть на sf.net там же где и дистрибутивы FB), и "отловив" при падении в каком модуле FB чего рухнуло.
Однако, конечно, если приложение чужое, то причиной падения может быть все что угодно, в т.ч. и известный баг, или действительно, некорректно написанная udf, "убивающая" память через определенные (и непредсказуемые) интервалы времени.
Для разработчиков сервера такие падения - очень тяжелая для отлавливания вещь, потому что тяжело ситуацию воспроизвести.
Однако, конечно, если приложение чужое, то причиной падения может быть все что угодно, в т.ч. и известный баг, или действительно, некорректно написанная udf, "убивающая" память через определенные (и непредсказуемые) интервалы времени.
Для разработчиков сервера такие падения - очень тяжелая для отлавливания вещь, потому что тяжело ситуацию воспроизвести.
в списке дистрибутивов
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.
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.
проверь виндовс на предмет вирусов, исследуй список процессов и сервисов
_________________
Linux - хорошо, Windows - плохо
Последнее спорно ! У меня стоял FB 1.51 на ASP Linux 9.2.
Периодически(1 раз в 10-15 дней) и именно по утрам проги-клиенты начинали глючить, получали
ошибку типа файл базы не найден. После перезагрузки Linux все продолжало работать. Меня это достало ( Переставил на W2K SP4 и забыл про проблемы )
Что это было, так и не понял (((
_________________
Linux - хорошо, Windows - плохо
Последнее спорно ! У меня стоял FB 1.51 на ASP Linux 9.2.
Периодически(1 раз в 10-15 дней) и именно по утрам проги-клиенты начинали глючить, получали
ошибку типа файл базы не найден. После перезагрузки Linux все продолжало работать. Меня это достало ( Переставил на W2K SP4 и забыл про проблемы )
Что это было, так и не понял (((