http://qs321.pair.com?node_id=11114279


in reply to Re^5: NYTProf line report failure
in thread NYTProf line report failure

Which of the output lines you provided are the result of the warn $self->filename call? Also, what does a "normal" filename look like when printed? Seeing the difference will help.

Another question is why your code is using what appears to be a module installation process? Perhaps it tries to install on-the-fly? In which case perhaps it is best to get everything installed before running the code?

Replies are listed 'Best First'.
Re^7: NYTProf line report failure
by Anonymous Monk on Mar 15, 2020 at 17:19 UTC
    Which of the output lines you provided are the result of the warn $self->filename call?

    warn 'WARN:'.$self->filename; 97% ... WARN:(eval 657)[(eval 656)[/ExtUtils/MM_Unix.pm:2920]:1] at /D +evel/NYTProf/FileInfo.pm line 431. WARN:(eval 657)[(eval 656)[/ExtUtils/MM_Unix.pm:2920]:1] at /Devel/NYT +Prof/FileInfo.pm line 431. WARN: at /Devel/NYTProf/FileInfo.pm line 431. # NO FILENAME! Use of uninitialized value in numeric gt (>) at /Devel/NYTProf/Reader. +pm line 184. 98% ... WARN:(eval 1724)[/Module/Metadata.pm:13] at /Devel/NYTProf/Fil +eInfo.pm line 431. WARN:(eval 1724)[/Module/Metadata.pm:13] at /Devel/NYTProf/FileInfo.pm + line 431. 98% ... WARN:(eval 2699)[(eval 2698)[/Module/Metadata.pm:13]:6] at / +Devel/NYTProf/FileInfo.pm line 431. WARN:(eval 2699)[(eval 2698)[/Module/Metadata.pm:13]:6] at /Devel/NYTP +rof/FileInfo.pm line 431. WARN: at /Devel/NYTProf/FileInfo.pm line 431. # NO FILENAME! Use of uninitialized value in numeric gt (>) at /Devel/NYTProf/Reader. +pm line 184.
    Also, what does a "normal" filename look like when printed?

    Either the it's the full path to a perl module, or one of those eval lines with parens and brackets.

    Another question is why your code is using what appears to be a module installation process?

    I'm using ExtUtils::Installed. ExtUtils::Installed::new calls ExtUtils::Installed::_make_entry which calls ExtUtils::MM_Unix::parse_version. Maybe I found another bug by analyzing Perl? (This time in NYTProf)

      I had the same question about which one were your warns. If you want to create a simple and correct output with your warning additions then just start with a simple and correct Perl script and test with it your new hypotheses. Questions without any source code are a bit rhetorical.

        Here's an SSCCE that triggers the issue when profiled by NYTProf:
        #!/usr/bin/perl use strict; use warnings; use ExtUtils::Installed; ExtUtils::Installed->new;
        Output from nytprofhtml with the added warn:
        100% ... WARN:(eval 570)[(eval 569)[/ExtUtils/MM_Unix.pm:2920]:1] at +/Devel/NYTProf/FileInfo.pm line 432. WARN:(eval 570)[(eval 569)[/ExtUtils/MM_Unix.pm:2920]:1] at /Devel/NYT +Prof/FileInfo.pm line 432. WARN: at /Devel/NYTProf/FileInfo.pm line 432. Use of uninitialized value in numeric gt (>) at /Devel/NYTProf/Reader. +pm line 184. Use of uninitialized value in numeric gt (>) at /Devel/NYTProf/Reader. +pm line 185. Use of uninitialized value $fname in substitution (s///) at /Devel/NYT +Prof/Util.pm line 235. Use of uninitialized value $fname in substitution (s///) at /Devel/NYT +Prof/Util.pm line 237. Use of uninitialized value $fname in substitution (s///) at /Devel/NYT +Prof/Util.pm line 238. Use of uninitialized value in concatenation (.) or string at /Devel/NY +TProf/Reader.pm line 188. Use of uninitialized value $_ in substitution (s///) at /bin/nytprofht +ml line 540. Use of uninitialized value $_ in substitution (s///) at /bin/nytprofht +ml line 541. Use of uninitialized value $_ in substitution (s///) at /bin/nytprofht +ml line 542. Use of uninitialized value $_ in substitution (s///) at /bin/nytprofht +ml line 543. Use of uninitialized value $_ in substitution (s///) at /bin/nytprofht +ml line 544. Use of uninitialized value $_ in substitution (s///) at /bin/nytprofht +ml line 545. Use of uninitialized value in sprintf at /bin/nytprofhtml line 202. Extracting subroutine call data ... Extracting subroutine links Generating subroutine stack flame graph ...