powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / isc_attach_database access violation
25 сообщений из 41, страница 1 из 2
isc_attach_database access violation
    #38678667
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую спросить здесь.

Ситуация: утром включается сервер. На сервере стартует IB XE3 x64 (WI-V11.0.2.540) и моя служба. У службы стоит зависимость от Interbase. Служба по старту создает отдельный поток для слушания событий БД. В момент подключения к базе отгребаю ошибку
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Message: Access violation at address 0000000073FA9E8C in module 'ibclient64.dll'. Read of address 0000000000000000
Exception: 0000000073FA9E8C Module: ibclient64.dll. Method: Unknown function at gds__thread_start
Stack frames:
0000000073FA9E8C Module: ibclient64.dll. Method: Unknown function at gds__thread_start
0000000076DD1278 Module: ntdll.dll. Method: KiUserExceptionDispatcher
0000000073FA9E8C Module: ibclient64.dll. Method: Unknown function at gds__thread_start
0000000073FD6FB7 Module: ibclient64.dll. Method: Unknown function at perf_report
0000000073FC6BF6 Module: ibclient64.dll. Method: Unknown function at perf_report
0000000073F9B5F6 Module: ibclient64.dll. Method: isc_attach_database
0000000005992021 Module: rs157DBData2_64.dll. Method: IBIntf.TIBServerLibrary.isc_attach_database
00000000059AF679 Module: rs157DBData2_64.dll. Method: IBDatabase.TIBDatabase.DoConnect
000000000591B379 Module: rs157DBData2_64.dll. Method: Data.DB.TCustomConnection.SetConnected
000000000591B2E6 Module: rs157DBData2_64.dll. Method: Data.DB.TCustomConnection.Open
0000000005BCC4AA Module: rs157DBData2_64.dll. Method: UrsIBXDataImpl.TIBXDatabase.DBOpen [Line: 5, Unit Line: 297]



После перезапуска моей службы - ошибки нет. После перезапуска всего сервера ошибки нет (это самое непонятное). Все коннекты проходят через критическую секцию. Кроме Sleep перед коннектом кто-нибудь может, что-нибудь посоветовать?

С уважением, Vasilisk
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38679044
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Interbase зависимость от TCP/IP прописана?
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38679082
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovУ Interbase зависимость от TCP/IP прописана?Нет. Вот так прямо из-за этого валиться в AV на клиенте?
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38679091
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Вот так прямо из-за этого валиться в AV на клиенте?Ну проверить-то эту версию можно?
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38679096
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovНу проверить-то эту версию можно?Можно, конечно
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38680291
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

При остановленной службе tcpip получаю такую ошибку
Код: sql
1.
2.
3.
TAutoDBEventServer - Message: Message: Unable to complete network request to host "localhost".
Failed to locate host machine.
The specified name was not found in the hosts file or Domain Name Services

так, что предположение было неверным
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38680309
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Служба по старту создает отдельный поток для слушания событий БД. В момент подключения к базе отгребаю ошибку
- коннект к базе происходит в основном потоке, или "отдельном"?
- асинхронные события в компонентах и так доп. тредом обрабатываются, что дает ряд проблем.
- сервис будет постоянно висеть "на связи с базой", и постоянно что то слушать? Нехорошо это. Лучше бы ты сделал коннект-работа-дисконнект, не чаще раза в минуту. "Роботы", которые висят на коннекте, являются самой частой причиной длительных транзакций, препятствующих сборке мусора.
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38680331
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_так, что предположение было невернымЯ, вообще-то, предлагал установить зависимости для службы Interbase.
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38680360
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvконнект к базе происходит в основном потоке, или "отдельном"?В отдельном. Все коннекты к базе происходят через критическую секцию
kdvасинхронные события в компонентах и так доп. тредом обрабатываютсяКласс по работе с событиями я полностью переписал. Почему я вызываю обработчик не в том потоке, где вызывается callback я не помню, но какие-то основания были. И весьма веские.
kdvсервис будет постоянно висеть "на связи с базой", и постоянно что то слушать?Да
kdv"Роботы", которые висят на коннекте, являются самой частой причиной длительных транзакций, препятствующих сборке мусора.Во-первых он висит на read транзакции, а во-вторых - как он может мешать сборке мусора, если он не обращается ни к каким данным, а просто слушает события?
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38680374
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_а во-вторых - как он может мешать сборке мусора, если он не обращается ни к каким данным, а просто слушает события?
"мешать сборке мусора" может простая транзакция, которая долго длится и не обращается ни каким данным. к read read_committed это не относится, разумеется.
Но сама идея что "транзакция мешает ... обращаясь к данным" - похожа на новый миф :-)

пошел оффтоп, но я бы посоветовал "в роботе" без надобности транзакций не стартовать, никаких, и особенно проверить, что они действительно не стартуют, потому что в компонентах это может быть скрыто.
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38680377
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvНо сама идея что "транзакция мешает ... обращаясь к данным" - похожа на новый миф :-)Значит я таки криво прочитал доку.
kdvя бы посоветовал "в роботе" без надобности транзакций не стартоватьТак и есть. В нем только эта транзакциия и это соединение "вечные". Остальные коннекты стартуют по мере надобности. Но вопрос не о том.

