all devices regression report - 2017-12-18-06:06:35 - 51f279ece4f34c17119a543725c5aee3ca4f8d1d

[email protected] Mon, 18 Dec 2017 06:06:36 -0800 (PST)
Newsgroups gmane.comp.printing.ghostscript.regression
Message-ID <20171218140636.1DF9C2040401@i7>
Differences in all devices errors using gs/examples files

Previous Revision: 9de2f57c80bc9e6a25e3fd570a5c1df3321404eb
 Current Revision: 51f279ece4f34c17119a543725c5aee3ca4f8d1d

commit 51f279ece4f34c17119a543725c5aee3ca4f8d1d
Author:     Ken Sharp <[email protected]>
AuthorDate: Mon Dec 18 11:27:32 2017 +0000
CommitDate: Mon Dec 18 11:27:32 2017 +0000

    Fix pattern code for devices handling patterns by subclassing new device
    
    The pattern code permits for us to use an 'internal' accumulator or for
    a device to declare it can handle patterns itself. When a device handles
    patterns we pass spec_ops to the device to delineate the pattern
    operations.
    
    It can happen that when the pattern terminates we (g)restore back to a
    point before the internal pattern accumulator device was pushed into
    the graphics state. To handle that possibility we push a pointer to the
    device onto the exec stack and use that stored pointer to tell the
    pattern accumulator device when the pattern terminates, even if it is
    no longer the current device at that time.
    
    Unfortunately this conflicts with the ability for other devices to
    handle patterns. The code uses that same stored device pointer to
    indicate whether we are using the internal accumulator or not. If the
    stored pointer is NULL then we are not using the internal accumulator.
    
    But this assumed that, if we aren't using the internal accumulator, that
    the current device is the one which declared it could handle the pattern.
    This is dangerous anyway, because there's not restriction on how fat
    back we might have restored, and its possible (if unlikely) that the
    device now in the graphics state isn't the one that can handle
    patterns. In addition, if the underlying device handles patterns by
    subclassing itself with a new pattern handling device, then when we
    restore back, even though the device is the one which stated it could
    handle patterns, its not the one we want to inform of the pattern
    termination.
    
    We handle this simply by getting the current device after the 'start'
    notification. I think its reasonable to assume that the device now in
    place is the one which expects to receive the 'close' message. We
    then store that device on the exec stack. When we get to the cleanup
    routine, if we decide we are not using the internal accumulator, then
    we call the new stored device to handle it.
    
    I think ideally we should store a flag for whether we are using the
    internal accumulator, but it wouldn't be any more efficient.

psi/zpcolor.c

new errors:
=== ghostpdl/examples/colorcir.ps === itk24i ===
GPL Ghostscript GIT PRERELEASE 9.23: BandHeight of 0 not valid, BandHeight minimum is 200
**** Unable to open the initial device, quitting.



=== ghostpdl/examples/colorcir.ps === itk38 ===
GPL Ghostscript GIT PRERELEASE 9.23: BandHeight of 0 not valid, BandHeight minimum is 200
**** Unable to open the initial device, quitting.



=== ghostpdl/examples/colorcir.ps === jetp3852 ===
GPL Ghostscript GIT PRERELEASE 9.23: BandHeight of 0 not valid, BandHeight minimum is 200
**** Unable to open the initial device, quitting.



=== ghostpdl/examples/colorcir.ps === jj100 ===
GPL Ghostscript GIT PRERELEASE 9.23: BandHeight of 0 not valid, BandHeight minimum is 200
**** Unable to open the initial device, quitting.



=== ghostpdl/examples/colorcir.ps === jpeg ===
GPL Ghostscript GIT PRERELEASE 9.23: BandHeight of 0 not valid, BandHeight minimum is 200
**** Unable to open the initial device, quitting.



