Bug#839218: nama: FTBFS: Failed 1/7 test programs. 0/91 subtests failed.Bad plan. You planned 126 tests but ran 57.

Niko Tyni ntyni at debian.org
Fri Mar 24 09:30:11 UTC 2017


On Thu, Mar 23, 2017 at 03:51:45PM +0100, Balint Reczey wrote:
> On Wed, Mar 22, 2017 at 8:53 PM, Niko Tyni <ntyni at debian.org> wrote:
> > On Tue, Mar 21, 2017 at 04:05:43PM +0100, Balint Reczey wrote:
> >
> >> It looks like not all regression are fixed after the re-implementation
> >> and the one affecting nama is one of them.
> >
> > Some effort on a reduced test case would have been appreciated; the nama
> > code base is rather big.
> 
> I worked on reducing the test, but I could not reach reasonable size and
> thought someone familiar with Perl internals could potentially spot the
> problem easily from the segfault/assert.
> 
> I just found a perl test reducer, I'll give it a try:
> https://github.com/blekko/perl-reduce

Cool, thanks & sorry for being a bit cranky. FWIW I got maybe halfway
there reducing the thing manually before I spotted the Perl version check.

> >                 if ($minor_version <= 14)
> >                      {    $track->{ops}   = [ @new_list  ] }
> >                 else { @{ $track->{ops} } =   @new_list    }
> >
> > and if I patch that to take the <= 14 code path, the segfault goes away
> > here and all tests pass. What's the history behind this version check?
> 
> Funny story, it was added to work around a segfault in older perl:
> https://github.com/bolangi/nama/commit/8ecdbd5ad0b8ac67b7e4adab2ee1100fbf29aa1f

Heh. Thanks for digging that up.

> The line you found looks very much like a corner case for the assignment
> reimplementation.

Yeah. I tried to devise a test case from scratch involving similar
assignments but couldn't get it to happen so it doesn't seem to be
anything trivial.

> Should I forward it to Perl upstream?

That would be nice, thanks. I'm sure they'd also prefer a minimal test case,
but maybe the assert details are enough for them.

I'll also work a bit on reducing the test further when I find the time.
-- 
Niko




More information about the Perl-maintainers mailing list