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)