Open PenelopeFudd opened 10 years ago
I just realized that nytprofhtml did create an nytprof directory, and it has a bunch of files including index.html, but I don't know if anything is missing or damaged by this error, or if it's a completely harmless error message.
Sorry for any annoyance I may have caused!
No problem. This is actually a known issue - there's an open ticket in rt.cpan.org that's not been copied over to github yet. A small test case (ideally one that doesn't involve Apache) would be helpful.
Hello!
I'm debugging a legacy perl program on OpenSolaris 10 with perl v5.8.8 built for i86pc-solaris-thread-multi, with Devel::NYTProf 5.06. It's running as an Fcgi program under apache 2.2.25.
nytprofhtml -f nytprof.out.15306 Reading nytprof.out.15306 Processing nytprof.out.15306 data Writing line reports to nytprof directory 100% ... Extracting subroutine call data ... Extracting subroutine links Generating subroutine stack flame graph ... Can't resolve fid of '0' at /bin/nytprofhtml line 1381
The apache configuration has this:
FcgidCmdOptions /path/to/program.pl \ InitialEnv PERL5OPT=-d:NYTProf \ InitialEnv NYTPROF=file=/tmp/nytprof-main.out:addpid=1:start=no \ MaxProcesses 1
The code has this:
STARTOFLOOP: while ((alarm 0 || 1) && &check_for_signal && (DB::disable_profile() || 1) && (my $q = new CGI::Fast) ) { if (-e "/tmp/nytprof-please") {DB::enable_profile();} if (-e "/tmp/nytprof-exit") {unlink("/tmp/nytprof-exit","/tmp/nytprof-please");exit 0;} blah.blah.blah; }
I copied the nytprof.out file to a linux machine and ran nytprofhtml there, and after complaining about all of the perl files that were not found, it too died with "Can't resolve fid of '0' at /usr/local/bin/nytprofhtml line 1381."
I'm sorry I can't provide more information or spend more time on this, but I thought I ought to submit a bug report.
Good luck! I love your program!
In the version of Devel-NYTProf you were using when you filed this ticket, the relevant lines appear to have been:
1380 my (@t_stmt_exec, @t_stmt_time);
1381 my @fis = $profile->noneval_fileinfos;
1382 @fis = sort { $b->meta->{'time'} <=> $a->meta->{'time'} } @fis;
I believe that those statements are now found here in bin/nytprofhtml
:
1407 my (@t_stmt_exec, @t_stmt_time);
1408 my @fis = $profile->noneval_fileinfos;
1409 @fis = sort { $b->meta->{'time'} <=> $a->meta->{'time'} } @fis;
Does that seem correct?
BTW: A new version of Devel-NYTProf (6.07) was released to CPAN this morning (https://metacpan.org/pod/Devel::NYTProf).
Thank you very much. Jim Keenan
Hello!
I'm debugging a legacy perl program on OpenSolaris 10 with perl v5.8.8 built for i86pc-solaris-thread-multi, with Devel::NYTProf 5.06. It's running as an Fcgi program under apache 2.2.25.
The apache configuration has this:
The code has this:
I copied the nytprof.out file to a linux machine and ran nytprofhtml there, and after complaining about all of the perl files that were not found, it too died with "Can't resolve fid of '0' at /usr/local/bin/nytprofhtml line 1381."
I'm sorry I can't provide more information or spend more time on this, but I thought I ought to submit a bug report.
Good luck! I love your program!