[Catalyst] Apache2 and mod_perl deployment issue

Adam Jimerson vendion at gmail.com
Tue Nov 15 00:22:46 GMT 2011


On Mon, Nov 14, 2011 at 5:31 PM, Tomas Doran <bobtfish at bobtfish.net> wrote:

>
> On 14 Nov 2011, at 19:24, Adam Jimerson wrote:
>
>> Would strace be able to follow the fork, or would I be in the same boat
>> there?  The only thing that I can see that would be causing it is a coup=
le
>> of lines like this:
>>
>
>
> Yes, it totally is (strace -f) - you just get the PID added..
>
>
>  {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f6cbf4b9e10}, 8) =3D 0
>> wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0, NULL) =3D 23937
>> wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 1}], 0, NULL) =3D 23938
>>
>
> Right - to it's waiting for child processes (as you're only seeing the
> parent without -f)


Here is the last several lines from a backtrace with the -f flag
http://pastie.org/2864471 (the whole backtrace is quite large but I piped
it to a file just in case)

In short I can find these errors:

stat("/usr/lib/perl5/site_perl/x86_64-linux-thread-multi", 0x7fff5f223030)
=3D -1 ENOENT (No such file or directory)
ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS,
0x7fff5f222d88) =3D -1 ENOTTY (Inappropriate ioctl for device)
...
lseek(1, 0, SEEK_CUR)                   =3D -1 ESPIPE (Illegal seek)
ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS,
0x7fff5f222d98) =3D -1 ENOTTY (Inappropriate ioctl for device)
...
stat("/usr/lib/perl5/site_perl/5.14.2/x86_64-linux-thread-multi/DynaLoader.=
pmc",
0x7fff5f222d50) =3D -1 ENOENT (No such file or directory)
stat("/usr/lib/perl5/site_perl/5.14.2/x86_64-linux-thread-multi/DynaLoader.=
pm",
0x7fff5f222cb0) =3D -1 ENOENT (No such file or directory)



>
>  Without the <Perl> block I get this error when trying to start Apache2:
>>
>> startproc:  exit status of parent of /usr/sbin/httpd2-prefork: 1
>>
>> Without the PerlSwitches line that is what causes it to segfault.
>>
>
> This is just totally broken. You can segfault your apache/mod_perl by
> pushing onto @INC or similar..
>
> You are using the prefork mpm, right?
>
> Assuming you are - your distro's mod_perl is totally broken. Try their
> mod_fastcgi instead? Why are you deploying with mod_perl anyway?
>
>
Yes I am using prefork mpm, I will open a bug report against the mod_perl
in my distro.  My reason for deploying with mod_perl rather than fastcgi is
the speed advantage and shared memory that mod_perl deployment had over
fastcgi, assuming of course this still holds true
http://search.cpan.org/~hkclark/Catalyst-Manual-5.9002/lib/Catalyst/Manual/=
Deployment/Apache/mod_perl.pod#Pros.


Looking at the Catalyst Manual for FastCGI deployment one thing that I
don't quite agree with is that mod_fastcgi relies so much on mod_rewrite
rules, although mostly to elimitate the need for the trailing forward slash
or for authorization.  If my impression is wrong please correct me.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20111114/583e2=
eff/attachment.htm


More information about the Catalyst mailing list