all devices regression report - 2018-03-29-00:45:32 - 9ff6b34e461fcbd4ef27fbb6c5c8a15071fe1370

[email protected] Thu, 29 Mar 2018 00:45:32 -0700 (PDT)
Newsgroups gmane.comp.printing.ghostscript.regression
Message-ID <20180329074533.4281C2040273@i7>
Differences in all devices errors using gs/examples files

Previous Revision: 33701ac07115cb2f634a40ab73a5c127ca870ad8
 Current Revision: 9ff6b34e461fcbd4ef27fbb6c5c8a15071fe1370

commit 9ff6b34e461fcbd4ef27fbb6c5c8a15071fe1370
Author:     Ray Johnston <[email protected]>
AuthorDate: Fri Feb 16 13:51:04 2018 -0800
CommitDate: Wed Mar 28 22:08:40 2018 -0700

    Make ICC profile management thread safe.
    
    The change to ref_count of profiles needs to be protected by a lock if
    the profile ref_count could be changed by another thread. Also when
    decrementing the ref_count to 0, we cannot free the lock until after
    the profile has been unlocked.
    
    New routine gsicc_adjust_profile_rc replaces old (not threadsafe) function
    gsicc_profile_reference.
    
    Also add tracing "cname" to the RC_ADJUST_ macro to aid in debugging
    with -Z^ debug flag.
    
    Testing had revealed race conditions which are now fixed (eliminate use
    of semaphores).
    
    This also changes the gsicc_lcms2art.c interface functions to keep a
    list of transforms configured to have differing buffer formats that
    include alpha, planar IN/OUT, big_endian IN/OUT, bytes_per_component
    IN/OUT which are cloned as needed by threads.
    
    Change gscms_is_threadsafe to return "true" in gsicc_lcms2art.c
    
    TBD: If a link fails to build a thread may hang waiting for the link
    profile to become valid if it was not the thread that was building it.
    Not a new condition, but exposed when gscms_is_threadsafe returns true.
    
    TBD: Fix error handling / clean-up when links fail to build. Also not
    new, but is needed to prevent leaks, and possibly hang conditions.

base/gdevp14.c
base/gscdevn.c
base/gscie.c
base/gscms.h
base/gscscie.c
base/gscspace.c
base/gsicc.c
base/gsicc_cache.c
base/gsicc_lcms2art.c
base/gsicc_manage.c
base/gsicc_manage.h
base/gsicc_monitorcm.c
base/gsicc_nocm.c
base/gsicc_replacecm.c
base/gsmemory.c
base/gsrefct.h
base/gstrans.c
base/gxclist.c
base/gxclrast.c
base/gxcmap.c
base/gxipixel.c
base/lib.mak
lcms2art/include/lcms2art.h
lcms2art/src/cmsxform.c
lcms2art/src/lcms2art.def
xps/xpscolor.c
xps/xpsimage.c
xps/xpstile.c

new errors:
=== ghostpdl/examples/text_graph_image_cmyk_rgb.pdf === pxlcolor ===
GPL Ghostscript GIT PRERELEASE 9.24: link at 0x0x237a770 being removed, but has ref_count = 1



=== ghostpdl/examples/text_graph_image_cmyk_rgb.pdf === pxlmono ===
GPL Ghostscript GIT PRERELEASE 9.24: link at 0x0x3f47770 being removed, but has ref_count = 1




errors that went away:

errors that are not whitelisted:
=== ghostpdl/examples/text_graph_image_cmyk_rgb.pdf === pxlcolor ===
=== ghostpdl/examples/text_graph_image_cmyk_rgb.pdf === pxlmono ===