apache2-mpm-prefork+mod_perl crashes on start

Bug #898927 reported by Bryan Beeley
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apache2 (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

After connecting to an Oracle database (through Catalyst and DBIx::Class) in a Perl script run through PerlRequire or PerlPostConfigRequire, apache2 will silently die. No error messages show up in the error.log.

If Apache2::ServerUtil::restart_count() is used to only run the database connection in restart 2 or greater, apache2 will run as normal. However, if apache2 is restarted using apache2ctl restart, an error message like this is generated:

[Fri Dec 02 00:35:09 2011] [notice] seg fault or similar nasty error detected in the parent process

This problem was seen using DBD::Oracle 1.28 and Oracle Instant Client 11.2.0.1.0.

I was not able to produce a core dump, but I am not 100% sure that I know how to do this in apache2. I tried setting enabled=1 in /etc/default/apport, starting apport, running 'sudo -s ulimit -c unlimited', and adding a CoreDumpDirectory directive to apache2.conf.

I am seeing the same problem on Ubuntu 11.11 with apache2 2.2.20-1ubuntu1.1.

I am not an expert on the internals of apache2, but it looks like this has something to do with loading Oracle into memory and the way the database handle is shared between a parent and a child after a fork. DBIx::Class claims to do "the right thing" with database connections when forking, but somehow that is not enough with this new build of apache2.

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: apache2-mpm-prefork 2.2.14-5ubuntu8.7
ProcVersionSignature: Ubuntu 2.6.32-35.78-server 2.6.32.46+drm33.20
Uname: Linux 2.6.32-35-server x86_64
Architecture: amd64
Date: Fri Dec 2 01:21:58 2011
InstallationMedia: Ubuntu-Server 10.04.2 LTS "Lucid Lynx" - Release amd64 (20110211.1)
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: apache2

Revision history for this message
Bryan Beeley (3-c-m) wrote :
Bryan Beeley (3-c-m)
description: updated
Bryan Beeley (3-c-m)
description: updated
description: updated
Bryan Beeley (3-c-m)
description: updated
Revision history for this message
Bryan Beeley (3-c-m) wrote :

I think a Perl package may be the culprit, rather than apache2.

Changed in apache2 (Ubuntu):
status: New → Invalid
description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.