We have a big deadlock-problem, Kernel 7.4.3 Build 017-123-039-277 Runtime Environment : X64/SUN 7.4.3 Build 017-123-039-277
A java-program fills our sapdb with data running on localhost every 5 minutes. This is done in one transaction. The required time normally varies from 20 seconds to some minutes. So we stored about 6 Gigabytes in a few tables, all belonging to the same database user account. To read this stuff we are using a java-servlet with jdbc on tomcat on a remote computer. This program uses only select, no insert or update . When using the query-program in the timespan while the data-feed program is inserting data, then the deadlock occures. Closing the webinterface has no effect, tomcat still holds the connections. Stopping the application in tomcat causes tomcat to release connections after 20 minutes. So the concurrent tasks should be finished, but after closed connections the feed-program is still waiting further 10 minutes before finishing with some (ca 1000) insert-statements. Table LOCKSTATISTICS shows "?" for REQMODE and ROWIDHEX KNLDIAGERR has no entry since last startup KNLDIAG shows a few warnings like this: 2003-10-14 17:23:23 128 WNG 11824 COMMUNIC Releasing T120 command timeout A truss on the sapdb-kernel while deadlock repeats endless: ########################################################################## 14295: lwp_sema_wait(0xFFFFFFFF7E125158) (sleeping...) 14295: Received signal #14, SIGALRM, in lwp_sema_wait() [caught] 14295: lwp_sema_wait(0xFFFFFFFF7E125158) Err#91 ERESTART 14295: sigprocmask(SIG_SETMASK, 0xFFFFFFFF7D00BCC0, 0x00000000) = 0 14295: lwp_sema_post(0x100A53288) = 0 14295: lwp_sema_wait(0x100A53288) = 0 14295: sigprocmask(SIG_SETMASK, 0xFFFFFFFF7E133EF8, 0x00000000) = 0 14295: lwp_mutex_lock(0xFFFFFFFF7E12D0D0) = 0 14295: setcontext(0xFFFFFFFF7D00B2A0) 14295: waitid(P_PID, 14297, 0xFFFFFFFF7FFFF110, WEXITED|WTRAPPED|WNOHANG) = 0 14295: sigprocmask(SIG_BLOCK, 0xFFFFFFFF7E125148, 0x00000000) = 0 14295: lwp_sema_post(0xFFFFFFFF7E125158) = 0 14295: setitimer(ITIMER_REAL, 0xFFFFFFFF7D00BA30, 0x00000000) = 0 14295: sigprocmask(SIG_UNBLOCK, 0xFFFFFFFF7E125148, 0x00000000) = 0 14295: lwp_sema_wait(0xFFFFFFFF7E125158) = 0 14295: sigprocmask(SIG_BLOCK, 0xFFFFFFFF7E125148, 0x00000000) = 0 14295: setitimer(ITIMER_REAL, 0xFFFFFFFF7D00BA30, 0x00000000) = 0 14295: sigprocmask(SIG_UNBLOCK, 0xFFFFFFFF7E125148, 0x00000000) = 0 14295: lwp_sema_wait(0x100A53288) (sleeping...) 14295: signotifywait() (sleeping...) 14295: door_return(0x00000000, 0, 0x00000000, 0) (sleeping...) 14295: lwp_cond_wait(0xFFFFFFFF7E12D0C0, 0xFFFFFFFF7E12D0D0, 0xFFFFFFFF7E123CB0 ) (sleeping...) 14295: lwp_sema_wait(0xFFFFFFFF7E125158) (sleeping...) 14295: Received signal #14, SIGALRM, in lwp_sema_wait() [caught] ... ########################################################################## Thank you very much in advance for your help! Best regards Klaus
