Bug#987095: transitive_closure corrupted results, after vertex deleted

Ian Jackson ijackson at chiark.greenend.org.uk
Sat Apr 17 12:59:40 BST 2021


Package: libgraph-perl
Version: 1:0.9716-1
Severity: grave

The attached script, which tests the transitive closure function,
prints this output on testing:

 input: A-NOTA,B-A,B-NOTA
 Use of uninitialized value $_ in exists at /usr/share/perl5/Graph.pm line 362.
 Use of uninitialized value $_ in exists at /usr/share/perl5/Graph.pm line 362.
 output: A-A,A-B,B-B,NOTA-NOTA
 output: A-B,NOTA-NOTA

The correct output, as seen on buster:

 input: A-NOTA,B-A,B-NOTA
 output: A-A,A-NOTA,B-A,B-B,B-NOTA,NOTA-NOTA
 output: A-NOTA,B-A,B-NOTA,NOTA-NOTA

Empirically, the delete_vertex call is necessary for the repro.

I think this is certainly release critical.  I chose "grave" rather
than "serious" since this can produce corrupted output in data
processing situations, where the corrupted output might not be
detected.

In my Debian tally sheet processing program
  https://www.chiark.greenend.org.uk/ucgi/~ian/git?p=appendix-a6.git
(`compute`, there), this can produce totally wrong answers for the
winner of votes.

Ian.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: repro
URL: <http://alioth-lists.debian.net/pipermail/pkg-perl-maintainers/attachments/20210417/38a7a257/attachment.ksh>
-------------- next part --------------

-- 
Ian Jackson <ijackson at chiark.greenend.org.uk>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.


More information about the pkg-perl-maintainers mailing list