all devices regression report - 2017-11-22-11:41:41 - dd35e58feccf543129bc108857b16fd43d627d02

[email protected]
Newsgroups gmane.comp.printing.ghostscript.regression
Message-ID <20171122194142.106E720401C5@i7>
Differences in all devices errors using gs/examples files

Previous Revision: 362ec9daadb9992b0def3520cd1dc6fa52edd1c4
 Current Revision: dd35e58feccf543129bc108857b16fd43d627d02

commit dd35e58feccf543129bc108857b16fd43d627d02
Author:     Robin Watts <[email protected]>
AuthorDate: Wed Nov 22 18:02:26 2017 +0000
CommitDate: Wed Nov 22 18:09:43 2017 +0000

    Fix indeterminism caused by buffer overrun in thresholding.
    
    Running:
    
     gs -sOutputFile=out%d.pbm -dMaxBitmap=400000000 -sDEVICE=pbmraw -r300
     -sDEFAULTPAPERSIZE=letter -dNOPAUSE -dBATCH -K2000000 -dClusterJob
     -dJOBSERVER /home/marcos/cluster/tests_private/pdf/uploads/Bug698519.pdf
    
    then catting out{1,2,3,4,5}.pbm together and md5summing it gives a
    different result to running the above job direct to out.pbm.
    
    After much nightmarish debugging, it transpires that this is because
    the special case in the SSE thresholding code that spots the 200%
    scale case is being triggered incorrectly.
    
    The image is 1753 pixels wide, which would be 3506 pixels at 200%.
    We actually display it at 3507 pixels. The code was triggering the
    200% case by calculating a scale_factor value of fixed_half (128).
    
    The rounding here was causing a false positive.
    
    Instead, we skip the calculation and check by directly comparing
    source and dest sizes.

base/gxicolor.c
base/gximono.c

new errors:

errors that went away:

errors that are not whitelisted:
=== ghostpdl/examples/transparency_example.ps === cp50 ===
=== ghostpdl/examples/transparency_example.ps === psdrgb ===
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.