Зависание сервера FB 2.5 RC2

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

denissoft
Сообщения: 23
Зарегистрирован: 30 сен 2010, 09:14

Re: Зависание сервера FB 2.5 RC2

Сообщение denissoft » 06 окт 2010, 13:25

hvlad писал(а):
denissoft писал(а):Проблема в том, что у меня и так все транзакции nowait.
К тому же блокировка выходит, когда одна транзакция читает, а другая в этот момент в ту же таблицу пишет.
обе транзации READ_COMMITED_VERSION NOWAIT
Чем это подтверждается ?
Звонит пользователь, подключаюсь к консоли спрашиваю что делал, так и так смотрела то то и то то.
Лезу на сервер и вижу картину он как раз в этот момент заливал в эту таблицу очередную порцию данных.
Все транзакции nowail, это точно проверял сам по таблицам MON$...
Чтобы всё заработало срубаю соединения сервиса и клиента который завис.

denissoft
Сообщения: 23
Зарегистрирован: 30 сен 2010, 09:14

Re: Зависание сервера FB 2.5 RC2

Сообщение denissoft » 06 окт 2010, 13:27

kdv писал(а):интересное кино. Выясняется, что есть еще какая-то udf...
В UDF в основном работа со строками, форматирование и прочее, в выборке на которых подвешивается не юзается.
Для того на 2.5 и перехожу чтобы избавиться от неё. Так как нужный функционал теперь встроен.

denissoft
Сообщения: 23
Зарегистрирован: 30 сен 2010, 09:14

Re: Зависание сервера FB 2.5 RC2

Сообщение denissoft » 06 окт 2010, 14:58

Всё довольно легко воспроизводится.
Только требуется присутствие 2х пишущих транзакций.
Сделал exe который по таймеру меняет некие данные.
Запускаю 2 копии и аля гоп в момент пересечения они вешаются, хотя установки транзакции nowait
по идее должен выходить dead lock, но его нет в этом то и проблема.

Куда выслать дамп и отчёт fb_lock_print, напишите мыло в личку.

P.S. Тот же пример на FB 2.0 Classic вызывает стабильный dead lock у того или иного процесса.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Зависание сервера FB 2.5 RC2

Сообщение hvlad » 06 окт 2010, 15:15

На релизе проверял ?
exe и бд (или скрипт её создания) выслать можешь ?

denissoft
Сообщения: 23
Зарегистрирован: 30 сен 2010, 09:14

Re: Зависание сервера FB 2.5 RC2

Сообщение denissoft » 06 окт 2010, 15:21

hvlad писал(а):На релизе проверял ?
exe и бд (или скрипт её создания) выслать можешь ?
Как раз поставил релиз на свою машину, на ней и пробовал.
Структура очень тяжёлая. Попробую воспроизвести на простой БД.
Дамп то выслать и куда?

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Зависание сервера FB 2.5 RC2

Сообщение hvlad » 06 окт 2010, 16:07

hvlad at users sf net
архиву расширение смени, иначе SF не пропустит

denissoft
Сообщения: 23
Зарегистрирован: 30 сен 2010, 09:14

Re: Зависание сервера FB 2.5 RC2

Сообщение denissoft » 06 окт 2010, 16:36

Отправил, если в ближайшее время не получите, отпишитесь.
P.S. на простом примере пока не выходит. Создал новую базу на 2.5 с похожей структурой только без лишних таблиц,
ошибка не проявляется, то есть выходят dead lock-и. Видно надо делать путём укорачивания базы.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Зависание сервера FB 2.5 RC2

Сообщение hvlad » 06 окт 2010, 16:48

Скачал, посмотрел, спасибо.

Хотелось бы пример. А пока его нет - можно ли повторить и снять дампы с обоих процессов ?

denissoft
Сообщения: 23
Зарегистрирован: 30 сен 2010, 09:14

Re: Зависание сервера FB 2.5 RC2

Сообщение denissoft » 06 окт 2010, 18:03

ОК, завтра сделаю, повторяемость там 100% тная.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Зависание сервера FB 2.5 RC2

Сообщение hvlad » 07 окт 2010, 14:50

denissoft писал(а):ОК, завтра сделаю, повторяемость там 100% тная.
И как успехи ? :)
Кстати, если повторяется на SC, то смотреть в один дамп мне было бы удобнее, чем в два.
Ну а пример - вообще лучше всего. Не обязательно упрощать, если не получается или это долго.

denissoft
Сообщения: 23
Зарегистрирован: 30 сен 2010, 09:14

Re: Зависание сервера FB 2.5 RC2