Тут идея появилась, а, что если взять исходники fbclient и посмотреть, что там происходить в isc_attach_database и какая проблема может быть в isc__start_thread? Или FB и IB уже сильно разбежались и это бесперспективно?
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38680379
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Или FB и IB уже сильно разбежались и это бесперспективно?

Именно так. В FB столько фиксилось как раз в районе событий, что ожидать совпадения
исходников можно только в одном случае: они тупо передирают наше дерево.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38680381
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Служба по старту создает отдельный поток для слушания событий БД.
Ищи гонки потоков, приводящие к обращению к методам ещё не созданной TIBDatabase.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38680387
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_ ,

Проверять наличие службы IB не пробовал?
Sleep c какой задержкой помогает?
И попробуй подключаться без event-ов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38680395
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovВ FB столько фиксилось как раз в районе событийУ меня до событий дело не доходит. Отваливается сам коннект.
Dimitry SibiryakovИщи гонки потоков, приводящие к обращению к методам ещё не созданной TIBDatabase.Текущий алгоритм работы
1. По старту сервиса, стартуем новый поток
2. В созданном потоке создаем TIBDatabase
3. Указываем имя базы
4. Подключаемся к базе
5. Запускаем слушание событий.

Проблема у меня в 4 пункте

Гаджимурадов РустамПроверять наличие службы IB не пробовал?Не понял. В смысле проверять запущена ли она? Так зависимость же стоит
Гаджимурадов РустамSleep c какой задержкой помогает?Sleep еще не пробовал. Из-за того, что ошибка нестабильна. Завтра запущу тест с циклической перезагрузкой сервера и там уже буду экспериментировать
Гаджимурадов РустамИ попробуй подключаться без event-ов.У меня вначале коннект, потом event'ы. Коннект не проходит. Никакие event'ы не запускаются
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38680400
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да забей ты на потоки и на транзакции, не в них дело.

_Vasilisk_> Не понял. В смысле проверять запущена ли она? Так зависимость же стоит

Ну мало ли что там не так со службами, сетевой подсистемой,
задержками и пр. Просто проверь, есть ли сервер в процессах.

> У меня вначале коннект, потом event'ы. Коннект не проходит.
> Никакие event'ы не запускаются

Да, это я стормозил, подписка не сразу. Сорри.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38680402
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_3. Указываем имя базы
Протокол какой? Локальный у IB работает хреновенько...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38680415
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovПротокол какой?TCP
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38680416
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_IB XE3 x64 (WI-V11.0.2.540)
я вот что подумал - это ведь Update 2, причем билд должен быть не 540, а 541
и есть еще
Update 3 - 11.03.665
Update 4 - 11.0.4.817

может, стоит просто сделать апдейт?
правда, в resolved defects я ничего такого не вижу
http://docs.embarcadero.com/products/interbase/IBXE3Update4/Readme.html#new00E
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38681048
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил ничего не делать, а вначале добиться стабильного повторения ошибки. Написал две службы (х32 и х64), которые по старту коннектятся к серверу, пишут информацию в лог и завершаются. Поставил циклическую перезагрузку всего сервера и стал ждать. Было произведено 25 перезагрузок, за это время ошибка появилась только один раз. Но - появилась она только в рабочей службе. Тестовые отработали без ошибок. А теперь логи
Тестовая служба
Код: sql
1.
2.
3.
4.
5.
6.
[2014-06-26 14:57:35.158] ========================
[2014-06-26 14:57:35.158] Start ibConTest64
[2014-06-26 14:57:35.158] TryConnect: 1
[2014-06-26 14:57:38.481] OK
[2014-06-26 14:57:38.543] Stop
[2014-06-26 14:57:38.543] ========================


Рабочая служба
Код: sql
1.
2.
3.
[14:57:39.776] TAutoDBEventServer - Before connect 
[14:57:45.641] TAutoDBEventServer - Message: Message: Access violation at address 0000000074739E8C in module 'ibclient64.dll'. Read of address 0000000000000000
Exception: 0000000074739E8C Module: ibclient64.dll. Method: Unknown function at gds__thread_start


Как видно из логов - тестовая служба запустилась раньше и смогла подключиться к серверу. А еще меня напрягает, что попытка соединения происходила целых 6 секунд

Отличия - тестовая служба напрямую работает с TIBDataBase, а рабочая создает СОМ-объект и уже в этом объекте идет работа с TIBDataBase.

Сейчас перепишу тест на использование моего СОМ-объекта.

По крайней мере предположение о зависимости интербейза от службы tcpip отпало окончательно
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38681191
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_рабочая создает СОМ-объект и уже в этом объекте идет работа с
TIBDataBase.
Ну ты, блин, извращенец...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38681218
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНу ты, блин, извращенец...Аналог трехзвенки
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38681236
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Аналог трехзвенкиИ что этот "аналог" упрощает???
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38681378
наивный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то больно мудрёно:
СОМ-объект в отдельном потоке...
наивно навскидку: с coinitialze все в поряде?
...
Рейтинг: 0 / 0
isc_attach_database access violation
    #38681921
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наивныйс coinitialze все в поряде?Да
...
Рейтинг: 0 / 0
25 сообщений из 41, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / isc_attach_database access violation
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]