powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Виснет 3.0.4 при Commit
25 сообщений из 41, страница 1 из 2
Виснет 3.0.4 при Commit
    #39830884
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Транзакция RC REC_VERSION WAIT

1. Удаляю констрейнт (ПК) - isc_dsql_execute,
2. Делаю isc_commit_transaction - и на ее вызове происходит зависание.

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

Самое смешное, что в IBExpert я повторить проблему не могу, хотя выполняю тот же скрипт с такими же параметрами транзакции.

База 13 гиг, в таблице - 100 записей, ПК составной из 2 полей SMALLINT+INTEGER.
База новая, после рестора.

Есть какие идеи, народ? Может ошибка была похожая..
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39830888
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

скорее всего, ждёт пока все запросы к таблице завершатся.
Новые запросы блокируются.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39830889
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавлю.

Пока сервер висит - диск не грузится вообще (0% всегда),
Проц процессом firebird.exe грузится иногда на 3-10% (раз в несколько секунд), а так тоже 0%.

В логе нет ничего (появляется только обрыв соединения после того, как я свою прогу снимаю).
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39830890
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladYuRock,

скорее всего, ждёт пока все запросы к таблице завершатся.
Новые запросы блокируются.

Я завершаю все.

Я даже реконнект к бд делал навсякий (перед drop) - не помогло.

P.S. Попробовал с no_wait - то же самое.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39830892
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockЯ завершаю всеВ мониторинге ничего нет (да и взяться неоткуда).
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39830894
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladждёт пока все запросы к таблице завершатсяТочнее - пока не закроются.
Ожидание, кстати, использует режим wait юзерской тр-ции
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39830895
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Воспроизводишь стабильно ?

Сделай fb_lock_print -n -o -l -d <файл БД> во время такого зависания и покажи.

Или давай пример.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39830900
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladВоспроизводишь стабильно ?

Сделай fb_lock_print -n -o -l -d <файл БД> во время такого зависания и покажи.

Или давай пример.Воспроизводится всегда, да.
Завтра попробую, спасибо, уже домой уехал.

С примером, боюсь, будут проблемы:
1. Воспроизводится не на всех базах, а эта - большая;
2. Через IBE вообще воспроизвести не могу.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39830987
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это как раз тот случай с WAIT, когда удаление из MON$ATTACHEMENT совершенно безрезультатно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831034
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийэто как раз тот случай с WAIT, когда удаление из MON$ATTACHEMENT совершенно безрезультатно.Я уже писал, что с nowait то же самое.

Кстати, удалось повторить зависание на IBExpert. Достаточно запустить мою прогу и выполнить скрипт
DROP;
COMMIT; --тут зависнет.

Таки какие-то запросы не нравятся, которые висят подготовленными. Их штук 10, но среди них нет ни одного, использующего эту таблицу. FK тоже нет.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831036
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladСделай fb_lock_print
Unable to access lock table.
File for mapping is empty.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831037
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
27.06.2019 11:47, YuRock пишет:
> Кстати, удалось повторить зависание на IBExpert.

плюнь на него (в данном случае)
там с транзакциями полный волюнтаризм.
для воспроизведения нужен isql.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831038
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockFile for mappingFor memory mapping

Приходится переписывать с экрана, т.к. скруль работает только с телефона почему-то...
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831039
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockТаки какие-то запросы не нравятся, которые висят подготовленнымиО чём я и писал.
YuRockИх штук 10, но среди них нет ни одного, использующего эту таблицу.Не прямые зависимости ? Триггеры\процедуры ?


YuRockUnable to access lock table.
File for mapping is empty.Как запускаешь fb_lock_print ?
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831040
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийтам с транзакциями полный волюнтаризм.
для воспроизведения нужен isql.Ну почему, настраиваются же. Настроил такие же, как у меня - и повторилось (правда, только после каких-то многих действий другого клиента).

И повторяется, к сожалению, не на всех базах.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831044
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНе прямые зависимости ? Триггеры\процедуры ?есть одна процедура. Она вызываласть, но стейтмент, ее вызывавший, уничтожен.


hvladКак запускаешь fb_lock_print ?Ровно как ты написал, путь к файлу только указал
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831049
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockесть одна процедура. Она вызываласть, но стейтмент, ее вызывавший, уничтожен.Сама процедура в кеше метаданных осталась
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831051
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockhvladКак запускаешь fb_lock_print ?Ровно как ты написал, путь к файлу только указалПуть к файлу БД ?
Там виртуализация ФС не порылась ?
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831054
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladYuRockесть одна процедура. Она вызываласть, но стейтмент, ее вызывавший, уничтожен.Сама процедура в кеше метаданных осталасьЯ уже попробовсл ее дропнуть перед удплением пк. М коммитом между этими операциями, конечно.

Процедура дропается, коммитится успешно, дальше ничего не меняется - зависон на еоммите после удаления ПК.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831055
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladYuRockпропущено...
Ровно как ты написал, путь к файлу только указалПуть к файлу БД ?
Там виртуализация ФС не порылась ?
Путь к файлу бд.
D:\folder\db.gdb

Виртуализация на этом диске не роется.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831060
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда снимай полный дамп памяти и выкладывай для изучения.
Хотя пример, конечно, лучше :)
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831085
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНу тогда снимай полный дамп памяти и выкладывай для изучения.
Хотя пример, конечно, лучше :)Я пытался воспроизвести и сделать пример, не удалось.

Вот ссылка на дамп "висящего" сервера.
https://1drv.ms/u/s!Ag8PxwKHNcBVopluufc-lMWV5L1k2A
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831093
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
32 бит
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831107
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

Да, дело в этой процедуре. Повторяется легко на двух IBE.
В 1-м заходим в базу, вызываем эту процедуру, commit (но от базы не отсоединяемся);
Во 2-м - дропаем пк, commit - и зависон. Что интересно, если пока висит 2-й в 1-м дисконнектиться, то 2-й развиснет, коммит завершится без ошибок.

Странно, почему тогда мне реконнект не помог.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831109
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Висит именно там, где я и предполагал - при попытке взять лок индекса.
Имя индекса PK_MPOSTOSAP$REGIONS
Имени таблицы нет, есть только её ID - 132

Тр-ция - READ COMMITTED, RECORD_VERSION, WAIT
её номер 2292570
...
Рейтинг: 0 / 0
25 сообщений из 41, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Виснет 3.0.4 при Commit
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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