Re: mod_perl Silent Failure, Very Mysterious

2016-11-22 Thread Jie Gao
Hi Will

I can't put my finger on it, but B::Hooks::OP was last released on 11 Sept 
2011, quite a while ago, and there could be a problem with recent versions of 
perl.


Regards,

Jie 

* William N. Braswell, Jr.  wrote:

> Date: Tue, 22 Nov 2016 23:14:11 -0600
> From: "William N. Braswell, Jr." 
> To: Jie Gao 
> CC: modperl@perl.apache.org
> Subject: Re: mod_perl Silent Failure, Very Mysterious
> 
> Hi Jie,
> If I temporarily disable B::Hooks::OP::Check, as shown below, then it
> tells me it was included from Devel::Declare, which was in turn
> (indireclty) included from Method::Signatures::Simple.
> I am not the author of either Catalyst or ShinyCMS, so unfortunately I
> don't know any more in-depth details off the top of my head.
> Does that answer your question?
> Thanks,~ Will
> wbraswell@cloud-comp0-00:~$ pm_location.sh
> B::Hooks::OP::Check/home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/B/Hooks/OP/Check.pm
> wbraswell@cloud-comp0-00:~$ mv
> /home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/B/Hooks/OP/Check.pm
> /home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/B/Hooks/OP/Check.pm.DISABLED
> wbraswell@cloud-comp0-00:~/public_html/cloud-comp0-00.autoparallel.com-latest$
> perl -e 'use ShinyCMS;'Can't locate B/Hooks/OP/Check.pm in @INC (you
> may need to install the B::Hooks::OP::Check module) (@INC contains
> ) at
> /home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/Devel/Declare.pm
> line 18.BEGIN failed--compilation aborted at
> /home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/Devel/Declare.pm
> line 18.Compilation failed in require at
> /home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/Devel/Declare/Context/Simple.pm
> line 5.BEGIN failed--compilation aborted at
> /home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/Devel/Declare/Context/Simple.pm
> line 5.Compilation failed in require at /usr/share/perl/5.22/base.pm
> line 97. ...propagated at /usr/share/perl/5.22/base.pm line 106.BEGIN
> failed--compilation aborted at
> /home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/Devel/Declare/MethodInstaller/Simple.pm
> line 3.Compilation failed in require at /usr/share/perl/5.22/base.pm
> line 97. ...propagated at /usr/share/perl/5.22/base.pm line 106.BEGIN
> failed--compilation aborted at
> /home/wbraswell/perl5/lib/perl5/Method/Signatures/Simple.pm line
> 19.Compilation failed in require at blib/lib/ShinyCMS.pm line 21.BEGIN
> failed--compilation aborted at blib/lib/ShinyCMS.pm line
> 21.Compilation failed in require at -e line 1.BEGIN
> failed--compilation aborted at -e line 1.
> On 11/22/2016 at 11:03 PM, "Jie Gao"  wrote:Hi William
> 
> Where excatly is B::Hooks::OP::Check required / its Check.xs called?
> Regards,
> Jie 
> 
> * William N. Braswell, Jr.  wrote:
> 
> > Date: Tue, 22 Nov 2016 06:04:36 -0600
> > From: "William N. Braswell, Jr." 
> > To: Jie Gao 
> > CC: modperl@perl.apache.org
> > Subject: RE: mod_perl Silent Failure, Very Mysterious
> > 
> > Hello Again Jie,
> > I have run the modperl_testreport.pl script per your direction, and
> > have attached the output file.
> > Also, I have posted this as a mod_perl issue:
> > 
> > https://rt.cpan.org/Ticket/Display.html?id=118900
> > I am attempting to run an already-bug-free Catalyst application
> under
> > mod_perl, which should work just fine but instead gives a segfault
> in
> > the Check.xs file.
> > The name of the Catalyst application is ShinyCMS, it works just fine
> > using the PSGI stand-alone testing web server as well as fastcgi,
> and
> > mod_perl is the only option which causes a segfault.  I must have
> > mod_perl support for my specific use of ShinyCMS, so I really really
> > need to fix this segfault and get Shiny working under mod_perl. 
> Yes,
> > Shiny is specifically designed to work with mod_perl, as are most
> > Catalyst apps.  In fact, my simple ">" print statements in
> ShinyCMS.pm
> > show that Shiny is totally loading and returning control back to
> > Apache (or mod_perl?) before the actual segfault occurs.
> > My system info:
> > $ apache2 -vServer version: Apache/2.4.18 (Ubuntu)Server built:  
> > 2016-07-14T12:32:26
> > $ perl -vThis is perl 5, version 22, subversion 1 (v5.22.1) built
> for
> > x86_64-linux-gnu-thread-multi(with 58 registered patches, see perl
> -V
> > for more detail)
> > $ pm_version.pl mod_perl2$mod_perl2::VERSION = 2.09
> > $ pm_version.pl B::Hooks::OP::Check$B::Hooks::OP::Check::VERSION =
> > 0.19
> > $ cat /etc/issueUbuntu 16.04.1 LTS
> > I have spent the last week trying all of the following and more, but
> > the segfault persists:
> > 1.  manually-compiled perl v5.22.1 & mod_perl2 v2.09 w/out
> > threads2.  mod_perl2 back to v2.053.  B::Hooks::OP::Check back
> to
> > v0.17 (maybe earlier)4.  move all possible 'use' statements to be
> > called as early as possible in Shiny_dependencies.pm
> 

