Hello,
I am running log4perl in a mod_perl2 script on an apache with worker
MPM.
Startig from 10 concurrent users, I am getting the following messages in
the error log.
[Fri Mar 20 10:37:28 2009] [error] [client 192.168.1.201] Couldn't set
semaphore during object creation: Identifier removed at
/usr/share/perl5/Log/Log4perl/Appender/Synchronized.pm line 45\n
More concurrent users means more of these errors.
The requests fail subsequently with http status 500.
Versions:
- Kernel: 2.6.22-14-generic
- Apache: 2.2.8 worker, self compiled
- log4perl 1.10-1 (Ubuntu)
Configuration:
Apache:
PerlRequire /apache/startup.pl
PerlWarn On
PerlTaintCheck On
Alias /action/ /apache/action/
<Location /action/>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
Order allow,deny
Allow from all
</Location>
Log4Perl:
...
my $conf = qq(
log4perl.category = $threshold, Syncer
# File appender (unsynchronized)
log4perl.appender.Logfile =
Log::Log4perl::Appender::File
log4perl.appender.Logfile.autoflush = 1
log4perl.appender.Logfile.filename = $filename
log4perl.appender.Logfile.mode = append
log4perl.appender.Logfile.layout =
Log::Log4perl::Layout::PatternLayout
log4perl.appender.Logfile.layout.ConversionPattern =
%d{dd/MMM/yyyy:HH:mm:ss} %p %m%n
# Synchronizing appender, using the file appender above
log4perl.appender.Syncer =
Log::Log4perl::Appender::Synchronized
log4perl.appender.Syncer.appender = Logfile
log4perl.appender.Syncer.destroy = 1
);
Log::Log4perl::init( \$conf );
my $logger = Log::Log4perl::get_logger();
...
The threshold is set to INFO meaning that every call results in a single
log entry being made. The script runs for about one second.
When I tried out running the script as a handler (instead of the registry
method), this did not
change the behaviour.
I understand that there are performance limits and eventually failures,
but is not that a bit early, with only ten concurrent usersr?
So I guess I have a misconfigured setup. Could anybody give me a good
hint? I googled for my error, but without luck.
Regs,
Christian Folini
--
I myself am human and free only to the extent that I acknowledge the
humanity and liberty of all my fellows...
--- Mikhail Bakunin
------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
log4perl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/log4perl-devel