=== ghostpdl/examples/text_graph_image_cmyk_rgb.pdf === tiffscaled24 ===
GPL Ghostscript GIT PRERELEASE 9.23: BandHeight of 0 not valid, BandHeight minimum is 200
**** Unable to open the initial device, quitting.



=== ghostpdl/examples/text_graphic_image.pdf === cdj890 ===
CALL-REJECTED upd_print_page(0x28b9ce8,0x2e7cd70)
Error: /undefined in --showpage--
Operand stack:
   1   true
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   2015   1   3   %oparray_pop   2014   1   3   %oparray_pop   1998   1   3   %oparray_pop   --nostringval--   --nostringval--   2   1   1   --nostringval--   %for_pos_int_continue   --nostringval--   --nostringval--   1890   0   9   %oparray_pop   --nostringval--   --nostringval--
Dictionary stack:
   --dict:982/1684(ro)(G)--   --dict:1/20(G)--   --dict:83/200(L)--   --dict:83/200(L)--   --dict:133/256(ro)(G)--   --dict:305/450(ro)(G)--   --dict:35/64(L)--   --dict:6/9(L)--   --dict:7/20(L)--
Current allocation mode is local
Last OS error: No such file or directory
GPL Ghostscript GIT PRERELEASE 9.23: Unrecoverable error, exit code 1



=== ghostpdl/examples/text_graphic_image.pdf === lbp310 ===
GPL Ghostscript GIT PRERELEASE 9.23: ijs server not specified
**** Unable to open the initial device, quitting.



=== ghostpdl/examples/text_graphic_image.pdf === mj700v2c ===
**** Unable to open the initial device, quitting.



=== ghostpdl/examples/tiger.eps === hl7x0 ===
GPL Ghostscript GIT PRERELEASE 9.23: ijs server not specified
**** Unable to open the initial device, quitting.



=== ghostpdl/examples/tiger.eps === pcxcmyk ===
**** Unable to open the initial device, quitting.



=== ghostpdl/examples/tiger.eps === pcxgray ===
**** Unable to open the initial device, quitting.