Re: mod_perl Silent Failure, Very Mysterious

2016-11-22 Thread William N. Braswell, Jr.
Hi Jie,
If I temporarily disable B::Hooks::OP::Check, as shown below, then it
tells me it was included from Devel::Declare, which was in turn
(indireclty) included from Method::Signatures::Simple.
I am not the author of either Catalyst or ShinyCMS, so unfortunately I
don't know any more in-depth details off the top of my head.
Does that answer your question?
Thanks,~ Will
wbraswell@cloud-comp0-00:~$ pm_location.sh
B::Hooks::OP::Check/home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/B/Hooks/OP/Check.pm
wbraswell@cloud-comp0-00:~$ mv
/home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/B/Hooks/OP/Check.pm
/home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/B/Hooks/OP/Check.pm.DISABLED
wbraswell@cloud-comp0-00:~/public_html/cloud-comp0-00.autoparallel.com-latest$
perl -e 'use ShinyCMS;'Can't locate B/Hooks/OP/Check.pm in @INC (you
may need to install the B::Hooks::OP::Check module) (@INC contains
) at
/home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/Devel/Declare.pm
line 18.BEGIN failed--compilation aborted at
/home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/Devel/Declare.pm
line 18.Compilation failed in require at
/home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/Devel/Declare/Context/Simple.pm
line 5.BEGIN failed--compilation aborted at
/home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/Devel/Declare/Context/Simple.pm
line 5.Compilation failed in require at /usr/share/perl/5.22/base.pm
line 97. ...propagated at /usr/share/perl/5.22/base.pm line 106.BEGIN
failed--compilation aborted at
/home/wbraswell/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/Devel/Declare/MethodInstaller/Simple.pm
line 3.Compilation failed in require at /usr/share/perl/5.22/base.pm
line 97. ...propagated at /usr/share/perl/5.22/base.pm line 106.BEGIN
failed--compilation aborted at
/home/wbraswell/perl5/lib/perl5/Method/Signatures/Simple.pm line
19.Compilation failed in require at blib/lib/ShinyCMS.pm line 21.BEGIN
failed--compilation aborted at blib/lib/ShinyCMS.pm line
21.Compilation failed in require at -e line 1.BEGIN
failed--compilation aborted at -e line 1.
On 11/22/2016 at 11:03 PM, "Jie Gao"  wrote:Hi William

Where excatly is B::Hooks::OP::Check required / its Check.xs called?
Regards,
Jie 

* William N. Braswell, Jr.  wrote:

