tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <rainer.j...@kippdata.de>
Subject Re: (28)No space left on device: mod_jk: could not create jk_log_lock
Date Mon, 03 Sep 2007 10:44:39 GMT
Frank.Mensch@rz-kiru.de wrote:
> Hello,
> 
> tomorrow i had the problem, that my Apache (Apache/2.2.4 (Unix)
> mod_ssl/2.2.4 OpenSSL/0.9.8d mod_jk/1.2.25) didn't start up. In the
> "error.log" of the Apache the following error message can be found:
> 
> [Sun Sep 02 11:20:30 2007] [crit] (28)No space left on device:
> mod_jk: could not create jk_log_lock Configuration Failed
> 
> Disk space definitely wasn't the problem, i checked the available
> space by executing "df" and every partition had at least 25%
> available free disk space.
> 
> /dev/sda3              3076316   2224224    852092  73% / tmpfs
> 517592         8    517584   1% /dev/shm /dev/sda1
> 530088     41692    488396   8% /boot /dev/sda5               409580
> 58016    351564  15% /tmp /dev/sda6               530088    100712
> 429376  19% /var/log /dev/sdb1             18425928    622312
> 17803616   4% /piro
> 
> I tried to start the Apache again, but it still didn't come up. After
> rebooting the complete server, the problem was gone and the Apache
> started up as always.
> 
> Does anybody have a tip, what could have been the problem? Are
> similiar problems known? Maybe the Apache has problems handling with
> semaphores? A similar problem was known in Apache 2.053, but up to
> now Apache 2.24 didn't have any problems yet.

Which platform do you use?

The message means, that apr_global_mutex_create() wasn't successful. We 
(mod_jk) call it for a lock type of APR_LOCK_DEFAULT. This automatically 
maps to one of

APR_LOCK_FCNTL,         /**< fcntl() */
APR_LOCK_FLOCK,         /**< flock() */
APR_LOCK_SYSVSEM,       /**< System V Semaphores */
APR_LOCK_PROC_PTHREAD,  /**< POSIX pthread process-based locking */
APR_LOCK_POSIXSEM,      /**< POSIX semaphore process-based locking */

So what's the default for your platform?

The general preference is (APR 1.2 used in Apache httpd 2.2):

- flock
- sysvsem
- fcntl
- pthread
- posix semaphore

To find out, what was detected as available during your Apache httpd or 
APR build, you need to check the header file apr.h, which gets generated 
when building apr resp. httpd. The following command shows you the 
available locking methods:

$ grep SERIALIZE apr.h
#define APR_USE_FLOCK_SERIALIZE           0
#define APR_USE_SYSVSEM_SERIALIZE         0
#define APR_USE_POSIXSEM_SERIALIZE        0
#define APR_USE_FCNTL_SERIALIZE           1
#define APR_USE_PROC_PTHREAD_SERIALIZE    0
#define APR_USE_PTHREAD_SERIALIZE         1
#define APR_HAS_FLOCK_SERIALIZE           0
#define APR_HAS_SYSVSEM_SERIALIZE         1
#define APR_HAS_POSIXSEM_SERIALIZE        1
#define APR_HAS_FCNTL_SERIALIZE           1
#define APR_HAS_PROC_PTHREAD_SERIALIZE    1

So this platform supports (HAS) all of them apart from flock, but it 
will only use fcntl and pthread. Since fcntl has higher general 
preference it will be the default.

You could also find out this by using:

$ ./httpd -V|grep SERIALIZE
  -D APR_USE_FCNTL_SERIALIZE
  -D APR_USE_PTHREAD_SERIALIZE
  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT

Now that you know the method used, you could check the man pages of the 
call, to find out possible reasons for error 28.

Hope that makes sense to you.

> Thanks in advance for your reply!
> 
> Greetz Frank

Regards,

Rainer

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message