httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Merrell, Vince [IT]" <vince.merr...@citigroup.com>
Subject RE: [users@httpd] Apache httpd dies after several hours, EDEADLK in accept() mutex with fcntl(), Solaris 9
Date Wed, 14 Apr 2004 06:20:32 GMT
Completely off the cuff thought but is the directory containing the LockFile
automounted at all?

Vince

-----Original Message-----
From: Jim Lawson [mailto:jtl+apache-users@uvm.edu]
Sent: 13 April 2004 22:09
To: users@httpd.apache.org
Subject: [users@httpd] Apache httpd dies after several hours, EDEADLK in
accept() mutex with fcntl(), Solaris 9


Greetings,

We are currently having a problem where Apache httpd dies after a
few/several hours of running.  We're currently building & running Apache
httpd version 1.3.29 on Solaris 9 (sun4u, Sunfire 280R) with all the
recommended OS patches.

Server Version: Apache/1.3.29 (Unix) DAV/1.0.3 PHP/4.3.5 mod_ssl/2.8.16
OpenSSL/0.9.7d
We also use mod_auth_dce for authentication.  DCE/DFS is installed on this
machine, and pages are served out of DFS.

The error message we get is:

[Tue Apr 13 00:18:39 2004] [emerg] (45)Deadlock situation
detected/avoided: fcntl: F_SETLKW: Error getting accept lock, exiting!
Perhaps you need to use the LockFile directive to place your lock file on
a local disk!
[Tue Apr 13 00:18:40 2004] [alert] Child 24258 returned a Fatal error...

At that point the master httpd process dies, and the children start dying
off.  Connections do not get answered consistently any more, until we go
in and kill off all the children, and restart apache.

The LockFile we're using is on local disk, not NFS or DFS.  The errno
fcntl is returning is EDEADLK (45), "Deadlock condition", which is a bit
frightening to us.

We're tried other AcceptMutex options - sysvsem doesn't seem to work at
all, exiting immediately.  pthread works for several hours, but eventually
all the httpd processes "freeze" with no messages and the server has to be
restarted.  (The docs say don't use pthread unless you have a barebones
httpd config, but we were running out of things to try.)

As yet, we haven't been able to re-create the problem except by putting
the machine into production, which is not our preferred method of testing.
:-)

Has anyone else seen this problem?  I've searched the web over, and found
a couple of references to this problem under Solaris 7 from a few years
ago, but no responses.  Anyone have any suggestions?



httpd -V sez:

Server version: Apache/1.3.29 (Unix)
Server built:   Mar 31 2004 15:30:26
Server's Module Magic Number: 19990320:15
Server compiled with....
 -D EAPI
 -D HAVE_MMAP
 -D USE_MMAP_SCOREBOARD
 -D USE_MMAP_FILES
 -D HAVE_FCNTL_SERIALIZED_ACCEPT
 -D HAVE_SYSVSEM_SERIALIZED_ACCEPT
 -D HAVE_PTHREAD_SERIALIZED_ACCEPT
 -D DYNAMIC_MODULE_LIMIT=64
 -D HARD_SERVER_LIMIT=256
 -D HTTPD_ROOT="/usr/local/apache-1.3.29-dce"
 -D SUEXEC_BIN="/usr/local/apache-1.3.29-dce/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/httpd.scoreboard"
 -D DEFAULT_LOCKFILE="logs/httpd.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"
 -D ACCESS_CONFIG_FILE="conf/access.conf"
 -D RESOURCE_CONFIG_FILE="conf/srm.conf"

httpd -l sez:

Compiled-in modules:
  http_core.c
  mod_env.c
  mod_log_config.c
  mod_log_referer.c
  mod_mime.c
  mod_negotiation.c
  mod_status.c
  mod_info.c
  mod_include.c
  mod_autoindex.c
  mod_dir.c
  mod_cgi.c
  mod_asis.c
  mod_imap.c
  mod_actions.c
  mod_userdir.c
  mod_alias.c
  mod_rewrite.c
  mod_access.c
  mod_auth.c
  mod_expires.c
  mod_headers.c
  mod_so.c
  mod_setenvif.c
  mod_auth_dce.c
suexec: disabled; invalid wrapper /usr/local/apache-1.3.29-dce/bin/suexec

-- 
Jim Lawson
Tech Support Group, Computing & Information Technology
The University of Vermont
Burlington, VT USA

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message