> Date: Tue, 22 Nov 2016 06:04:36 -0600
> From: "William N. Braswell, Jr." 
> To: Jie Gao 
> CC: modperl@perl.apache.org
> Subject: RE: mod_perl Silent Failure, Very Mysterious
> 
> Hello Again Jie,
> I have run the modperl_testreport.pl script per your direction, and
> have attached the output file.
> Also, I have posted this as a mod_perl issue:
> 
> https://rt.cpan.org/Ticket/Display.html?id=118900
> I am attempting to run an already-bug-free Catalyst application
under
> mod_perl, which should work just fine but instead gives a segfault
in
> the Check.xs file.
> The name of the Catalyst application is ShinyCMS, it works just fine
> using the PSGI stand-alone testing web server as well as fastcgi,
and
> mod_perl is the only option which causes a segfault.  I must have
> mod_perl support for my specific use of ShinyCMS, so I really really
> need to fix this segfault and get Shiny working under mod_perl. 
Yes,
> Shiny is specifically designed to work with mod_perl, as are most
> Catalyst apps.  In fact, my simple ">" print statements in
ShinyCMS.pm
> show that Shiny is totally loading and returning control back to
> Apache (or mod_perl?) before the actual segfault occurs.
> My system info:
> $ apache2 -vServer version: Apache/2.4.18 (Ubuntu)Server built:  
> 2016-07-14T12:32:26
> $ perl -vThis is perl 5, version 22, subversion 1 (v5.22.1) built
for
> x86_64-linux-gnu-thread-multi(with 58 registered patches, see perl
-V
> for more detail)
> $ pm_version.pl mod_perl2$mod_perl2::VERSION = 2.09
> $ pm_version.pl B::Hooks::OP::Check$B::Hooks::OP::Check::VERSION =
> 0.19
> $ cat /etc/issueUbuntu 16.04.1 LTS
> I have spent the last week trying all of the following and more, but
> the segfault persists:
> 1.  manually-compiled perl v5.22.1 & mod_perl2 v2.09 w/out
> threads2.  mod_perl2 back to v2.053.  B::Hooks::OP::Check back
to
> v0.17 (maybe earlier)4.  move all possible 'use' statements to be
> called as early as possible in Shiny_dependencies.pm
> I also tried Apache v2.2 & mod_perl2 v2.08 & Perl v5.18.2 in
> Ubuntu v14.04, it did not segfault but instead it served up totally
> blank pages with 0 bytes of data.  I have not dug deeper because I
use
> Ubuntu v16.04 in production and I figure it is harder to debug w/out
> an actual segfault to start from.
> I have set up SSH access on a cloud server so you can see and debug
> the segfault directly, all 3 of the usernames below are set as
sudoers
> so please wield your root powers with caution:
> HOSTNAME: cloud-comp0-00.autoparallel.comHOST IP: 
> 64.137.255.53USERNAME: shay OR fmoyer OR jgao OR
modperl_teamPASSWORD:
> check your CPAN e-mail address
> Pertinent 

Re: mod_perl Silent Failure, Very Mysterious

2016-11-22 Thread Jie Gao
Hi William

Where excatly is B::Hooks::OP::Check required / its Check.xs called?


Regards,


Jie 

* William N. Braswell, Jr.  wrote:

