tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fredk2 <>
Subject Deadlock situation detected/avoided with jk_log_lock
Date Fri, 06 Feb 2009 17:13:22 GMT


I was doing some stress test (with apache ab, 100 users, 100K requests) to
compare an Apache prefork and worker mpm.  The test url is a simple hello
servlet on Tomcat 6.0.x via mod_jk. On my Sparc Solaris 10 server with only
the Apache set to worker mpm I see following error messages in my jk log: 

Apache/2.2.11 (Unix) with mod_jk/1.2.26 on Solaris 10. 
. . . 
[Thu Jan 08 11:42:28 2009] [error] (45)Deadlock situation detected/avoided:
apr_global_mutex_lock(jk_log_lock) failed 
. . .
[Thu Jan 08 11:42:29 2009] [emerg] (45)Deadlock situation detected/avoided:
apr_proc_mutex_lock failed. Attempting to shutdown process gracefully. 
[Thu Jan 08 11:42:29 2009] [error] (45)Deadlock situation detected/avoided:
apr_global_mutex_lock(jk_log_lock) failed 
. . . 

these errors do not appear to impact the test results and the jk log file
seems complete. 

I can suppress the errors by choosing another Mutex in the Apache directive
AcceptMutex, such as sysvsem or pthread.  For Solaris 10 the default mutex
for worker MPM is fcntl.  Setting the Mutex sysvsem (also the default on
Linux) marginally improves the request time. 

Can someone explain what exactly these errors means? when does it occur? 
I would have almost expect a "detected/avoided" to be a [warn] instead of an

I have seen the trail but I'd
like to hear updated experiences that people have with sysvsem mutexes on
Solaris 10 - what is the better mutex?  sysvsme, posixsem, pthread **?  

any comment will be appreciated. 

Many thanks, Fredk 
View this message in context:
Sent from the Tomcat - User mailing list archive at

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message