Сообщение denissoft » 07 окт 2010, 17:22

Сами сегодня сборку выпускали, потому некогда было заниматься.
Завтра сделаю, обещаю.
Базу послать не могу, с чисто тестовыми данными нет, все тестовые это старые боевые.
Да и большая она, пустая 37 Mb
В общем пока на SS перешли срочность отпала, пользователи не грызут.
Укорочу и данные постираю и можно будет послать, думаю эффект останется.

P.S. SC не ставил.

denissoft
Сообщения: 23
Зарегистрирован: 30 сен 2010, 09:14

Re: Зависание сервера FB 2.5 RC2

Сообщение denissoft » 08 окт 2010, 10:27

Отправил тестовое приложение и базу.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Зависание сервера FB 2.5 RC2

Сообщение hvlad » 08 окт 2010, 11:39

Спасибо, воспроизвел, изучаю.
Проблема связана с событиями (EVENT), подробнее позже.

denissoft
Сообщения: 23
Зарегистрирован: 30 сен 2010, 09:14

Re: Зависание сервера FB 2.5 RC2

Сообщение denissoft » 08 окт 2010, 11:54

Хорошо буду ждать результатов. :D

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Зависание сервера FB 2.5 RC2

Сообщение hvlad » 08 окт 2010, 12:27

Попробуй в программе подписаться на события. Всё равно на какие - главное подписаться.

denissoft
Сообщения: 23
Зарегистрирован: 30 сен 2010, 09:14

Re: Зависание сервера FB 2.5 RC2

Сообщение denissoft » 08 окт 2010, 12:46

Зависонов нет, проблема в том, что не всем нужна подписка, это и коннект лишний и проблемы.
Для подписки на Event используется модифицированный IBEvent.
Приложение выслал.
Если потребуется исходники приложения и класса TMyIBEventAlerter вышлю.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Зависание сервера FB 2.5 RC2

Сообщение hvlad » 08 окт 2010, 12:51

denissoft писал(а):Зависонов нет
Вот и хорошо. Это будет способ обойти багу, пока не исправим в 2.5.1 (хотя в снапшотах исправлено будет конечно раньше, может и сегодня)
denissoft писал(а):проблема в том, что не всем нужна подписка, это и коннект лишний и проблемы.
Не понято о проблемах

denissoft
Сообщения: 23
Зарегистрирован: 30 сен 2010, 09:14

Re: Зависание сервера FB 2.5 RC2

Сообщение denissoft » 08 окт 2010, 13:47

Проблемы плавающие были в FB 1.5 и плохо воспроизводятся даже на стандартных TIBEvent,
тот class, что использую я практически нивелирует их, в основном это ничего не говорящие access violation в gds32.dll.
Возможно они уже устранены не знаю (в своё время об этой проблеме много писалось на различных форумах).
Не буду утверждать, использую Event редко и события ловят только те пользователи
которым нужно оперативно реагировать на поступление новых данных.
До устранения на Classic перейти всё равно не реально, т.к. даже если приложение будет регистрировать event,
те же подключения из IB_Expert могут вызвать зависания.

P.S. пожалуйста, отпишите по выходу снапшота с решением проблемы.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Зависание сервера FB 2.5 RC2

Сообщение hvlad » 08 окт 2010, 16:55

denissoft писал(а):Проблемы плавающие были в FB 1.5 и плохо воспроизводятся даже на стандартных TIBEvent
А при чём тут 2.5 ?
denissoft писал(а):тот class, что использую я практически нивелирует их, в основном это ничего не говорящие access violation в gds32.dll.
Ваш exe с gds32.dll от IB (затесалась ко мне в system32 как-то) постоянно даёт AV. С нормальным клиентом - нет проблем. Выводы ? :)
denissoft писал(а):До устранения на Classic перейти всё равно не реально
Я не склоняю ни к какому переходу :)
denissoft писал(а):т.к. даже если приложение будет регистрировать event,
те же подключения из IB_Expert могут вызвать зависания.
Не понял связи с предыдущим абзацем
denissoft писал(а):P.S. пожалуйста, отпишите по выходу снапшота с решением проблемы.
Исправление уже в SVN, как только снапшот обновится - можно проверять. По идее завтра и обновится.

PS См CORE-3170

denissoft
Сообщения: 23
Зарегистрирован: 30 сен 2010, 09:14

Re: Зависание сервера FB 2.5 RC2

Сообщение denissoft » 08 окт 2010, 21:30

Забей.
В понедельник скачаю, обновлюсь и отпишу по результатам.

Ответить