> Date: Tue, 22 Nov 2016 06:04:36 -0600
> From: "William N. Braswell, Jr." 
> To: Jie Gao 
> CC: modperl@perl.apache.org
> Subject: RE: mod_perl Silent Failure, Very Mysterious
> 
> Hello Again Jie,
> I have run the modperl_testreport.pl script per your direction, and
> have attached the output file.
> Also, I have posted this as a mod_perl issue:
> 
> https://rt.cpan.org/Ticket/Display.html?id=118900
> I am attempting to run an already-bug-free Catalyst application under
> mod_perl, which should work just fine but instead gives a segfault in
> the Check.xs file.
> The name of the Catalyst application is ShinyCMS, it works just fine
> using the PSGI stand-alone testing web server as well as fastcgi, and
> mod_perl is the only option which causes a segfault.  I must have
> mod_perl support for my specific use of ShinyCMS, so I really really
> need to fix this segfault and get Shiny working under mod_perl.  Yes,
> Shiny is specifically designed to work with mod_perl, as are most
> Catalyst apps.  In fact, my simple ">" print statements in ShinyCMS.pm
> show that Shiny is totally loading and returning control back to
> Apache (or mod_perl?) before the actual segfault occurs.
> My system info:
> $ apache2 -vServer version: Apache/2.4.18 (Ubuntu)Server built:  
> 2016-07-14T12:32:26
> $ perl -vThis is perl 5, version 22, subversion 1 (v5.22.1) built for
> x86_64-linux-gnu-thread-multi(with 58 registered patches, see perl -V
> for more detail)
> $ pm_version.pl mod_perl2$mod_perl2::VERSION = 2.09
> $ pm_version.pl B::Hooks::OP::Check$B::Hooks::OP::Check::VERSION =
> 0.19
> $ cat /etc/issueUbuntu 16.04.1 LTS
> I have spent the last week trying all of the following and more, but
> the segfault persists:
> 1.  manually-compiled perl v5.22.1 & mod_perl2 v2.09 w/out
> threads2.  mod_perl2 back to v2.053.  B::Hooks::OP::Check back to
> v0.17 (maybe earlier)4.  move all possible 'use' statements to be
> called as early as possible in Shiny_dependencies.pm
> I also tried Apache v2.2 & mod_perl2 v2.08 & Perl v5.18.2 in
> Ubuntu v14.04, it did not segfault but instead it served up totally
> blank pages with 0 bytes of data.  I have not dug deeper because I use
> Ubuntu v16.04 in production and I figure it is harder to debug w/out
> an actual segfault to start from.
> I have set up SSH access on a cloud server so you can see and debug
> the segfault directly, all 3 of the usernames below are set as sudoers
> so please wield your root powers with caution:
> HOSTNAME: cloud-comp0-00.autoparallel.comHOST IP: 
> 64.137.255.53USERNAME: shay OR fmoyer OR jgao OR modperl_teamPASSWORD:
> check your CPAN e-mail address
> Pertinent paths:
> /home/wbraswell/public_html/cloud-comp0-00.autoparallel.com-latest/etc/apache2/sites-available/cloud-comp0-00.autoparallel.com.conf
> Here is an example gdb showing Check.xs as the likely culprit,
> starting with `sudo` and then `source` to load Apache env vars:
> [[[ BEGIN GDB SESSION ]]]
> zefram@cloud-comp0-00:/$ sudo -i...root@cloud-comp0-00:~# source
> /etc/apache2/envvarsroot@cloud-comp0-00:~# gdb
> /usr/sbin/apache2...Reading symbols from /usr/sbin/apache2...(no
> debugging symbols found)...done.
> (gdb) run -k start -XStarting program: /usr/sbin/apache2 -k start
> -X[Thread debugging using libthread_db enabled]Using host libthread_db
> library "/lib/x86_64-linux-gnu/libthread_db.so.1".>: top of
> ShinyCMS.pm>: in ShinyCMS.pm, about to use Moose>: in ShinyCMS.pm,
> about to use Catalyst::Runtime>: in ShinyCMS.pm, about to use
> Catalyst>: in ShinyCMS.pm, about to use CatalystX::RoleApplicator>: in
> ShinyCMS.pm, about to use Method::Signatures::Simple>: in ShinyCMS.pm,
> about to call config()>: in ShinyCMS.pm, have __PACKAGE__ = ShinyCMS>:
> in ShinyCMS.pm, about to call setup()...>: in ShinyCMS.pm, returned
> from setup()>: in ShinyCMS.pm, about to return 1
> Program received signal SIGSEGV, Segmentation fault.0x7fffebabcb10
> in ?? ()(gdb) bt#0  0x7fffebabcb10 in ?? ()#1  0x73e5302b
> in Perl_newUNOP (my_perl=my_perl@entry=0x577ddde0,
> type=type@entry=17, flags=, flags@entry=8192, first=0x562141b8) at
> op.c:4811#2  0x73e54a1d in Perl_newCVREF
> (my_perl=my_perl@entry=0x577ddde0, flags=flags@entry=8192, o=) at
> op.c:9367#3  0x73e8b686 in Perl_yylex
> (my_perl=my_perl@entry=0x577ddde0) at toke.c:6693#4 
> 0x73e97228 in Perl_yyparse
> (my_perl=my_perl@entry=0x577ddde0, gramtype=gramtype@entry=258) at
> perly.c:322...#44 0x5558709f in main ()
> (gdb) startThe program being debugged has been started already.Start
> it from the beginning? (y or n) yTemporary breakpoint 1 at
> 0x555867b0Starting program: /usr/sbin/apache2 -k start -X[Thread
> debugging using libthread_db 

RE: mod_perl Silent Failure, Very Mysterious

2016-11-22 Thread William N. Braswell, Jr.
Hello Again Jie,
I have run the modperl_testreport.pl script per your direction, and
have attached the output file.
Also, I have posted this as a mod_perl issue:

https://rt.cpan.org/Ticket/Display.html?id=118900
I am attempting to run an already-bug-free Catalyst application under
mod_perl, which should work just fine but instead gives a segfault in
the Check.xs file.
The name of the Catalyst application is ShinyCMS, it works just fine
using the PSGI stand-alone testing web server as well as fastcgi, and
mod_perl is the only option which causes a segfault.  I must have
mod_perl support for my specific use of ShinyCMS, so I really really
need to fix this segfault and get Shiny working under mod_perl.  Yes,
Shiny is specifically designed to work with mod_perl, as are most
Catalyst apps.  In fact, my simple ">" print statements in ShinyCMS.pm
show that Shiny is totally loading and returning control back to
Apache (or mod_perl?) before the actual segfault occurs.
My system info:
$ apache2 -vServer version: Apache/2.4.18 (Ubuntu)Server built:  
2016-07-14T12:32:26
$ perl -vThis is perl 5, version 22, subversion 1 (v5.22.1) built for
x86_64-linux-gnu-thread-multi(with 58 registered patches, see perl -V
for more detail)
$ pm_version.pl mod_perl2$mod_perl2::VERSION = 2.09
$ pm_version.pl B::Hooks::OP::Check$B::Hooks::OP::Check::VERSION =
0.19
$ cat /etc/issueUbuntu 16.04.1 LTS
I have spent the last week trying all of the following and more, but
the segfault persists:
1.  manually-compiled perl v5.22.1 & mod_perl2 v2.09 w/out
threads2.  mod_perl2 back to v2.053.  B::Hooks::OP::Check back to
v0.17 (maybe earlier)4.  move all possible 'use' statements to be
called as early as possible in Shiny_dependencies.pm
I also tried Apache v2.2 & mod_perl2 v2.08 & Perl v5.18.2 in
Ubuntu v14.04, it did not segfault but instead it served up totally
blank pages with 0 bytes of data.  I have not dug deeper because I use
Ubuntu v16.04 in production and I figure it is harder to debug w/out
an actual segfault to start from.
I have set up SSH access on a cloud server so you can see and debug
the segfault directly, all 3 of the usernames below are set as sudoers
so please wield your root powers with caution:
HOSTNAME: cloud-comp0-00.autoparallel.comHOST IP: 
64.137.255.53USERNAME: shay OR fmoyer OR jgao OR modperl_teamPASSWORD:
check your CPAN e-mail address
Pertinent paths:
/home/wbraswell/public_html/cloud-comp0-00.autoparallel.com-latest/etc/apache2/sites-available/cloud-comp0-00.autoparallel.com.conf
Here is an example gdb showing Check.xs as the likely culprit,
starting with `sudo` and then `source` to load Apache env vars:
[[[ BEGIN GDB SESSION ]]]
zefram@cloud-comp0-00:/$ sudo -i...root@cloud-comp0-00:~# source
/etc/apache2/envvarsroot@cloud-comp0-00:~# gdb
/usr/sbin/apache2...Reading symbols from /usr/sbin/apache2...(no
debugging symbols found)...done.
(gdb) run -k start -XStarting program: /usr/sbin/apache2 -k start
-X[Thread debugging using libthread_db enabled]Using host libthread_db
library "/lib/x86_64-linux-gnu/libthread_db.so.1".>: top of
ShinyCMS.pm>: in ShinyCMS.pm, about to use Moose>: in ShinyCMS.pm,
about to use Catalyst::Runtime>: in ShinyCMS.pm, about to use
Catalyst>: in ShinyCMS.pm, about to use CatalystX::RoleApplicator>: in
ShinyCMS.pm, about to use Method::Signatures::Simple>: in ShinyCMS.pm,
about to call config()>: in ShinyCMS.pm, have __PACKAGE__ = ShinyCMS>:
in ShinyCMS.pm, about to call setup()...>: in ShinyCMS.pm, returned
from setup()>: in ShinyCMS.pm, about to return 1
Program received signal SIGSEGV, Segmentation fault.0x7fffebabcb10
in ?? ()(gdb) bt#0  0x7fffebabcb10 in ?? ()#1  0x73e5302b
in Perl_newUNOP (my_perl=my_perl@entry=0x577ddde0,
type=type@entry=17, flags=, flags@entry=8192, first=0x562141b8) at
op.c:4811#2  0x73e54a1d in Perl_newCVREF
(my_perl=my_perl@entry=0x577ddde0, flags=flags@entry=8192, o=) at
op.c:9367#3  0x73e8b686 in Perl_yylex
(my_perl=my_perl@entry=0x577ddde0) at toke.c:6693#4 
0x73e97228 in Perl_yyparse
(my_perl=my_perl@entry=0x577ddde0, gramtype=gramtype@entry=258) at
perly.c:322...#44 0x5558709f in main ()
(gdb) startThe program being debugged has been started already.Start
it from the beginning? (y or n) yTemporary breakpoint 1 at
0x555867b0Starting program: /usr/sbin/apache2 -k start -X[Thread
debugging using libthread_db enabled]Using host libthread_db library
"/lib/x86_64-linux-gnu/libthread_db.so.1".
Temporary breakpoint 1, 0x555867b0 in main ()
(gdb) break perl_parseFunction "perl_parse" not defined.Make
breakpoint pending on future shared library load? (y or [n])
yBreakpoint 2 (perl_parse) pending.
(gdb) continueContinuing.
Breakpoint 2, perl_parse (my_perl=0x5581ae50,
xsinit=0x7420a280, argc=2, argv=0x77f88070, env=0x0) at
perl.c:14731473perl.c: No such file or directory.
(gdb) watch -l PL_check[17]Hardware watchpoint 3: -location
PL_check[17]
(gdb)