See http://www.cups.org/str.php?L1577 --------------------------------------------------------------------------------- In gs-esp 8.15.1, the following PostScript file << /NumCopies 1 /Policies << /PolicyNotFound 1 >> >> setpagedevice fed to the following rune gs-esp -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE -sDEVICE=bjc600 -dBitsPerPixel=24 -dProcessColorModel=/DeviceCMYK -sOutputFile=t bad.ps causes this error Error: /undefined in --setpagedevice-- This is because: gx_default_put_params checks whether get_page_device works, before attempting to process the NumCopies pagedevice setting gdevcdj uses gdevprn and all prn devices are page devices so get_page_device should be gx_page_device_get_page_device, and indeed gdevprn sets it like that but cdj_set_bpp calls gs_closedevice which calls gdev_prn_tear_down which restores a set of procs including gx_default_get_page_device so that the check fails. This causes gx_default_put_params not to read the NumCopies parameter, so that it is left unread, and then an error is later issued by ref_param_read_commit because the relevants ->results[] entry is still zero. I don't know whether the bug is: * that iplist->u.r.require_all is set on entry to ref_param_read_commit * that cdj_set_bpp calls gs_closedevice * that gdev_prn_tear_down restores the procedures * the check in gx_default_put_params This bug was reported by an Ubuntu user in our bug system, at https://launchpad.net/distros/ubuntu/+source/gs-esp/+bug/38060 I need to decide what to do about this for our release. It causes some files not to be printable on bjc600's. As a straightforward change which will probably have relatively low and benign impact, unless I hear otherwise in time I will probably arrange for our forthcoming release's gs-esp's gx_default_put_params to always read the NumCopies parameter. Thanks for your attention. --------------------------------------------------------------------------------- A patch to fix this is attached.
Created attachment 3142 [details] Fix of bjc600 output device
The patch looks fine. Please commit.
Fixed in revision 8113.