|
DB Exception и падение сервера
|
|||
---|---|---|---|
#18+
Есть две процедуры, примерно такого содержания Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
Обычно все работает. Но заметил интересный эффект: если запрос в первой процедуре возвращает две записи и при обработке первой записи sp_d_test2 генерирурет исключение, то сервер падает с сообщением в логе sp_d_test Access violation. The code attempted to access a virtual address without privilege to do so. This exception will cause the InterBase server to terminate abnormally. Теперь интересное: если исключение возникает на второй записи, на обеих записях, исключение не ловится или бросается и ловится другое исключение (скажем, ex_my2) или запись выбирается одна, то сервер не падает. Версия сервера Server Version: WI-V11.0.4.820 Server Implementation: InterBase/x64/Windows Service Version: 2 На IB 2009 ошибка не проявляется, Backup/Restore не помогает. Тестовый пример создать не удалось. Проблема не воспроизводится. Вложенная процедура вставляет данные в таблицу, а дальше AFTER INSERT триггера вставляют данные еще в три таблицы. Обновить сервер нет возможности. Могу только сервис-паки накатывать, но для XE3 их всего 4 и они установлені. Если кто-то тікнет меня на qc, или скажет как обойти грабли - буду благодарен. С уважением, Vasilisk ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 17:38 |
|
DB Exception и падение сервера
|
|||
---|---|---|---|
#18+
_Vasilisk_скажет как обойти грабли Для начала - попробуй избавиться от WHEN и сделай процедуре статус возврата. В коде обработчиков исключений исторически зарыта пара багов. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 17:56 |
|
DB Exception и падение сервера
|
|||
---|---|---|---|
#18+
_Vasilisk_, я бы посоветовал проверить на XE7. По идее, XE3 уже никто править не будет, так что нужен или апгрейд, или workaround (уже предложили). Последний апдейт ХЕ3 был 11.0.4.820 . ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 18:38 |
|
DB Exception и падение сервера
|
|||
---|---|---|---|
#18+
_Vasilisk_, добавлю от "капитана очевидность" - если в ХЕ7, в последнем апдейте, этот баг воспроизведется, и не будет отрапортован, то все останется, как и было. Чинятся только те баги, на которые был репорт. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 18:40 |
|
DB Exception и падение сервера
|
|||
---|---|---|---|
#18+
kdvПоследний апдейт ХЕ3 был 11.0.4.820 .Он и стоит _Vasilisk_Server Version: WI-V11.0.4.820 kdvЧинятся только те баги, на которые был репорт.Я не могу его нормально зарепортить _Vasilisk_Тестовый пример создать не удалось. Проблема не воспроизводится ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 19:09 |
|
DB Exception и падение сервера
|
|||
---|---|---|---|
#18+
_Vasilisk_Тестовый пример создать не удалось. Проблема не воспроизводится Перекомпиляция всех процедур и триггеров не устраняет проблему? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 19:14 |
|
DB Exception и падение сервера
|
|||
---|---|---|---|
#18+
DBConstructorПерекомпиляция всех процедур и триггеров не устраняет проблему?_Vasilisk_Backup/Restore не помогает. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2015, 19:15 |
|
|
start [/forum/topic.php?fid=40&msg=39139593&tid=1562424]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 501ms |
total: | 638ms |
0 / 0 |