deadlock when queues are empty and no messages are c_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4903 | 回复: 0   主题: deadlock when queues are empty and no messages are c        下一篇 
bocai33683
注册用户
等级:新兵
经验:71
发帖:7
精华:0
注册:2013-1-4
状态:离线
发送短消息息给bocai33683 加好友    发送短消息息给bocai33683 发消息
发表于: IP:您无权察看 2014-10-10 16:54:01 | [全部帖] [楼主帖] 楼主

Hello tuxedo users,

I am facing to the problem with deadlocks on queues.

The queues are nonpersistent and we have to get the messages from the queue as soon as possible.

So we are using tmqforward with -i -420 (it is 420msec between delays when queue is empty).

The definition of queue in ubb is:

Q_TP1 LMID=TuxA GRPNO=119 TMSCOUNT=5 TMSNAME=TMS_QM OPENINFO="TUXEDO/QM:/home/tux-st2/queues/QUEMSG_TP北京联动北方科技有限公司SPACE_TP_A"

TMQUEUE SRVID=1230 MIN=1 MAX=3 SRVGRP=Q_TP1 CLOPT="-o logs/stdout -e logs/stderr -s QSPACE_TP_A,QSPACE_TP:TMQUEUE --"

TMQFORWARD SRVID=1245 MIN=3 MAX=4 SRVGRP=Q_TP1 GRACE=0 RESTART=Y CONV=N MAXGEN=10 CLOPT="-o logs/stdout -e logs/stderr -- -i -420 -n -q TP_REQ"

The problem is, that if there are no messages comming, there is sometimes (ones per 14days) deadlock detected and TMQUEUE, TMQFORWARD and TMS_QM are from the deadlock time to forever consuming 100% cpu and client will receive TPEBLOCK. Th /WS client is also periodically using signal sending command to interrupt the tpdequeue. The client is trying to send message to request queue - on this queue is tmqforward which i trying to send it asap to the framework and the answer is inserted to reply queue - where the client is listening using tpdequeue TPQWAIT.

This is the problematic log situation:

000646.tuxa!TMQUEUE.28248.1.0: gtrid x0 x4fc3912d x72b519: Q_CAT:1447: WARN: [Semaphore appears stuck - currently held by 28111]

000646.tuxa!TMQUEUE.28248.1.0: gtrid x0 x4fc3912d x72b519: : additional deadlock diagnostic (28248/0/670/4/4/14/-1/28111)

000646.tuxa!TMS_QM.28111.1.0: gtrid x0 x4fc3912d x72b519: Q_CAT:1447: WARN: [Semaphore appears stuck - currently held by 28248]

000646.tuxa!TMS_QM.28111.1.0: gtrid x0 x4fc3912d x72b519: : additional deadlock diagnostic (28111/0/670/5/14/4/-1/28248)

000646.tuxa!TMQFORWARD.1111.1.0: gtrid x0 x4fc3912d x72b51c: Q_CAT:1447: WARN: [Semaphore appears stuck - currently held by 28111]

000646.tuxa!TMQFORWARD.1111.1.0: gtrid x0 x4fc3912d x72b51c: : additional deadlock diagnostic (28248/0/670/4/4/14/-1/28111)

000646.tuxa!TMQFORWARD.835.1.0: gtrid x0 x4fc3912d x72b533: Q_CAT:1447: WARN: [Semaphore appears stuck - currently held by 28111]

000646.tuxa!TMQFORWARD.835.1.0: gtrid x0 x4fc3912d x72b533: : additional deadlock diagnostic (28248/0/670/4/4/14/-1/28111)

000646.tuxa!TMQFORWARD.1112.1.0: gtrid x0 x4fc3912d x72b531: Q_CAT:1447: WARN: [Semaphore appears stuck - currently held by 28111]

000646.tuxa!TMQFORWARD.1112.1.0: gtrid x0 x4fc3912d x72b531: : additional deadlock diagnostic (28248/0/670/4/4/14/-1/28111)