errors that went away:
=== ghostpdl/examples/alphabet.ps === pclm ===
=== ghostpdl/examples/alphabet.ps === pdfimage24 ===
=== ghostpdl/examples/alphabet.ps === pdfimage32 ===
=== ghostpdl/examples/alphabet.ps === pdfimage8 ===
=== ghostpdl/examples/annots.pdf === pclm ===
=== ghostpdl/examples/annots.pdf === pdfimage24 ===
=== ghostpdl/examples/annots.pdf === pdfimage32 ===
=== ghostpdl/examples/colorcir.ps === opvp ===
=== ghostpdl/examples/colorcir.ps === pclm ===
=== ghostpdl/examples/colorcir.ps === pdfimage24 ===
=== ghostpdl/examples/colorcir.ps === pdfimage32 ===
=== ghostpdl/examples/colorcir.ps === pdfimage8 ===
=== ghostpdl/examples/colorcir.ps === plibc ===
=== ghostpdl/examples/colorcir.ps === plibk ===
=== ghostpdl/examples/colorcir.ps === plibm ===
=== ghostpdl/examples/colorcir.ps === spotcmyk ===
=== ghostpdl/examples/doretree.ps === ijs ===
=== ghostpdl/examples/doretree.ps === oprp ===
=== ghostpdl/examples/doretree.ps === opvp ===
=== ghostpdl/examples/doretree.ps === pclm ===
=== ghostpdl/examples/doretree.ps === pdfimage24 ===
=== ghostpdl/examples/doretree.ps === pdfimage32 ===
=== ghostpdl/examples/doretree.ps === pdfimage8 ===
=== ghostpdl/examples/doretree.ps === plib ===
=== ghostpdl/examples/doretree.ps === plibc ===
=== ghostpdl/examples/doretree.ps === plibg ===
=== ghostpdl/examples/doretree.ps === plibk ===
=== ghostpdl/examples/doretree.ps === plibm ===
=== ghostpdl/examples/doretree.ps === rinkj ===
=== ghostpdl/examples/doretree.ps === spotcmyk ===
=== ghostpdl/examples/doretree.ps === uniprint ===
=== ghostpdl/examples/escher.ps === ijs ===
=== ghostpdl/examples/escher.ps === oprp ===
=== ghostpdl/examples/escher.ps === opvp ===
=== ghostpdl/examples/escher.ps === pclm ===
=== ghostpdl/examples/escher.ps === pdfimage24 ===
=== ghostpdl/examples/escher.ps === pdfimage32 ===
=== ghostpdl/examples/escher.ps === pdfimage8 ===
=== ghostpdl/examples/escher.ps === plib ===
=== ghostpdl/examples/escher.ps === plibc ===
=== ghostpdl/examples/escher.ps === plibg ===
=== ghostpdl/examples/escher.ps === plibk ===
=== ghostpdl/examples/escher.ps === plibm ===
=== ghostpdl/examples/escher.ps === rinkj ===
=== ghostpdl/examples/escher.ps === spotcmyk ===
=== ghostpdl/examples/escher.ps === uniprint ===
=== ghostpdl/examples/golfer.eps === ijs ===
=== ghostpdl/examples/golfer.eps === oprp ===
=== ghostpdl/examples/golfer.eps === opvp ===
=== ghostpdl/examples/golfer.eps === pclm ===
=== ghostpdl/examples/golfer.eps === pdfimage24 ===
=== ghostpdl/examples/golfer.eps === pdfimage32 ===
=== ghostpdl/examples/golfer.eps === pdfimage8 ===
=== ghostpdl/examples/golfer.eps === plib ===
=== ghostpdl/examples/golfer.eps === plibc ===
=== ghostpdl/examples/golfer.eps === plibg ===
=== ghostpdl/examples/golfer.eps === plibk ===
=== ghostpdl/examples/golfer.eps === plibm ===
=== ghostpdl/examples/golfer.eps === rinkj ===
=== ghostpdl/examples/golfer.eps === spotcmyk ===
=== ghostpdl/examples/golfer.eps === uniprint ===
=== ghostpdl/examples/grayalph.ps === ijs ===
=== ghostpdl/examples/grayalph.ps === oprp ===
=== ghostpdl/examples/grayalph.ps === opvp ===
=== ghostpdl/examples/grayalph.ps === pclm ===
=== ghostpdl/examples/grayalph.ps === pdfimage24 ===
=== ghostpdl/examples/grayalph.ps === pdfimage32 ===
=== ghostpdl/examples/grayalph.ps === pdfimage8 ===
=== ghostpdl/examples/grayalph.ps === plib ===
=== ghostpdl/examples/grayalph.ps === plibc ===
=== ghostpdl/examples/grayalph.ps === plibg ===
=== ghostpdl/examples/grayalph.ps === plibk ===
=== ghostpdl/examples/grayalph.ps === plibm ===
=== ghostpdl/examples/grayalph.ps === rinkj ===
=== ghostpdl/examples/grayalph.ps === spotcmyk ===
=== ghostpdl/examples/grayalph.ps === uniprint ===
=== ghostpdl/examples/ridt91.eps === ijs ===
=== ghostpdl/examples/ridt91.eps === oprp ===
=== ghostpdl/examples/ridt91.eps === opvp ===
=== ghostpdl/examples/ridt91.eps === pclm ===
=== ghostpdl/examples/ridt91.eps === pdfimage24 ===
=== ghostpdl/examples/ridt91.eps === pdfimage32 ===
=== ghostpdl/examples/ridt91.eps === pdfimage8 ===
=== ghostpdl/examples/ridt91.eps === plib ===
=== ghostpdl/examples/ridt91.eps === plibc ===
=== ghostpdl/examples/ridt91.eps === plibg ===
=== ghostpdl/examples/ridt91.eps === plibk ===
=== ghostpdl/examples/ridt91.eps === plibm ===
=== ghostpdl/examples/snowflak.ps === pclm ===
=== ghostpdl/examples/snowflak.ps === pdfimage24 ===
=== ghostpdl/examples/snowflak.ps === pdfimage32 ===
=== ghostpdl/examples/snowflak.ps === pdfimage8 ===
=== ghostpdl/examples/text_graph_image_cmyk_rgb.pdf === plibm ===
=== ghostpdl/examples/text_graph_image_cmyk_rgb.pdf === uniprint ===
=== ghostpdl/examples/text_graphic_image.pdf === ijs ===
=== ghostpdl/examples/text_graphic_image.pdf === oprp ===
=== ghostpdl/examples/text_graphic_image.pdf === opvp ===
=== ghostpdl/examples/text_graphic_image.pdf === pclm ===
=== ghostpdl/examples/tiger.eps === pclm ===
=== ghostpdl/examples/tiger.eps === pdfimage8 ===
=== ghostpdl/examples/transparency_example.ps === pclm ===
=== ghostpdl/examples/transparency_example.ps === pdfimage24 ===
=== ghostpdl/examples/transparency_example.ps === pdfimage32 ===
=== ghostpdl/examples/transparency_example.ps === pdfimage8 ===
=== ghostpdl/examples/vasarely.ps === pclm ===
=== ghostpdl/examples/vasarely.ps === pdfimage24 ===
=== ghostpdl/examples/vasarely.ps === pdfimage32 ===
=== ghostpdl/examples/vasarely.ps === pdfimage8 ===
=== ghostpdl/examples/waterfal.ps === pclm ===
=== ghostpdl/examples/waterfal.ps === pdfimage24 ===
=== ghostpdl/examples/waterfal.ps === pdfimage32 ===
=== ghostpdl/examples/waterfal.ps === pdfimage8 ===

