Skip to main content

Problem:

  • Product Name: BES
  • Product Version: 6.5 64-bit
  • Product Component: Apache Web server
  • Platform/OS Version: Solaris 8
  • JDK/Compiler Version: 1.3.1/1.4.1

BES65 : Apache 64 bit SSL module fails to acquire global mutex lock, with the following error message in the log:

[Wed May 04 09:45:14 2005] [warn] (45)Deadlock situation detected/avoided: Failed to acquire global mutex lock

[Wed May 04 09:58:35 2005] [warn] (45)Deadlock situation detected/avoided: Failed to acquire global mutex lock

[Wed May 04 09:58:35 2005] [error] (45)Deadlock situation detected/avoided: Cannot open SSLSessionCache DBM file `/export/home/inprise/bes65_vorintegration/ElBa/var/domains/ElBa/configurations/ElBa_Vorintegration/mos/Apache/ssl/ssl_cache" for reading (fetch)

[Wed May 04 10:03:08 2005] [warn] (45)Deadlock situation detected/avoided: Failed to acquire global mutex lock

[Wed May 04 10:04:12 2005] [warn] (45)Deadlock situation detected/avoided: Failed to acquire global mutex lock

Resolution:

This is a known issue with apache (http://issues.apache.org/bugzilla/show_bug.cgi?id=32325), the apache developers changed the default accept mutex from "pthread" to "fcntl" between Apache 2.0.49 and 2.0.52.

Change the AcceptMutex directive from "default" to "pthread", this will restore the mutex mechanism employed by apache back to a thread/mutex based model rather tha n a fcntl-based system.

Some further explanation: 

  1. Deadlock: Deadlock is a permanent blocking of a set of threads that are competing for a set of resources.
  2. Mutex (mutual exclusion object): A mutex is a program object that allows multiple program threads to share the same resource, such as file access, but not simultaneously. When a program has been started, a mutex is created with a unique name. After this stage, any thread that needs the resource must lock the mutex from other threads while it is using the resource. The mutex is set to unlock when the data is no longer needed or the routine is finished.

Old KB# 15394

#Security
#VisiBroker
#HTTPServer
#Apache
#BorlandApplicationSerrver