Subject: | Devel::NYTProf::Apache with trace > 0 |
I wanted to profile an application suite running Apache 2 with mod_perl2
so I enabled Devel::NYTProf::Apache in my httpd.conf.
PerlSetEnv NYTPROF trace=2:file=/tmp/mm-nytprof.out
PerlModule Devel::NYTProf::Apache
I was seeing issues where "NYTProf is confused about CV" multiple times
for each thing that I did in my app. If I try to convert the out files
to html, it is very clear that something bad happened. (The top 15
subroutines doesn't get populated, the subroutine exclusive time treemap
is empty, etc.)
I bumped it up to trace=4 and captured one instance of it occurring
(attached as trace4.txt). I'm not sure what other information you need
from me
to assist you.
I have verified that when trace=0, the problem does not happen and the
resulting html output is as pretty as usual.
Subject: | trace4.txt |
4 >> entersub at 43:207 from ModPerl::RegistryCooker::run (inherited) (seix 1640->2440, ac0)
4 -> sub ModPerl::RegistryCooker::error_check from ModPerl::RegistryCooker::run @43:207 (d1, oh 1311430.000000t, sub 1.088200s) #29687
4 >> entersub at 43:213 from ModPerl::RegistryCooker::run (inherited) (seix 1640->2688, ac0)
4 ->xsub ModPerl::Global::special_list_call from ModPerl::RegistryCooker::run @43:213 (d1, oh 1311510.000000t, sub 1.088212s) #29688
4 >> entersub at 43:216 from ModPerl::RegistryCooker::run (inherited) (seix 1640->2888, ac0)
4 -> sub ModPerl::RegistryCooker::error_check from ModPerl::RegistryCooker::run @43:216 (d1, oh 1311530.000000t, sub 1.088226s) #29689
4 >> entersub at 43:225 from ModPerl::RegistryCooker::run (inherited) (seix 1640->2416, ac0)
NYTProf is confused about CV 0x2ab2388a0568 called as /opt/perl/lib/site_perl/5.12.3/x86_64-linux-thread-multi/ModPerl/RegistryCooker.pm at /opt/perl/lib/site_perl/5.12.3/x86_64-linux-thread-multi/ModPerl/RegistryCooker.pm line 225 (please report as a bug)
SV = PVCV(0x2ab2388a3e00) at 0x2ab2388a0568
REFCNT = 2
FLAGS = (POK,pPOK,CONST)
PROTOTYPE = ""
COMP_STASH = 0x2ab2387e8b98 "ModPerl::RegistryCooker"
XSUB = 0x2ab21f4455b0
XSUBANY = 0x2ab238875a38 (CONST SV)
SV = IV(0x2ab238875a30) at 0x2ab238875a38
REFCNT = 2
FLAGS = (PADMY,IOK,READONLY,pIOK)
IV = 0
GVGV::GV = 0x2ab238875c48 "^B"
FILE = "/opt/perl/lib/site_perl/5.12.3/x86_64-linux-thread-multi/ModPerl/RegistryCooker.pm"
DEPTH = 0
FLAGS = 0xc00
OUTSIDE_SEQ = 0
PADLIST = 0x0
OUTSIDE = 0x0 (null)
unknown entersub xsub assumed to be anon called_cv '/opt/perl/lib/site_perl/5.12.3/x86_64-linux-thread-multi/ModPerl/RegistryCooker.pm'
4 ->xsub ModPerl::RegistryCooker::__UNKNOWN__[xsub,0x2ab2388a0568] from ModPerl::RegistryCooker::run @43:225 (d1, oh 1311600.000000t, sub 1.088239s) #29690
4 >> entersub at 43:237 from ModPerl::RegistryCooker::run (inherited) (seix 1640->2616, ac0)
4 ->xsub ModPerl::RegistryCooker::NOP from ModPerl::RegistryCooker::run @43:237 (d1, oh 1311610.000000t, sub 1.088318s) #29691
4 >> entersub at 43:239 from ModPerl::RegistryCooker::run (inherited) (seix 1640->2816, ac0)
4 ->xsub ModPerl::RegistryCooker::NOP from ModPerl::RegistryCooker::run @43:239 (d1, oh 1311620.000000t, sub 1.088326s) #29692
3 >> entersub at 43:171 from ModPerl::RegistryCooker::default_handler (inherited) (seix 728->1856, ac0)
3 ->xsub Apache2::RequestRec::status from ModPerl::RegistryCooker::default_handler @43:171 (d1, oh 1311660.000000t, sub 1.088405s) #29693