On Mon, Dec 07, 2009 at 02:46:23PM +0000, Nicholas Clark wrote:
> On Sun, Dec 06, 2009 at 12:53:51PM +0000, Tim Bunce wrote:
> > On Fri, Dec 04, 2009 at 08:28:15PM +0000, Tim Bunce wrote:
> > > I'm suspecting PUSHSTACKi(PERLSI_MAGIC) at the moment.
> > 
> > That was a Red Herring, I think.
> > 
> > It seems tied to a recent change in perl:
> 
> I don't think that it is actually.
> What seems to be key is that assertions are enabled.

Ah. D'oh!

I'm tempted to just add a #define NDEBUG after the #includes.
All the asserts in NYTProf.xs are cheap. Any reason not to?

> > I'd appreciate it if someone familar with git could run a bisect on perl 
> > using
> >     perl t/test81-swash.t
> > (I'll get there eventually if noone else does, but it won't be soon.)
> 
> I had problems running that *outside* of make test.

I think the main trick is to run make install first.

> this shell script with git bisect run:
> [...]

Handy, thanks! (I'm still very much a git newbie. I did my first
rebase only last week :)

> this patch to NYTProf.xs to allow it to build with later 5.9.x's:

Applied, r933. Thanks.

> and it comes up with this answer:
> 
> commit 68ba3a3fdba75589a9e65167c7caeb83c4231690
> Author: Yves Orton <[email protected]>
> Date:   Sun Jan 21 19:53:38 2007 +0100
> 
>     Disable positive lookaround optimisations
>     Message-ID: <[email protected]>
>     Date: Sun, 21 Jan 2007 18:53:38 +0100
>     
> http://perl5.git.perl.org/perl.git/commit/68ba3a3fdba75589a9e65167
> 
> Which I checked - the commit before passes. This commit fails. But I suspect
> that it only exposes the problem by changing whether the SWASH loading code
> is triggered (I didn't check this)

Yes, something like that seems likely.

> So, actually, I'm not convinced that there ever was a version of perl where
> it passed, once assertions are enabled.

Umm. I'll enable NDEBUG and run the tests through the perl versions I
have handy. So far I know it works for my default 5.6.8 build.

On Mon, Dec 07, 2009 at 05:57:27PM +0000, Nicholas Clark wrote:
> On Mon, Dec 07, 2009 at 05:48:00PM +0000, Nicholas Clark wrote:
> > On Fri, Dec 04, 2009 at 08:28:15PM +0000, Tim Bunce wrote:
> > > I'm suspecting PUSHSTACKi(PERLSI_MAGIC) at the moment.
> > > Chunks of NYTProf guts need a rethink. [Sigh.]
> > > 
> > > Meanwhile, try NYTPROF=slowops=0 or the current release version.
> > 
> > Actually, I can't use the "current release version"
> > 
> > I built perl 5.10.1, installed it, built Devel-NYTProf-2.10, install it, and
> > then ran
> > 
> > $ NYTPROF=compress=0 ./perl -d:NYTProf installman
> > ...
> > $ nytprofhtml Generating report...
> > File format error: token -8 ('?????????'), chunk 10, pos 229 at 
> > /usr/local/lib/perl/5.8.8/Devel/NYTProf/Data.pm line 74.
> 
> Sorry, PEBKAC.
> (ish)

(I hadn't come across PEBKAC before. Cute.)

> nytprofhtml is /usr/local/bin/nytprofhtml, which is Devel::NYTProf 2.03
> 
> So, unfortunately, it can't spot that it's been given a file that is too new.
> Which surprises me slightly - I thought that it was supposed to be able to
> detect this and bail out.

The logic only handles backwards compatibility, not forward. I'll add a
warning if the minor version of the file is greater than expected.

Meanwhile, ./perl -S nytprofhtml ... should work fine.

Tim.

-- 
You've received this message because you are subscribed to
the Devel::NYTProf Development User group.

Group hosted at:  http://groups.google.com/group/develnytprof-dev
Project hosted at:  http://perl-devel-nytprof.googlecode.com
CPAN distribution:  http://search.cpan.org/dist/Devel-NYTProf

To post, email:  [email protected]
To unsubscribe, email:  [email protected]

Reply via email to