Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBExpert Новый топик    Ответить
 Разрыв коннекта при компиляции  [new]
shalamyansky
Member

Откуда:
Сообщений: 276
Спорадически, но достаточно часто, чтобы быть неприятностью, разрывается коннект с базой и, соответственно, сеанс работы с ней в IBExpert экстренно завершается. Сообщение программы приложено ниже. Возникает при компиляции какого-либо PSQL модуля, в данном случае package. Первая компиляция после коннекта проходит нормально, а вот одна из следующих, с измененным или неизмененным кодом, может пройти удачно, но может и провалиться.

Соединение может быть как XNET, так и TCP. Точно не отследил, но похоже, что началась неприятность вместе с переводом баз на Firebird 4.0.

IBExpert 2021.9.22.1

Error Message:
----------------------------------------
Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements.
Error writing data to the connection.
send_packet/send.
-------------------------------------------------------------------------------------------------------------
SQLCODE: -902
SQLSTATE: 08006
GDSCODE: 335544727

[00556EFB] FIB.IBError (Line 593, "FIB.pas" + 82) + $2
[00554281] FIBDatabase.TFIBTransaction.StartTransaction (Line 2978, "FIBDatabase.pas" + 62) + $C
[01111C92] IBEDatabases.TIBEDatabase.GetMaxRdbFormat (Line 9667, "IBEDatabases.pas" + 14) + $5
[00FF9D51] Main.UpdateMaxRdbFormat (Line 5933, "Main.pas" + 4) + $B
[00EF3986] CompileForm.ExecuteSequence (Line 458, "CompileForm.pas" + 80) + $0
[00E5D350] PackageEditorF.TPackageEditorForm.Compile (Line 495, "PackageEditorF.pas" + 121) + $26
12 окт 21, 19:45    [22382817]     Ответить | Цитировать Сообщить модератору
 Re: Разрыв коннекта при компиляции  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3542
Не очень понятно, каким боком тут эксперт может быть причастен...
14 окт 21, 03:36    [22383411]     Ответить | Цитировать Сообщить модератору
 Re: Разрыв коннекта при компиляции  [new]
shalamyansky
Member

Откуда:
Сообщений: 276
Непонятно. Но события происходят внутри IBExpert, инициализирует их IBExpert, проявляются они в только в IBExpert. К кому еще обращаться за разъяснениями? Подозреваю, далее мои дилетантские досужие размышления, что программа перед тем, как отправить процедуру на компиляцию, производит некие действия, которые могут привести к разрыву коннекта. Далее StartTransaction напарывается уже на отсутствующий коннект.
14 окт 21, 14:06    [22383646]     Ответить | Цитировать Сообщить модератору
 Re: Разрыв коннекта при компиляции  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11076
shalamyansky,

эта ошибка приходит с сервера
14 окт 21, 15:04    [22383694]     Ответить | Цитировать Сообщить модератору
 Re: Разрыв коннекта при компиляции  [new]
shalamyansky
Member

Откуда:
Сообщений: 276
Как с сервера? По стеку такое ощущение, что до сервера дело как раз и не дошло. Ну, вам виднее.
14 окт 21, 15:19    [22383717]     Ответить | Цитировать Сообщить модератору
 Re: Разрыв коннекта при компиляции  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3542
shalamyansky
Подозреваю, далее мои дилетантские досужие размышления, что программа перед тем, как отправить процедуру на компиляцию, производит некие действия, которые могут привести к разрыву коннекта.


Ну так это к серверу вопрос: почему некие действия, которые вот уже третий десяток лет производятся, приводят к разрыву коннекта.
Эксперт-то что должен делать - перестать производить действия?
14 окт 21, 16:58    [22383791]     Ответить | Цитировать Сообщить модератору
 Re: Разрыв коннекта при компиляции  [new]
shalamyansky
Member

Откуда:
Сообщений: 276
IBExpert,

Так кто может задать вопрос серверу? Я ж не знаю, какие именно действия с сервером производит программа, я просто пользуюсь ей. Могу только догадываться и, скорее всего, ошибусь.

