It's certainly odd.
> I cannot see what is common between them and I'm at a loss to think
> what I may have done to cause this.
Yes, the obvious question is "what changed?"
> Even though the message is issued
> for B.pm the source is visible in the nytprofhtml output.
nytprofhtml will fallback to reading the source directly from the file
path if it's not embedded into the profile.
> perl is 5.14.0 installed via perlbrew. I do have PERL_UNICODE=SAL but
> I've had that some time and unsetting it made no difference. I
> couldn't find anyone else with this issue on google.
I've not seen it before. The implication is that source code wasn't
available when the file was first 'noticed' by the profiler (so
NYTP_FIDf_HAS_SRC didn't get set), but was available when the profile
as written out at the end of the run.
Looking at svn blame etc I see that that check was included in the
initial implementation of saving the source code.
If you can't retrace your steps to find the cause, which I hope you can,
then you could send me a trace file. Level 4 should suffice.
(I can't promise I'll even look at it though as I'm rather snowed under
with a different kind of project: http://yfrog.com/z/h0paexycj )
Tim.
On Tue, Jun 28, 2011 at 12:46:51AM -0700, Martin wrote:
> Hi,
>
> I run Devel::NYTProf all the time and have no problems with it until
> this morning. Now I get quite a lot of the above warning (around 8). 1
> is my own module and the others are things like:
>
> fid 23 has no src saved for /home/martin/perl5/perlbrew/perls/
> perl-5.14.0/lib/5.14.0/Getopt/Std.pm (NYTP_FIDf_HAS_SRC not set but
> src available!)
> fid 193 has no src saved for /home/martin/perl5/perlbrew/perls/
> perl-5.14.0/lib/5.14.0/Benchmark.pm (NYTP_FIDf_HAS_SRC not set but src
> available!)It's certainly odd.
> I cannot see what is common between them and I'm at a loss to think
> what I may have done to cause this.Yes, the obvious question is "what changed?"
> Even though the message is issued
> for B.pm the source is visible in the nytprofhtml output.nytprofhtml will fallback to reading the source directly from the file
path if it's not embedded into the profile.
> perl is 5.14.0 installed via perlbrew. I do have PERL_UNICODE=SAL but
> I've had that some time and unsetting it made no difference. I
> couldn't find anyone else with this issue on google.I've not seen it before. The implication is that source code wasn't
available when the file was first 'noticed' by the profiler (so
NYTP_FIDf_HAS_SRC didn't get set), but was available when the profile
as written out at the end of the run.
Looking at svn blame etc I see that that check was included in the
initial implementation of saving the source code.If you can't retrace your steps to find the cause, which I hope you can,
then you could send me a trace file. Level 4 should suffice.
(I can't promise I'll even look at it though as I'm rather snowed under
with a different kind of project: http://yfrog.com/z/h0paexycj )
Tim.
Just in case it provides a clue:
I ran an strace on this code with an exit 0 placed after the last "use" statement. Then I picked a module which was reported with a warning like:
fid 23 has no src saved for /home/martin/perl5/perlbrew/perls/perl-5.14.0/lib/5.14.0/Getopt/Std.pm (NYTP_FIDf_HAS_SRC not set but src available!)
The only mentions of Std in the trace are:
# these right at start after failing to find Std.pm or Std.pmc anywhere else
stat64("/home/martin/perl5/perlbrew/perls/perl-5.14.0/lib/5.14.0/Getopt/Std.pm", {st_mode=S_IFREG|0444, st_size=8370, ...}) = 0
open("/home/martin/perl5/perlbrew/perls/perl-5.14.0/lib/5.14.0/Getopt/Std.pm", O_RDONLY|O_LARGEFILE) = 5
# a lot of these:
clock_gettime(CLOCK_MONOTONIC, {11311843, 972136001}) = 0
# and seemingly in the middle of nowhere:
Ah, very interesting. Can you create a small test case?
> BTW, watch what you are doing with those kuboto diggers. We hired one for a a few weeks years ago and my
> wife managed to get it stuck between 2 brick wall posts when it sank unexpectedly. I had visions of
> having to hire a crane or knock the newly laid walls down. It took hours of gentle maneuvering to get it
> out.
Ouch. I'm not crazy enough to attempt that much work myself. A team of
builders is doing all the hands-on work, and far faster and more
skillfully than I could.
Tim.