Hello all,

I'm trying to get my printer (Samsung CLP500) working with CUPS/SpliX.
I'm on 5.2/i386 release (generic) but I seem to get the same issue on a
clean install of snapshot 22 Jan with updated packages.

On the 5.2 release build I'm using ghostscript-9.05, cups1.5.3p5,
gstoraster-1.04p0 and splix2.0.0p6; plus the clp500.ppd, .cms and .cms2
files from the SpliX build/site.

When I try to print a simple plain text file the CUPS script hangs at
The rasterisation stage; and by running the filter pipeline (texttops, 
pstops, pstoraster ...) manually I can see that ghostscript segfaults
when called by gstoraster.

Following shows a gstoraster session with a build of gs from ports with
DEBUG and CUPSDEBUG2, followed by a gdb backtrace on the gs core dump
using unstripped versions of gs and libgs.

It looks like cups_set_color_info() is called with one device pointer 
(0x8423b034) and then there's a get/put_params() with a different one
(0x882eb034). Is this normal? The second one segfaults when 
gsicc_set_device_profile tries to write its icc profile. I'm guessing 
there may be a missing call to gsicc_init_device_profile_struct() or 
something like that...

I've had a trawl through the patches on git.ghostscript.com since the
release of 9.05, but I can't see anything directly relevant.

Thanks in advance for any help or suggestions.
MARTIN


===== gstoraster session =====

$ echo $PPD
/usr/local/share/cups/model/samsung/clp500.ppd
$ /usr/local/libexec/cups/filter/gstoraster 1 martin '' 1 '' <pstops.ps 
gstoraster.ras               
Segmentation fault (core dumped) 
NOTICE:DEBUG2: cups_get_params(0x8423b034, 0xcfbfa90c)
NOTICE:DEBUG2: before gdev_prn_get_params()
NOTICE:DEBUG2: after gdev_prn_get_params()
NOTICE:DEBUG2: Leaving cups_get_params()
NOTICE:DEBUG2: cv[0]=0 -> 77b4e62600000000
NOTICE:DEBUG2: cups_open(0x8423b034)
NOTICE:INFO: Start rendering...
INFO: Start rendering...
NOTICE:INFO: Processing page 1...
INFO: Processing page 1...
NOTICE:DEBUG2: cups_set_color_info(0x8423b034)
NOTICE:DEBUG2: cups->EncodeLUT[0] = 0
NOTICE:DEBUG2: cups->EncodeLUT[32768] = 1
NOTICE:DEBUG2: cups->EncodeLUT[0] = 0
NOTICE:DEBUG2: cups->EncodeLUT[65535] = 1
NOTICE:DEBUG: num_components = 1, depth = 1
DEBUG: num_components = 1, depth = 1
NOTICE:DEBUG: cupsColorSpace = 3, cupsColorOrder = 0
NOTICE:DEBUG: cupsBitsPerPixel = 1, cupsBitsPerColor = 1
NOTICE:DEBUG: max_gray = 1, dither_grays = 2
NOTICE:DEBUG: max_color = 0, dither_colors = 0
DEBUG2: cups_get_params(0x882eb034, 0xcfbd97cc)
DEBUG2: before gdev_prn_get_params()
DEBUG2: after gdev_prn_get_params()
DEBUG2: Leaving cups_get_params()
DEBUG2: cups_put_params(0x882eb034, 0xcfbd97d4)
DEBUG2: cups_set_color_info(0x882eb034)
DEBUG2: cups->EncodeLUT[0] = 0
DEBUG2: cups->EncodeLUT[32768] = 1
DEBUG2: cups->EncodeLUT[0] = 0
DEBUG2: cups->EncodeLUT[65535] = 1
DEBUG: num_components = 1, depth = 1
DEBUG: cupsColorSpace = 3, cupsColorOrder = 0
DEBUG: cupsBitsPerPixel = 1, cupsBitsPerColor = 1
DEBUG: max_gray = 1, dither_grays = 2
DEBUG: max_color = 0, dither_colors = 0
ERROR: Ghostscript exited with value 0
$


===== backtrace from ghostscript core dump ===== 

$ gdb gs gs.core                                                                
                                                                                
                                                    
GNU gdb 6.3
[...]
#0  0x1c156470 in gsicc_set_device_profile (pdev=0x882eb034,
mem=0x865db680, file_name=0x3c001697 "default_gray.icc",
pro_enum=gsDEFAULTPROFILE) at ./base/gsicc_manage.c:1132
1132                    pdev->icc_struct->device_profile[pro_enum] =
icc_profile;

(gdb) bt
#0  0x1c156470 in gsicc_set_device_profile (pdev=0x882eb034,
mem=0x865db680, file_name=0x3c001697 "default_gray.icc",
pro_enum=gsDEFAULTPROFILE) at ./base/gsicc_manage.c:1132
#1  0x1c2ccc13 in cups_set_color_info ()
#2  0x1c2ce0cd in cups_put_params ()
#3  0x1c2ea98c in gs_putdeviceparams (dev=0x882eb034, plist=0xcfbd97d4)
at ./base/gsdparam.c:479
#4  0x1c0d8dd3 in zputdeviceparams (i_ctx_p=0x821832c0) at
./psi/zdevice.c:407
#5  0x1c09d8df in do_call_operator (op_proc=0x1c0d8c40
<zputdeviceparams>, i_ctx_p=0x821832c0) at ./psi/interp.c:84
#6  0x1c09f8b6 in gs_call_interp (pi_ctx_p=0x865db06c, pref=Variable
"pref" is not available.
) at ./psi/interp.c:1163
#7  0x1c0a1902 in gs_interpret (pi_ctx_p=0x865db06c, pref=0xcfbda504,
user_errors=1, pexit_code=0xcfbda514, perror_object=0xcfbda50c) at
./psi/interp.c:448
#8  0x1c093234 in gs_main_interpret (minst=Variable "minst" is not
available.
) at ./psi/imain.c:239
#9  0x1c09434f in gs_main_init2aux (minst=0x865db018) at
./psi/imain.c:536
#10 0x1c0944d1 in gs_main_init2 (minst=0x865db018) at ./psi/imain.c:306
#11 0x1c0950c3 in runarg (minst=0x865db018, pre=0x3c03bd19 "",
arg=0x86050818 "/var/tmp/gsprolog.30053.ps", post=0x3c00a0fe
".runfile", options=Variable "options" is not available.
) at ./psi/imainarg.c:810
#12 0x1c095362 in argproc (minst=0x865db018, arg=0xcfbdba14
"/var/tmp/gsprolog.30053.ps") at ./psi/imainarg.c:757
#13 0x1c096cec in gs_main_init_with_args (minst=0x865db018, argc=14,
argv=0xcfbdb8c8) at ./psi/imainarg.c:224
#14 0x1c00f34c in main (argc=14, argv=0xcfbdb8c8) at ./psi/gs.c:94
(gdb)

Reply via email to