Why don't JBoss Guys offer a solution to [TransactionImpl] T
thof Jun 28, 2006 8:29 AMHi,
we developed an high throuhput app (a lot of DB insert/updates). Some customers are using jboss in production for that app. But sometimes jboss reports the well known (!!) but unfixed error (warning?)
16:08:57,977 WARN [TransactionImpl] Transaction TransactionImpl:XidImpl[FormatId=257, GlobalId=actout04/1530891, BranchQual=, localId=1530891] timed out. status=STATUS_ACTIVE
and the processing of records stops. Each record is processed in a seperate tx! There is no exception or any other hint to find the reason for the problem. If the tx times out, I would expect a rollback, but the processing seems to hang. What can we do to fix this problem, especially if we can't reproduce this behaviour?
I'v started a Solaris truss for the hanging process and it delivers some strange infos:
lwp_kill(661, SIGUSR2) = 0
sigprocmask(SIG_SETMASK, 0x926FDAB0, 0x00000000) = 0
setcontext(0x926FD960)
Received signal #17, SIGUSR2 [caught]
siginfo: SIGUSR2 pid=3401 uid=201 code=-1
sysconfig(_CONFIG_SIGRT_MIN) = 38
sigprocmask(SIG_SETMASK, 0xFF38DB28, 0x00000000) = 0
lwp_cond_wait(0x000376B8, 0x000376A0, 0xF99817E8) = 0
lwp_cond_broadcast(0x000376B8) = 0
lwp_mutex_wakeup(0x000376A0) = 0
lwp_mutex_lock(0x000376A0) = 0
sigprocmask(SIG_SETMASK, 0xFF399870, 0x00000000) = 0
sysconfig(_CONFIG_SIGRT_MIN) = 38
lwp_suspend(660) = 0 [0]
lwp_kill(660, SIGLWP) = 0
lwp_continue(660) = 0
Received signal #33, SIGLWP [caught]
siginfo: SIGLWP pid=3401 uid=201 code=-1
lwp_mutex_lock(0xFF3940B0) = 0
sysconfig(_CONFIG_SIGRT_MIN) = 38
setcontext(0x926FD960)
sigprocmask(SIG_SETMASK, 0xFF38DB28, 0x00000000) = 0
Incurred fault #1, FLTILL %pc = 0x00A192CC
siginfo: SIGILL ILL_ILLTRP addr=0x00A192CC
lwp_cond_broadcast(0x92801FE0) = 0
Received signal #4, SIGILL [caught]
siginfo: SIGILL ILL_ILLTRP addr=0x00A192CC
lwp_cond_wait(0x92801FE0, 0xFF3940B0, 0x00000000) = 0
lwp_mutex_wakeup(0xFF3940B0) = 0
lwp_mutex_lock(0xFF3940B0) = 0
sysconfig(_CONFIG_SIGRT_MIN) = 38
mprotect(0x00A193C0, 412, PROT_READ|PROT_WRITE|PROT_EXEC) Err#22 EINVAL
lwp_sema_post(0x92801E78) = 0
lwp_sema_wait(0x92801E78) = 0
sigprocmask(SIG_SETMASK, 0xFF38DB28, 0x00000000) = 0
sigprocmask(SIG_SETMASK, 0xFF399870, 0x927FDA60) = 0
sigprocmask(SIG_SETMASK, 0xFF399870, 0x00000000) = 0
sigprocmask(SIG_SETMASK, 0x927FDA60, 0x00000000) = 0
sysconfig(_CONFIG_SIGRT_MIN) = 38
sigprocmask(SIG_SETMASK, 0xFF399870, 0x00000000) = 0
setcontext(0x926FD960)
sysconfig(_CONFIG_SIGRT_MIN) = 38
sigprocmask(SIG_SETMASK, 0xFF399870, 0x927FDA20) = 0
lwp_kill(660, SIGUSR2) = 0
sigprocmask(SIG_SETMASK, 0x927FDA20, 0x00000000) = 0
sigprocmask(SIG_SETMASK, 0xFF399870, 0x927FDAC0) = 0
lwp_kill(660, SIGUSR2) = 0
sigprocmask(SIG_SETMASK, 0x927FDAC0, 0x00000000) = 0
setcontext(0x927FD970)
Received signal #17, SIGUSR2 [caught]
siginfo: SIGUSR2 pid=3401 uid=201 code=-1
sysconfig(_CONFIG_SIGRT_MIN) = 38
sigprocmask(SIG_SETMASK, 0xFF38DB28, 0x00000000) = 0
lwp_cond_wait(0x000376B8, 0x000376A0, 0xF99817E8) = 0
lwp_cond_broadcast(0x000376B8) = 0
lwp_mutex_lock(0x000376A0) = 0
lwp_mutex_wakeup(0x000376A0) = 0
sigprocmask(SIG_SETMASK, 0xFF399870, 0x00000000) = 0
sysconfig(_CONFIG_SIGRT_MIN) = 38
setcontext(0x927FD970)
poll(0xF99817B8, 0, 1) = 0
Incurred fault #1, FLTILL %pc = 0x00A194F0
siginfo: SIGILL ILL_ILLTRP addr=0x00A194F0
Received signal #4, SIGILL [caught]
siginfo: SIGILL ILL_ILLTRP addr=0x00A194F0
lwp_suspend(57) = 0 [169]
lwp_mutex_wakeup(0xFF3940B0) = 0
lwp_mutex_lock(0xFF3940B0) = 0
sysconfig(_CONFIG_SIGRT_MIN) = 38
lwp_suspend(27) = 0 [169]
sigprocmask(SIG_SETMASK, 0xFF38DB28, 0x00000000) = 0
sigprocmask(SIG_SETMASK, 0xFF399870, 0x00000000) = 0
lwp_suspend(14) = 0 [169]
sysconfig(_CONFIG_SIGRT_MIN) = 38
setcontext(0x927FD970)
poll(0xF9981A68, 0, 1) = 0
lwp_suspend(2021) = 0 [0]
lwp_kill(2021, SIGLWP) = 0
and so on. Is there a deadlock? So to use Jboss in production mode, I hope Jboss guys can offer a solution.
Thx in advance
Thomas