Control: tags -1 confirmed help

On 2013-05-20 15:06, Colin Watson wrote:
> Package: mscgen
> Version: 0.20-2
> Severity: serious
> User: ubuntu-de...@lists.ubuntu.com
> Usertags: origin-ubuntu saucy
> 
> mscgen fails to build in unstable as follows:
> 
>   make  check-TESTS
>   make[3]: Entering directory `/«PKGBUILDDIR»/build/test'
>   testinput0.msc
>   Error: gdoTextHeight: Could not read font (GDFONTPATH=)
>   FAIL: renderercheck.sh
>   ====================================================
>   1 of 1 test failed
>   Please report to michael.mcternan.2...@cs.bris.ac.uk
>   ====================================================
>   make[3]: *** [check-TESTS] Error 1
> 
> If it helps, you can see a corresponding Ubuntu build log here:
> 
>   
> https://launchpadlibrarian.net/140264375/buildlog_ubuntu-saucy-i386.mscgen_0.20-2build2_FAILEDTOBUILD.txt.gz
> 
> I don't quite know what's happening here, as running the tests by hand
> seems to succeed.
> 
> Thanks,
> 

I can confirm the failure in a sid chroot, but the failure is
non-deterministic.  I have seen 2 successful builds out of 5 or so.
Furthermore the test that fails is also non-deterministic.  Your log has
testinput0.msc, but I saw 17, 5 and one starting with 2 (forgot the
exact number for that one).
  The frequency of the failures appears to be fairly random at first
glance (for testinput0.msc).  I have observed 0 to 496 successful runs
between each failure.  The average number of successes between failures
appears to be around 36 runs (based on 90 observations).  So anyone
wanting to replicate this may want to setup a:
   "while mscgen -Tpng <in-file> ; do : ; done"


Dear pkg-gd developers, do you have any hints as to why gdImageStringFT
would be non-deterministic[1]?  As far as I can tell, it receives the
following arguments:

  NULL,
  rect (int array[8], init'ed to 8 zeroes),
  pen (0 or 0xff - failures tend to be 0),
  "helvetica",
  11.0,
  0,
  0,
  0,
  "gHELLOWt"

The pen value is (AFAICT) always a value returned by
gdImageColorAllocate.  mscgen will always allocate ADRAW_COL_BLACK and
ADRAW_COL_WHITE (in that order) prior to loading any other colors[2].

~Niels

[1] Call context:
http://anonscm.debian.org/gitweb/?p=collab-maint/mscgen.git;a=blob;f=src/gd_out.c;h=64d82b27817dccae83c24ce6a450306be11fcfe4;hb=2ca7e6af2dad9f34d6d1466174b13e646d8ab630#l225

[2]
src/adraw.h:    ADRAW_COL_WHITE   = 0x00ffffff,
src/adraw.h:    ADRAW_COL_BLACK   = 0x00000000,

These are passed like:
    gdImageColorAllocate(context->img,
                         (col & 0xff0000) >> 16,
                         (col & 0x00ff00) >>  8,
                         (col & 0x0000ff) >>  0);

(see the getColorRef function in same file linked to in [1])


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to