Зависание процессов classic на linux
-
- Сообщения: 98
- Зарегистрирован: 27 апр 2006, 09:32
server:/taxi/base # ./fb_lock_print -a | less
LOCK_HEADER BLOCK
Version: 16, Active owner: 0, Length: 5242880, Used: 2287008
Lock manager pid: 2879
Semmask: 0x6978, Flags: 0x0001
Enqs: 6987730, Converts: 105996, Rejects: 131700, Blocks: 654746
Deadlock scans: 0, Deadlocks: 0, Scan interval: 10
Acquires: 11723601, Acquire blocks: 372339, Spin count: 0
Mutex wait: 3.2%
Hash slots: 2039, Hash lengths (min/avg/max): 4/ 6/ 12
Remove node: 0, Insert queue: 0, Insert prior: 0
Owners (17): forward: 27216, backward: 1338212
Free owners (2): forward: 1911348, backward: 1371536
Free locks (1430): forward: 28248, backward: 397872
Free requests (5382): forward: 1831580, backward: 506460
Lock Ordering: Enabled
OWNER BLOCK 27216
Owner id: 2879, type: 1, flags: 0x04, pending: 0, semid: 1
Process id: 2879, UID: 0x0 Alive
Flags: 0x44 hung
Requests: *empty*
Blocks: *empty*
OWNER BLOCK 1272900
Owner id: 4519, type: 3, flags: 0x20, pending: 0, semid: 10 (available)
Process id: 4519, UID: 0x54 Alive
Flags: 0x20 wake
Requests (358): forward: 1453316, backward: 2012456
Blocks: *empty*
REQUEST BLOCK 1453316
Owner: 1272900, Lock: 27144, State: 4, Mode: 4, Flags: 0x00
AST: 0x0xb7deffe0, argument: 0x0xb7802698
lrq_own_requests: forward: 1735568, backward: 1272904
lrq_lbl_requests: forward: 1881552, backward: 27120
lrq_own_blocks : *empty*
REQUEST BLOCK 1735568
Owner: 1272900, Lock: 27348, State: 2, Mode: 2, Flags: 0x00
AST: 0x0xb7eaa160, argument: 0x0xb7802698
lrq_own_requests: forward: 1255808, backward: 1453316
lrq_lbl_requests: forward: 2010160, backward: 27324
lrq_own_blocks : *empty*
LOCK_HEADER BLOCK
Version: 16, Active owner: 0, Length: 5242880, Used: 2287008
Lock manager pid: 2879
Semmask: 0x6978, Flags: 0x0001
Enqs: 6987730, Converts: 105996, Rejects: 131700, Blocks: 654746
Deadlock scans: 0, Deadlocks: 0, Scan interval: 10
Acquires: 11723601, Acquire blocks: 372339, Spin count: 0
Mutex wait: 3.2%
Hash slots: 2039, Hash lengths (min/avg/max): 4/ 6/ 12
Remove node: 0, Insert queue: 0, Insert prior: 0
Owners (17): forward: 27216, backward: 1338212
Free owners (2): forward: 1911348, backward: 1371536
Free locks (1430): forward: 28248, backward: 397872
Free requests (5382): forward: 1831580, backward: 506460
Lock Ordering: Enabled
OWNER BLOCK 27216
Owner id: 2879, type: 1, flags: 0x04, pending: 0, semid: 1
Process id: 2879, UID: 0x0 Alive
Flags: 0x44 hung
Requests: *empty*
Blocks: *empty*
OWNER BLOCK 1272900
Owner id: 4519, type: 3, flags: 0x20, pending: 0, semid: 10 (available)
Process id: 4519, UID: 0x54 Alive
Flags: 0x20 wake
Requests (358): forward: 1453316, backward: 2012456
Blocks: *empty*
REQUEST BLOCK 1453316
Owner: 1272900, Lock: 27144, State: 4, Mode: 4, Flags: 0x00
AST: 0x0xb7deffe0, argument: 0x0xb7802698
lrq_own_requests: forward: 1735568, backward: 1272904
lrq_lbl_requests: forward: 1881552, backward: 27120
lrq_own_blocks : *empty*
REQUEST BLOCK 1735568
Owner: 1272900, Lock: 27348, State: 2, Mode: 2, Flags: 0x00
AST: 0x0xb7eaa160, argument: 0x0xb7802698
lrq_own_requests: forward: 1255808, backward: 1453316
lrq_lbl_requests: forward: 2010160, backward: 27324
lrq_own_blocks : *empty*
-
- Сообщения: 98
- Зарегистрирован: 27 апр 2006, 09:32
длинный - да, но не бесконечный. Высылать все. В момент подвиса. Если с одним ключом -l получится сильно меньше, то можно такой вариант выслать. Если несколько запусков с интервалом в минуту дают одинаковый вывод, то можно высылать один из них. Это должно означать, что висят все процессы классика до единого - так и есть де-факто или что-то таки умудряется работать?
-
- Сообщения: 98
- Зарегистрирован: 27 апр 2006, 09:32
-
- Сообщения: 98
- Зарегистрирован: 27 апр 2006, 09:32
почему-то мой почтовый сервер завернул письмо. заберите прямо с моего фтп. там всего 100kb архив.
ftp://33:33@213.186.210.150/logi.rar
В нем два файла в первом полный файл по команде fb_lock_print, и второй с ключем -a, достаточно длинный но конца я не дождался.
если нет возможности забрать по фтп вариант через хттп
http://213.186.210.151/logi.rar
ftp://33:33@213.186.210.150/logi.rar
В нем два файла в первом полный файл по команде fb_lock_print, и второй с ключем -a, достаточно длинный но конца я не дождался.
если нет возможности забрать по фтп вариант через хттп
http://213.186.210.151/logi.rar
-
- Сообщения: 98
- Зарегистрирован: 27 апр 2006, 09:32
ftp://33:33@213.186.210.150/1.rar
конфиг сервера, fb_lock_print без ключа и с ключем -l. С ключем -l полный файл.
также на хттп http://213.186.210.151/1.rar
конфиг сервера, fb_lock_print без ключа и с ключем -l. С ключем -l полный файл.
также на хттп http://213.186.210.151/1.rar
-
- Сообщения: 98
- Зарегистрирован: 27 апр 2006, 09:32
вот еще один блок, теперь и с ключем -a, и -l полные файлы.
ftp://33:33@213.186.210.150/2.rar
http://213.186.210.151/2.rar
размер архива 1,5 метра.
ftp://33:33@213.186.210.150/2.rar
http://213.186.210.151/2.rar
размер архива 1,5 метра.
-
- Сообщения: 98
- Зарегистрирован: 27 апр 2006, 09:32
разобрался почему долго отрабатывал сбор с ключем -a. Просто заходил через инет на машину терминалом и отрабатывало долго, локально все работает шустро.
Итак окончательный вариант сбора инфы в момент блокировки:
1. Чистый fb_lock_print -называется "bez"
2. fb_lock_print -l -называется "kl_l"
3 и пять файлов с fb_lock_print с ключем -a. разница в выполнении между ними 1 минута. название "kl_a_1" - "kl_a_5"
ftp://33:33@213.186.210.150/3.rar
http://213.186.210.151/3.rar
размер архива 4 метра.
Итак окончательный вариант сбора инфы в момент блокировки:
1. Чистый fb_lock_print -называется "bez"
2. fb_lock_print -l -называется "kl_l"
3 и пять файлов с fb_lock_print с ключем -a. разница в выполнении между ними 1 минута. название "kl_a_1" - "kl_a_5"
ftp://33:33@213.186.210.150/3.rar
http://213.186.210.151/3.rar
размер архива 4 метра.
-
- Сообщения: 98
- Зарегистрирован: 27 апр 2006, 09:32
Вы про меня не забыли?
Я так понимаю это ставить нет смысла? http://www.firebirdsql.org/index.php?op ... =fb201_rc1
Я так понимаю это ставить нет смысла? http://www.firebirdsql.org/index.php?op ... =fb201_rc1
-
- Сообщения: 98
- Зарегистрирован: 27 апр 2006, 09:32
Lock Timeout for WAIT Transactions
A. Karyakin, D. Yemanov
All Firebird versions provide two transaction wait modes: NO WAIT and WAIT. NO WAIT mode
means that lock conflicts and deadlocks are reported immediately, while WAIT performs a blocking
wait which times out only when the conflicting concurrent transaction ends by being committed or
rolled back.
The new feature extends the WAIT mode by making provision to set a finite time interval to wait for
the concurrent transactions. If the timeout has passed, an error (isc_lock_timeout) is reported.
Timeout intervals are specified per transaction, using the new TPB constant isc_tpb_lock_timeout in
the API or, in DSQL, the LOCK TIMEOUT <value> clause of the SET TRANSACTION statement.
Вот такого зверя в описании увидел в релизе от 26 января.
Вопрос а зачем это вообще сделали? Ведь при коректной работе блокировщика в этом просто НЕТ необходимости. Или разработчики в курсе не коректной работы менеджера блокировок и пытаються решить проблему таким образом? Господа прошу не молчите, что с "моей" проблемой? Отпишите что прога кривая у меня и я все пойму. Но просто игнорить не нужно плиз.
Что самое интересное у меня нет ни одной wait транзакции, и я в принципе на блокировку попасть не могу, просто должно клиенту быть НЕМЕДЛЕННО сообщение о update lock ..... Чего не происходит.
A. Karyakin, D. Yemanov
All Firebird versions provide two transaction wait modes: NO WAIT and WAIT. NO WAIT mode
means that lock conflicts and deadlocks are reported immediately, while WAIT performs a blocking
wait which times out only when the conflicting concurrent transaction ends by being committed or
rolled back.
The new feature extends the WAIT mode by making provision to set a finite time interval to wait for
the concurrent transactions. If the timeout has passed, an error (isc_lock_timeout) is reported.
Timeout intervals are specified per transaction, using the new TPB constant isc_tpb_lock_timeout in
the API or, in DSQL, the LOCK TIMEOUT <value> clause of the SET TRANSACTION statement.
Вот такого зверя в описании увидел в релизе от 26 января.
Вопрос а зачем это вообще сделали? Ведь при коректной работе блокировщика в этом просто НЕТ необходимости. Или разработчики в курсе не коректной работы менеджера блокировок и пытаються решить проблему таким образом? Господа прошу не молчите, что с "моей" проблемой? Отпишите что прога кривая у меня и я все пойму. Но просто игнорить не нужно плиз.
Что самое интересное у меня нет ни одной wait транзакции, и я в принципе на блокировку попасть не могу, просто должно клиенту быть НЕМЕДЛЕННО сообщение о update lock ..... Чего не происходит.
Хороший вопрос, действительно - зачем ? Наверное чтобы время потратить...victor3000 писал(а):Lock Timeout for WAIT Transactions
...
Вот такого зверя в описании увидел в релизе от 26 января.
Вопрос а зачем это вообще сделали?
Страничные блокировки и ожидание завершения конкурирующей тр-ции с тайм-аутом не имеют между собой ровно ничего общегоvictor3000 писал(а):Ведь при коректной работе блокировщика в этом просто НЕТ необходимости.
Мимо кассы.victor3000 писал(а):Или разработчики в курсе не коректной работы менеджера блокировок и пытаються решить проблему таким образом?
Я не знаю, что нашёл или не нашёл dimitr, но совершенно не уверен, что твоя проблема именно в блокировщике.
Да никто тебя не игнорит...victor3000 писал(а):Господа прошу не молчите, что с "моей" проблемой? Отпишите что прога кривая у меня и я все пойму. Но просто игнорить не нужно плиз.
Неужели за всё это время нельзя было родить воспроизводимый пример, если проблема так колется ?
Потому что ожидание тр-ций тут совершенно не при чём - всё просто, не так ли ?victor3000 писал(а):Что самое интересное у меня нет ни одной wait транзакции, и я в принципе на блокировку попасть не могу, просто должно клиенту быть НЕМЕДЛЕННО сообщение о update lock ..... Чего не происходит.
Ты, когда зависший коннект отстреливаешь, можешь backtrace снять ?
-
- Сообщения: 98
- Зарегистрирован: 27 апр 2006, 09:32
ну почему на колкость так быстро отвечают?
а просто спросил как там так в ответ тишина.
а по поводу бектрейса или как его там то я с удовольствием его сниму если скажите как это сделать. по поводу воспроизведимого примера так это мимо кассы, поскольку это просто нереально по многим причинам. ну вот скажите мне можно специально поставить блокировку из программы либо какимито действиями которую мы увидим явно висящую под линуксом дав команду fb_lock_print ????
а просто спросил как там так в ответ тишина.
а по поводу бектрейса или как его там то я с удовольствием его сниму если скажите как это сделать. по поводу воспроизведимого примера так это мимо кассы, поскольку это просто нереально по многим причинам. ну вот скажите мне можно специально поставить блокировку из программы либо какимито действиями которую мы увидим явно висящую под линуксом дав команду fb_lock_print ????
-
- Сообщения: 98
- Зарегистрирован: 27 апр 2006, 09:32