Наткнулся на интересную проблему в FB 2.0.3, SS.
 Сервер ставится инсталлятором вместе с программой. При этом в
aliases.conf дописывается алиас базы данных. Но из-за ошибки в
инсталляторе,  он не дописывался, а записывался поверх начала файла
aliases.conf и получалось такое:
dbalias = E:\DATABASE\databasefile.fdb
-----------------
#

При этом первый запуск программы после инсталляции всегда проходит
нормально, не смотря на поврежденный aliases.conf. Резервное
копирование gbak аналогично.
 А вот попытка сделать restore виснет. После чего Firebird перестает
реагировать на запросы извне вообще. В том числе и на попытку его
остановить из управления сервисами. Грохнув его drwtsn32 и
проанализировав дамп, оказалось что один из потоков внутри сервера
висит, показывая MessageBox:

....
user32!MessageBoxA+45
fbserver+fb1c7

После чего я запустил сервер как приложение и оказалось, что он
выводит следующее:
Firebird Error
C:\Program Files\..имя проги..\Server\aliases.conf: illegal line
"----------------- "

Вопрос: с каких пор стало модно показывать MessageBox из сервиса
вместо вывода сообщения в лог?

Ответить