000648.tuxa!TMS_QM.28117.1.0: gtrid x0 x4fc3912d x72b32c: Q_CAT:1447: WARN: [Semaphore appears stuck - currently held by 28111]

000648.tuxa!TMS_QM.28117.1.0: gtrid x0 x4fc3912d x72b32c: : additional deadlock diagnostic (28248/0/670/4/4/14/-1/28111)

000658.tuxa!TMS_QM.27711.1.0: gtrid x0 x4fc3912d x72b1f9: Q_CAT:1447: WARN: [Semaphore appears stuck - currently held by 28111]

000658.tuxa!TMS_QM.27711.1.0: gtrid x0 x4fc3912d x72b1f9: : additional deadlock diagnostic (28248/0/670/4/4/14/-1/28111)

000706.tuxa!TMSYSEVT.15205.1.0: LIBTUX_CAT:1485: ERROR: .SysNetworkDropped: pfcs->TuxB connection dropped

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72baca: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bacb: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bacc: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bacd: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bace: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bacf: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bad0: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bad1: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bad2: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bad3: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bad4: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bad5: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bad6: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bad7: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bad8: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bad9: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bada: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72badb: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72badc: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72badd: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bade: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72badf: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bae0: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bae1: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bae2: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bae3: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bae4: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bae5: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bae6: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bae7: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bae8: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72bae9: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72baea: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72baeb: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72baec: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

000708.tuxa!WSH.8075.1.0: gtrid x0 x4fc3912d x72baed: WSNAT_CAT:1300: ERROR: tpcall() call for service QSPACE_TP_A failed, tperrno = 3

.... infinit

so, what can I do to avoid this situation please?

Tuxedo 9.1 RP 092, 32bit PARISC on ia64 B.11.23

the queue creation script is:

./qcreateTP.sh 11 A

#!/bin/sh

IPCKEY=$1`id -u`

echo IPCKEY = $IPCKEY

export QMCONFIG=$APPDIR/queues/QUEMSG_TP

qmadmin $QMCONFIG << END1

echo

qspds -f -y QSPACE_TP_$2

q

END1

rm $QMCONFIG

qmadmin $QMCONFIG << END

echo

crdl $QMCONFIG 0 20483

qspacecreate -n 10240 -A 100

QSPACE_TP_$2

$IPCKEY

10240

7

600

50

20000

ERRORQ

y

16

qopen QSPACE_TP_$2

qcreate -d nonpersist

TP_REQ

fifo

none

0

0

80%

5%

sh $APPDIR/scripts/qfull.sh 80 QSPACE_TP_$2 $QMCONFIG TP_REQ

qcreate -d nonpersist -e +300

TP_RES_1

fifo

none

0

0

80%

5%

sh $APPDIR/scripts/qfull.sh 80 QSPACE_TP_$2 $QMCONFIG TP_RES_1

qcreate -d nonpersist -e +300

TP_RES_2

fifo

none

0

0

80%

5%

sh $APPDIR/scripts/qfull.sh 80 QSPACE_TP_$2 $QMCONFIG TP_RES_2

qcreate -d nonpersist -e +300

TP_RES_3

fifo

none

0

0

80%

5%

sh $APPDIR/scripts/qfull.sh 80 QSPACE_TP_$2 $QMCONFIG TP_RES_3

qcreate -d nonpersist -e +300

TP_RES_4

fifo

none

0

0

80%

5%

sh $APPDIR/scripts/qfull.sh 80 QSPACE_TP_$2 $QMCONFIG TP_RES_4

qcreate -d nonpersist -e +300

TP_RES_5

fifo

none

0

0

80%

5%

sh $APPDIR/scripts/qfull.sh 80 QSPACE_TP_$2 $QMCONFIG TP_RES_5

qcreate -d nonpersist -e +86400

ERRORQ

fifo

none

0

0

80%

0%

sh $APPDIR/scripts/qfull.sh 80 QSPACE_TP_$2 $QMCONFIG ERROR

q

END

Edited by: zuchy on 6.6.2012 2:03

--友情转载




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论