gbak: WARNING: function is not defined

Ремонт и восстановление баз данных InterBase, Firebird, Yaffil

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

Ответить
West
Сообщения: 2
Зарегистрирован: 28 апр 2006, 09:27

gbak: WARNING: function is not defined

Сообщение West » 28 апр 2006, 10:01

Помогите, пожалуйста, с проблемой

Програма работает с локальной базой на firebird 1.0 (ОС ВИН 98 ).
Очень дооолго стартует (20 [+10] мин.)
Пробовал лечить с помощью backup/restore, но не помогло :(

Пользуясь коммандой
> gbak -b -v -ig -g database.gdb database.gbk
создал backup БД, без каких-либо error или warning

=================================
gbak: writing functions
gbak: writing function ADDFILTERRECORD
gbak: writing argument for function ADDFILTERRECORD
gbak: writing argument for function ADDFILTERRECORD
gbak: writing argument for function ADDFILTERRECORD
.....
gbak: writing function SETDYNAMICERROR
gbak: writing argument for function SETDYNAMICERROR
gbak: writing argument for function SETDYNAMICERROR
......
=================================

Но при восстановлении БД из backup
> gbak -c -v database.gbk new.gdb
в конце выдается сообщение

=================================
gbak: WARNING: function SETDYNAMICERROR is not defined
gbak: WARNING: module name or entrypoint could not be found
gbak: WARNING: function ADDFILTERRECORD is not defined
gbak: WARNING: module name or entrypoint could not be found
gbak: finishing, closing, and going home
=================================

Открывал IBExpert'ом - в разделе UDFs эти функции присутствую, udferror.dll есть в наличии.

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

Сообщение kdv » 28 апр 2006, 10:41

а функции по которым warning идет вызывается?
Очень дооолго стартует (20 [+10] мин.)
это или проблема операционки, или проблема приложения.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 28 апр 2006, 13:00

Или количество буферов кеша сконфигурили к орбите Сатурна.

West
Сообщения: 2
Зарегистрирован: 28 апр 2006, 09:27

Сообщение West » 28 апр 2006, 13:59

Функции похоже, что работают - в програме фильтр данных работает исправно.
А на счет долгой загрузки больше похоже, что это программа.

golkanavt
Сообщения: 82
Зарегистрирован: 10 янв 2006, 13:57

Re: gbak: WARNING: function is not defined

Сообщение golkanavt » 09 сен 2010, 19:20

Вынужден поднять тему, поиск аналогичных живых ничего не дал, нужна помощь. Аналогичная ситуация с руганью при восстановлении базы на внешние функции UDF библиотеки rfunc:

Код: Выделить всё

gbak: WARNING: function CEIL is not defined 
gbak: WARNING:     module name or entrypoint could not be found 
Ошибка возникла при переносе базы на другой сервер. На исходном сервере база поднимается из бэкапа без проблем, все живое, целое-невредимое. На новом серваке файл библиотеки UDF присутствует, в IBExperte функции видны, но при попытке их использования в запросе или перекомпиляции процедур с функциями выдает ошибку BLR. Куда смотрить, какие доки курить? Заранее спасибо всем ответившим.

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

Re: gbak: WARNING: function is not defined

Сообщение kdv » 10 сен 2010, 09:33

filemon в зубы, и смотреть почему rfunc не грузится.

golkanavt
Сообщения: 82
Зарегистрирован: 10 янв 2006, 13:57

Re: gbak: WARNING: function is not defined

Сообщение golkanavt » 10 сен 2010, 17:51

Спасибо за совет, попробую. Навскидку, что это может быть, firewall? Версии Firebird одинаковые Firebird-1.5.4.4910. Исходный сервер - Win2003 Ent Server, новый - пока просто рабочая машинка под WinXP

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

Re: gbak: WARNING: function is not defined

Сообщение kdv » 11 сен 2010, 03:58

ну какой, прости господи, firewall???

rfunc это dll, которую грузит сервер. Ошибка означает, что сервер попытался вызвать функцию из dll, и не смог. Как правило такое бывает потому, что dll по каким-то причинам не загрузилась - возможно зависимости от других dll, и т.п.
Поэтому нужно брать filemon, и смотреть на лог обращений сервера к файлам в момент ПЕРВОГО вызова проблемной функции.
в IBExperte функции видны
в IBExpert видны ОБЪЯВЛЕНИЯ функций.

golkanavt
Сообщения: 82
Зарегистрирован: 10 янв 2006, 13:57

Re: gbak: WARNING: function is not defined

Сообщение golkanavt » 11 сен 2010, 11:27

Проблема решилась просто - в системной папке не было файла gds32.dll

Boryans
Сообщения: 5
Зарегистрирован: 15 фев 2012, 00:34

Re: gbak: WARNING: function is not defined

Сообщение Boryans » 15 фев 2012, 01:06

Доброго всем времени суток. Есть желание перенести базу firebird 2.1.3 x86 , установленную на Server 2008 R2 на сервер Ubuntu. Желание сие возникло после многочисленных сбоев программы. Выражаются в подвисании сессии. Режим работы бд супер-сервер. Установил точно такую же версию сервера на линукс. Подключил базу. Связь с бд есть. Но при подключении клиента с Виндоус возникают такие сообщения
DMFind quGWrite
Invalid token
Invalid request BLR tooffset 141
Function NFLOAT is not defined
Module name or entrypoint could not be faund

Пробовал делать дамп бд в Виндоус и выгружать в Убунту. База выгружается, но выдаёт вот такие сообщения
gbak: WARNING:function EQU is not defined
WARNING:function WRITEPARAMINTEGER is not defined
При этом из Виндоус так же инвалид токен и т.д. остаётся.
Убунту x64 бит. Пробовал ставить сервер firebird x64 на виндоус - точно такие же ошибки. Подскажите пожалуйста, как можно исправить эти замечания или хотя бы подсказку для дальнейших действий по самостоятельному исправлению.

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

Re: gbak: WARNING: function is not defined

Сообщение kdv » 15 фев 2012, 10:24

о боже. ведь ФБ ясно говорит, что функции нет.
udf dll остались на windows. Нужно как-то перенести на линукс. Причем, udf должны быть СКОМПИЛИРОВАНЫ в so для конкретной версии Linux. И уж тем более должны быть перекомпилированы для 64-разрядого ФБ.

В общем, возвращайтесь обратно на Windows. Ставьте FB 2.1.4 - уже пора бы свою 2.1.3 заменить. Ну и лучше разобраться, что за подвисания. А то разговор в ключе
- у меня на винде "сессия виснет", я решил перейти на линукс
напоминают действия вроде "переустановил винду".

Boryans
Сообщения: 5
Зарегистрирован: 15 фев 2012, 00:34

Re: gbak: WARNING: function is not defined

Сообщение Boryans » 19 фев 2012, 20:06

Спасибо за совет. Насчёт скомпилировать или перекомпилировать...Сразу оговорюсь, я не программист.(может пока не программист) БД работает в режиме super server (БД является программой товар деньги товар). Много подключений к БД через терминальный доступ. Как известно наш интернет ещё тот по стабильности работы. А простой заменой файлов FB 2.1.3 на FB 2.1.4 можно воспольззоваться или под 2.1.4 нужно будет править библиотеки? Будет ли БД FB 2.1.3 без какой либо коррекции работать нормально на FB 2.1.4. ? По поводу стабильности системы, то переход на server classic поможет увеличить стабильность при около 30 подключениях (из них около половины через терминальный доступ по инету) к БД или лучше оставить superserver ?
Зависания заключаются в том, что пропадает возможность подключиться к БД, процесс fbserver.exe на запросы не отвечает и помогает принудительное завершение процесса и старт по новой. Но в БД появляются ошибки, которые я лечу с помощью стандартных утилит в папке bin и выгрузкой БД в дамп и загрузкой обратно.

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

Re: gbak: WARNING: function is not defined

Сообщение kdv » 20 фев 2012, 11:23

А простой заменой файлов FB 2.1.3 на FB 2.1.4 можно воспольззоваться или под 2.1.4 нужно будет править библиотеки?
можно, если под той же операционной системой, в смысле Windows, а не Linux.
и обновиться до 2.1.4 желательно. но также желательно сохранить папку сервера, а то вдруг придется возвращаться на 2.1.3, или вы случайно перепишете firebird.conf, security2.fdb, и так далее.
переход на server classic поможет увеличить стабильность при около 30 подключениях
может. Вообще неясно, из-за чего у вас зависания происходят. Может и не из-за ФБ (а из-за udf или еще чего то).
Классик, кроме того, даст распараллеливание по ядрам, чего суперсервер ФБ не может в принципе (для одной базы).
терминальный доступ или нет - никакого значения не имеет.
Но в БД появляются ошибки, которые я лечу с помощью стандартных утилит
какие ошибки? Скорее всего вы перепутали причины и следствие. Если в БД появляются ошибки, то сервер при их обнаружении отказывается работать с базой. К ошибкам в БД обычно может приводить кривое железо, ошибки операционной системы, или же постороннее ПО, которое влияет на ОС или ФБ - например, антивирусы NOD32 и Symantec, и т.п.

Boryans
Сообщения: 5
Зарегистрирован: 15 фев 2012, 00:34

Re: gbak: WARNING: function is not defined

Сообщение Boryans » 20 фев 2012, 21:22

kdv писал(а):
какие ошибки? Скорее всего вы перепутали причины и следствие. Если в БД появляются ошибки, то сервер при их обнаружении отказывается работать с базой. К ошибкам в БД обычно может приводить кривое железо, ошибки операционной системы, или же постороннее ПО, которое влияет на ОС или ФБ - например, антивирусы NOD32 и Symantec, и т.п.
Проверяю БД утилитой gfix.exe
Показывает например такие ошибки, при этом БД работает:
Summary of validation errors
Number of database page errors : 1936
корректирую БД утилитой gbak.exe путём выгрузки в дамп и созданием из дампа "свежей" БД.
После перевода из СуперСервера в КлассикСервер хуже точно не стало. Запускаю ещё и FBDataGuard(на другом сервере как мониторинг). Посмотрю, как будет себя вести БД. Никаких антивирусов на сервере нет. Есть правда один вирус, AD, но это "нужный вирус" и они с FB на разных логических дисках.

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

Re: gbak: WARNING: function is not defined

Сообщение kdv » 20 фев 2012, 23:10

Показывает например такие ошибки, при этом БД работает:
БД работает до тех пор, пока сервер не считает поврежденные страницы.
Number of database page errors : 1936
это много. и я просил привести в пример конкретные ошибки. они после запуска gfix попадают в firebird.log.
корректирую БД утилитой gbak.exe путём выгрузки в дамп и созданием из дампа "свежей" БД.
никакой "коррекции" БД при бэкапе нет. аккуратнее с терминами. При ресторе из бэкапа база создается заново.
FBDataGuard(на другом сервере как мониторинг).
на другом - не очень хороший мониторинг.
они с FB на разных логических дисках.
эээ... какая разница вирусу или анивирусу, на каком логическом диске находится файл?

Boryans
Сообщения: 5
Зарегистрирован: 15 фев 2012, 00:34

Re: gbak: WARNING: function is not defined

Сообщение Boryans » 21 фев 2012, 22:22

Спасибо за комментарий. Вот, что удалось увидеть в логе:

internal gds software consistency check (Attempt to call GlobalRWLock::unlock() while not holding a valid lock for logical owner)

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.


MASTER (Server) Fri Dec 23 16:39:00 2011
The user defined function: DEC64I1
referencing entrypoint: dec64i1
in module: udfdll
caused the fatal exception: 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.

Очень много INET/inet_error: read errno = 10054

Вот это после проверки БД
MASTER Mon Feb 20 21:04:50 2012
Database: C:\BASE\TDTBASE.GDB
Page 31040 is an orphan

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

Re: gbak: WARNING: function is not defined

Сообщение kdv » 22 фев 2012, 07:20

совершенно явно ваши udf валят сервер. неужели не видно из ошибки?

p.s. orphan page это фигня. вы видать ничего на ibase.ru не читаете. а там поиск есть.

Boryans
Сообщения: 5
Зарегистрирован: 15 фев 2012, 00:34

Re: gbak: WARNING: function is not defined

Сообщение Boryans » 22 фев 2012, 14:09

kdv писал(а):совершенно явно ваши udf валят сервер. неужели не видно из ошибки?

p.s. orphan page это фигня. вы видать ничего на ibase.ru не читаете. а там поиск есть.
Это только одна ошибка в году. А так в основном это INET/inet_error: read errno = 10054

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: gbak: WARNING: function is not defined

Сообщение Dimitry Sibiryakov » 22 фев 2012, 15:36

А всё остальное время этим UDF везёт гадить в уже выделенные области памяти.

Ответить