Понятно, что пока нет однозначной воспроизводимости, трудно даже гадать. Так написал, на всякий случай, а вдруг какие идеи всплывут.
14 окт 21, 19:01    [22383856]     Ответить | Цитировать Сообщить модератору
 Re: Разрыв коннекта при компиляции  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3542
shalamyansky

Так кто может задать вопрос серверу? Я ж не знаю, какие именно действия с сервером производит программа, я просто пользуюсь ей.


В данном случае из сообщения (Error writing data to the connection) уже следует, что дело не в "программе". А проявится эта проблема, само собой, тогда, когда программа попытается что-то засунуть в уже умершее соединение. Вот если сервер вдруг умрет внезапно, то как раз такая фигня и будет. Ничего не напоминает?
15 окт 21, 09:49    [22384074]     Ответить | Цитировать Сообщить модератору
 Re: Разрыв коннекта при компиляции  [new]
shalamyansky
Member

Откуда:
Сообщений: 276
IBExpert

А проявится эта проблема, само собой, тогда, когда программа попытается что-то засунуть в уже умершее соединение. Вот если сервер вдруг умрет внезапно, то как раз такая фигня и будет. Ничего не напоминает?

Напоминает, но это не оно. Сервер жив, другие соединения с этим сервером, и даже с этой базой с этого же компьютера и такого же клиента (IBExpert) остаются жить. Обрывается лишь то соединение IBExpert, с которого производилась компиляция. Сценарий такой:

открыто окно редактирования процедуры - компиляция процедуры - commit - сообщение об ошибке (показывающее обрыв соединения)

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

Происходит нерегулярно, но довольно часто, примерно 1 обрыв на 10-20 компиляций.
18 окт 21, 15:47    [22385082]     Ответить | Цитировать Сообщить модератору
 Re: Разрыв коннекта при компиляции  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3542
shalamyansky

Напоминает, но это не оно.


Я именно такую ошибку вижу, когда останавливаю сервер для тестирования потери соединения.

shalamyansky

Происходит нерегулярно, но довольно часто, примерно 1 обрыв на 10-20 компиляций.


И все эти 20 раз эксперт выполняет одну и ту же последовательность действий.

Но если есть желание, то можешь попробовать выгрузить эту последовательность в скрипт и выполнить N раз подряд.

Сообщение было отредактировано: 19 окт 21, 03:28
19 окт 21, 03:28    [22385289]     Ответить | Цитировать Сообщить модератору
 Re: Разрыв коннекта при компиляции  [new]
hvlad
Member

Откуда:
Сообщений: 11511
shalamyansky,

что-то мне это напоминает: 22385351

Это один и тот же случай, или вы всё же разные персонажи ?
20 окт 21, 23:11    [22386136]     Ответить | Цитировать Сообщить модератору
 Re: Разрыв коннекта при компиляции  [new]
shalamyansky
Member

Откуда:
Сообщений: 276
hvlad,

Персонажи разные и случаи разные, а вот FB у нас один, и приключения с ним похожи. И ведь хорошо, что это кому-то что-то напоминает.
21 окт 21, 16:52    [22386501]     Ответить | Цитировать Сообщить модератору
 Re: Разрыв коннекта при компиляции  [new]
hvlad
Member

Откуда:
Сообщений: 11511
shalamyansky
hvlad,

Персонажи разные и случаи разные, а вот FB у нас один, и приключения с ним похожи. И ведь хорошо, что это кому-то что-то напоминает.
Тогда предлагаю предоставить воспроизводимый сценарий - дабы исправить это безобразие.
21 окт 21, 17:25    [22386528]     Ответить | Цитировать Сообщить модератору
 Re: Разрыв коннекта при компиляции  [new]
shalamyansky
Member

Откуда:
Сообщений: 276
hvlad,

Задачу понял, буду думать. Однако, добиться воспроизведения ошибки - это уже почти устранить её :)
21 окт 21, 18:07    [22386559]     Ответить | Цитировать Сообщить модератору
Все форумы / IBExpert Ответить