please help me out LIBTUX_CAT:6029_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4363 | 回复: 0   主题: please help me out LIBTUX_CAT:6029        下一篇 
张伟
注册用户
等级:列兵
经验:110
发帖:81
精华:0
注册:2011-12-22
状态:离线
发送短消息息给张伟 加好友    发送短消息息给张伟 发消息
发表于: IP:您无权察看 2014-10-10 16:19:18 | [全部帖] [楼主帖] 楼主

HI ALL,
these days, i got some problem.
the client called the service, but didn't get reply. in the app log, i found the service have got the require, and processed it.
In the ULOG, i found that
144150.coresys1!CadAccount.2212082.1328558134.0: gtrid x0 x4ecc5abb x174847IBTUX_CAT:6029: ERROR: tpreturn called outside the original service thread
144150.coresys1!CadAccount.2212082.1328558134.0: gtrid x0 x4ecc5abb x174847IBTUX_CAT:518: ERROR: Service 'CADSysBnkCwd' failed to call tpreturn or tpforward
and only way to work around it is rebooting the according server.
now, i want know LIBTUX_CAT:6029 when and why the error comes out, could anybody show me a example?
Hi,
I'm guessing you have a multi-threaded server and tried to perform a tpreturn() in a different thread than was executing the service. This would explain both error messages as the first message just indicates the wrong thread did the tpreturn(), and the second message says that your service routine returned to the Tuxedo main dispatching loop without ever performing a tpreturn() or tpforward(). The function that is called to handle a service request must eventually perform either a tpreturn() or tpforward().
If your server is single-threaded then I'd have to guess you have a memory corruption problem or something similar.
Regards,
Todd Little
Oracle Tuxedo Chief Architect
thank you for your reply.
our server is single-thread, and we also think the server memory was messed up by someone sevice.
now problem we meet is how to find out which service did that ?
is there better way to trace the server ?
Hi,
If it is just Tuxedo-trace you're looking for, the easiest to turn on the trace-facility (example if you wanna have some basic trace for every service in every server in a group)
$tmadmin
\>chtr -g MY_GROUP on
\>quit
do your stuff and when you're done
$tmadmin
\>chtr -g MY_GROUP off
\>quit
Check out tmtrace for more details and how to get more fine grained trace
Best regards,
Kristian
Edited by: Kristian Ivarsson on 2011-dec-08 01:59
Hi,
It may be corrupted memory, but those are weird errors to get for it. What platform are you on and what language are your services written in?
There are a number of tools available to help find memory leaks and/or memory corruption. Ones to consider are Purify, Insure++, Electric Fence, and Valgrind. If you are on Solaris, Solaris Studio also has some analysis tools that might help in tracking down this problem.
Regards,
Todd Little
Oracle Tuxedo Chief Architect


--转自搜狗




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