mod_perl Silent Failure, Very Mysterious
Hello everyone, I'm trying to enable a web app (Catalyst ShinyCMS) to run under mod_perl, it is definitely supposed to work but it fails without any errors, and I've been trying for several days to get it working. My system info: * Perl 5, version 22, subversion 1 (v5.22.1) built for x86_64-linux-gnu-thread-multi * libapache2-mod-perl2 v2.0.9-4ubuntu1 * Apache/2.4.18 (Ubuntu) * $Apache::Test::VERSION = 1.39 * $Catalyst::VERSION = 5.90112 * $ShinyCMS::VERSION = 0.007 I know the app already functions properly when running via the stand-alone test server script (PSGI) or fastcgi, and I am able to run a trivial Catalyst test application successfully under mod_perl, so this issue seems to have something to do with the interaction between the ShinyCMS app and mod_perl. I have added print debug statements in my app, so when I call my app from within the Apache site conf file then I can see the debug statements prove that it is successfully going all the way through my app, and it even returns control to the embedded code w/in the Apache site conf file, but it still just silently fails anyway with the following non-descriptive error: "The apache2 instance did not start within 20 seconds. Please read the log files to discover problems" Unfortunately the log files do not provide any additional information whatsoever! Here are my Apache config files and the output of trying to start Apache manually, you can see my ">" statements which prove that my ShinyCMS app code is definitely executing all the way through and returning control to Apache: http://hastebin.com/rulixitole.php http://hastebin.com/wevicagano.rb This is a really mysterious issue, when I run `apache2ctl -e debug -k start` as seen in the link above, it goes through the motions as if it is starting correctly, and it does not give any error messages, but when apache2ctl is done there simply are not any apache processes running... I only found 1 person on google with a possibly-similar issue, but he told me that he never found a solution: https://github.com/timbunce/devel-nytprof/issues/89 I also found 1 person on the mod_perl mailing list archives with another possibly-similar issue, but I have no way to follow up, and I'm not sure of the best way to totally rebuild everything from source: https://mail-archives.apache.org/mod_mbox/perl-modperl/200207.mbox/%3c4a19f19a1bb4d51183220020ed06971401288...@exch2.iso-ne.com%3E I have asked for help on IRC #httpd, user Unbeliever suggested I ascertain my real /usr/sbin/apache2 command line and run it through strace, then post to this mailing list. I used -x in apache2ctl which showed me I was simply sourcing /tmp/apache2/envvars and then running `/usr/sbin/apache2 -e trace8 -k start` which are the exact same args as accepted by the apache2ctl script. I have now run `strace /usr/sbin/apache2 -e trace8 -k start` which generates 2.5MB of text output, I have pasted the last few pages of it on hastebin, I can post the whole thing for download if needed: http://hastebin.com/idemogexiq.erl I am not sure how to interpret the results of the strace command output and debug this issue, help please? Any and all assistance is greatly appreciated! :-) Thanks,~ Will
Re: mod_perl Silent Failure, Very Mysterious
Add the "-f" flag to strace and see what errors you get. Regards, Jie * William N. Braswell, Jr. wrote: > Date: Mon, 14 Nov 2016 23:27:53 -0600 > From: "William N. Braswell, Jr." > To: modperl@perl.apache.org > Subject: mod_perl Silent Failure, Very Mysterious > > Hello everyone, I'm trying to enable a web app (Catalyst ShinyCMS) to > run under mod_perl, it is definitely supposed to work but it fails > without any errors, and I've been trying for several days to get it > working. > My system info: > * Perl 5, version 22, subversion 1 (v5.22.1) built for > x86_64-linux-gnu-thread-multi > * libapache2-mod-perl2 v2.0.9-4ubuntu1 > * Apache/2.4.18 (Ubuntu) > * $Apache::Test::VERSION = 1.39 > * $Catalyst::VERSION = 5.90112 > * $ShinyCMS::VERSION = 0.007 > I know the app already functions properly when running via the > stand-alone test server script (PSGI) or fastcgi, and I am able to run > a trivial Catalyst test application successfully under mod_perl, so > this issue seems to have something to do with the interaction between > the ShinyCMS app and mod_perl. > I have added print debug statements in my app, so when I call my app > from within the Apache site conf file then I can see the debug > statements prove that it is successfully going all the way through my > app, and it even returns control to the embedded code w/in the Apache > site conf file, but it still just silently fails anyway with the > following non-descriptive error: > "The apache2 instance did not start within 20 seconds. Please read the > log files to discover problems" > Unfortunately the log files do not provide any additional information > whatsoever! > Here are my Apache config files and the output of trying to start > Apache manually, you can see my ">" statements which prove that my > ShinyCMS app code is definitely executing all the way through and > returning control to Apache: > http://hastebin.com/rulixitole.php > http://hastebin.com/wevicagano.rb > This is a really mysterious issue, when I run `apache2ctl -e debug -k > start` as seen in the link above, it goes through the motions as if it > is starting correctly, and it does not give any error messages, but > when apache2ctl is done there simply are not any apache processes > running... > I only found 1 person on google with a possibly-similar issue, but he > told me that he never found a solution: > https://github.com/timbunce/devel-nytprof/issues/89 > I also found 1 person on the mod_perl mailing list archives with > another possibly-similar issue, but I have no way to follow up, and > I'm not sure of the best way to totally rebuild everything from > source: > https://mail-archives.apache.org/mod_mbox/perl-modperl/200207.mbox/%3c4a19f19a1bb4d51183220020ed06971401288...@exch2.iso-ne.com%3E > I have asked for help on IRC #httpd, user Unbeliever suggested I > ascertain my real /usr/sbin/apache2 command line and run it through > strace, then post to this mailing list. > I used -x in apache2ctl which showed me I was simply sourcing > /tmp/apache2/envvars and then running `/usr/sbin/apache2 -e trace8 -k > start` which are the exact same args as accepted by the apache2ctl > script. > I have now run `strace /usr/sbin/apache2 -e trace8 -k start` which > generates 2.5MB of text output, I have pasted the last few pages of it > on hastebin, I can post the whole thing for download if needed: > http://hastebin.com/idemogexiq.erl > I am not sure how to interpret the results of the strace command > output and debug this issue, help please? > Any and all assistance is greatly appreciated! :-) > Thanks,~ Will
Re: mod_perl Silent Failure, Very Mysterious
Hi Jie, I have captured the output of `strace -f /usr/sbin/apache2 -e trace8 -k start`: http://hastebin.com/unupocozop.pl Looks like it is dying with a segfault, but I'm not sure what is causing this??? Thanks so much for your help!!! :-) ~ Will [[[ BEGIN PASTE SNIPPET ]]] [pid 6550] stat("blib/lib/DynaLoader.pmc", 0x7ffdda87f280) = -1 ENOENT (No such file or directory)[pid 6550] stat("blib/lib/DynaLoader.pm", 0x7ffdda87f1b0) = -1 ENOENT (No such file or directory)[pid 6550] stat("/etc/perl/DynaLoader.pmc", 0x7ffdda87f280) = -1 ENOENT (No such file or directory)[pid 6550] stat("/etc/perl/DynaLoader.pm", 0x7ffdda87f1b0) = -1 ENOENT (No such file or directory)[pid 6550] stat("/usr/local/lib/x86_64-linux-gnu/perl/5.22.1/DynaLoader.pmc", 0x7ffdda87f280) = -1 ENOENT (No such file or directory)[pid 6550] stat("/usr/local/lib/x86_64-linux-gnu/perl/5.22.1/DynaLoader.pm", 0x7ffdda87f1b0) = -1 ENOENT (No such file or directory)[pid 6550] stat("/usr/local/share/perl/5.22.1/DynaLoader.pmc", 0x7ffdda87f280) = -1 ENOENT (No such file or directory)[pid 6550] stat("/usr/local/share/perl/5.22.1/DynaLoader.pm", 0x7ffdda87f1b0) = -1 ENOENT (No such file or directory)[pid 6550] stat("/usr/lib/x86_64-linux-gnu/perl5/5.22/DynaLoader.pmc", 0x7ffdda87f280) = -1 ENOENT (No such file or directory)[pid 6550] stat("/usr/lib/x86_64-linux-gnu/perl5/5.22/DynaLoader.pm", 0x7ffdda87f1b0) = -1 ENOENT (No such file or directory)[pid 6550] stat("/usr/share/perl5/DynaLoader.pmc", 0x7ffdda87f280) = -1 ENOENT (No such file or directory)[pid 6550] stat("/usr/share/perl5/DynaLoader.pm", 0x7ffdda87f1b0) = -1 ENOENT (No such file or directory)[pid 6550] stat("/usr/lib/x86_64-linux-gnu/perl/5.22/DynaLoader.pmc", 0x7ffdda87f280) = -1 ENOENT (No such file or directory)[pid 6550] stat("/usr/lib/x86_64-linux-gnu/perl/5.22/DynaLoader.pm", {st_mode=S_IFREG|0644, st_size=10748, ...}) = 0[pid 6550] open("/usr/lib/x86_64-linux-gnu/perl/5.22/DynaLoader.pm", O_RDONLY) = 5[pid 6550] ioctl(5, TCGETS, 0x7ffdda87ef50) = -1 ENOTTY (Inappropriate ioctl for device)[pid 6550] lseek(5, 0, SEEK_CUR) = 0[pid 6550] read(5, "# Generated from DynaLoader_pm.P"..., 8192) = 8192[pid 6550] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x7f491064fa00} ---[pid 6550] chdir("/etc/apache2") = 0[pid 6550] rt_sigaction(SIGSEGV, {SIG_DFL, [], SA_RESTORER|SA_INTERRUPT, 0x7f4918dea3d0}, {SIG_DFL, [], SA_RESTORER|SA_RESETHAND, 0x7f4918dea3d0}, 8) = 0[pid 6550] kill(6550, SIGSEGV) = 0[pid 6550] rt_sigreturn({mask=[]}) = 139951873083648[pid 6550] --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_USER, si_pid=6550, si_uid=0} ---[pid 6549] +++ exited with 0 ++ killed by SIGSEGV (core dumped) +++ [[[ END PASTE SNIPPET ]]] On 11/14/2016 at 11:54 PM, "Jie Gao" wrote:Add the "-f" flag to strace and see what errors you get. Regards, Jie * William N. Braswell, Jr. wrote: > Date: Mon, 14 Nov 2016 23:27:53 -0600 > From: "William N. Braswell, Jr." > To: modperl@perl.apache.org > Subject: mod_perl Silent Failure, Very Mysterious > > Hello everyone, I'm trying to enable a web app (Catalyst ShinyCMS) to > run under mod_perl, it is definitely supposed to work but it fails > without any errors, and I've been trying for several days to get it > working. > My system info: > * Perl 5, version 22, subversion 1 (v5.22.1) built for > x86_64-linux-gnu-thread-multi > * libapache2-mod-perl2 v2.0.9-4ubuntu1 > * Apache/2.4.18 (Ubuntu) > * $Apache::Test::VERSION = 1.39 > * $Catalyst::VERSION = 5.90112 > * $ShinyCMS::VERSION = 0.007 > I know the app already functions properly when running via the > stand-alone test server script (PSGI) or fastcgi, and I am able to run > a trivial Catalyst test application successfully under mod_perl, so > this issue seems to have something to do with the interaction between > the ShinyCMS app and mod_perl. > I have added print debug statements in my app, so when I call my app > from within the Apache site conf file then I can see the debug > statements prove that it is successfully going all the way through my > app, and it even returns control to the embedded code w/in the Apache > site conf file, but it still just silently fails anyway with the > following non-descriptive error: > "The apache2 instance did not start within 20 seconds. Please read the > log files to discover problems" > Unfortunately the log files do not provide any additional information > whatsoever! > Here are my Apache config files and the output of trying to start > Apache manually, you can see my ">" statements which prove that my > ShinyCMS app code is definitely executing all the way through and > returning control to Apache: > http://hastebin.com/rulixitole.php > http://hastebin.com/wevicagano.rb > This is a really mysterious issue, when I run `apache2ctl -e debug -k > start` as seen in the link above, it goes through the motions as if it > is starting correctly, and it does not give any error messages, but > when apache2ctl is done there s