errors that are not whitelisted:
=== ghostpdl/examples/annots.pdf === pdfimage8 ===
=== ghostpdl/examples/colorcir.ps === itk24i ===
=== ghostpdl/examples/colorcir.ps === itk38 ===
=== ghostpdl/examples/colorcir.ps === jetp3852 ===
=== ghostpdl/examples/colorcir.ps === jj100 ===
=== ghostpdl/examples/colorcir.ps === jpeg ===
=== ghostpdl/examples/text_graph_image_cmyk_rgb.pdf === pclm ===
=== ghostpdl/examples/text_graph_image_cmyk_rgb.pdf === pdfimage24 ===
=== ghostpdl/examples/text_graph_image_cmyk_rgb.pdf === pdfimage32 ===
=== ghostpdl/examples/text_graph_image_cmyk_rgb.pdf === pdfimage8 ===
=== ghostpdl/examples/text_graph_image_cmyk_rgb.pdf === tiffscaled24 ===
=== ghostpdl/examples/text_graphic_image.pdf === cdj890 ===
=== ghostpdl/examples/text_graphic_image.pdf === lbp310 ===
=== ghostpdl/examples/text_graphic_image.pdf === mj700v2c ===
=== ghostpdl/examples/text_graphic_image.pdf === pdfimage24 ===
=== ghostpdl/examples/text_graphic_image.pdf === pdfimage32 ===
=== ghostpdl/examples/text_graphic_image.pdf === pdfimage8 ===
=== ghostpdl/examples/tiger.eps === hl7x0 ===
=== ghostpdl/examples/tiger.eps === pcxcmyk ===
=== ghostpdl/examples/tiger.eps === pcxgray ===
=== ghostpdl/examples/tiger.eps === pdfimage24 ===
=== ghostpdl/examples/tiger.eps === pdfimage32 ===
=== ghostpdl/examples/transparency_example.ps === cp50 ===
=== ghostpdl/examples/transparency_example.ps === psdrgb ===