Bug 690963 - Core-Dump with bmpsep1 on higher resolution
Summary: Core-Dump with bmpsep1 on higher resolution
Status: RESOLVED FIXED
Alias: None
Product: Ghostscript
Classification: Unclassified
Component: PDF Interpreter (show other bugs)
Version: 0.00
Hardware: PC Linux
: P4 critical
Assignee: Ray Johnston
URL:
Keywords:
: 693423 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-11-27 11:25 UTC by Martin Portmann
Modified: 2012-11-06 06:32 UTC (History)
2 users (show)

See Also:
Customer:
Word Size: ---


Attachments
altona.pdf (11.68 MB, application/pdf)
2009-11-27 11:43 UTC, Martin Portmann
Details
internet files (79.62 KB, application/x-javascript)
2011-02-06 00:04 UTC, christinedelight.top85
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Portmann 2009-11-27 11:25:10 UTC
I am trying to write an own driver based on the bmpsep1 device. I had some core
dumps and was thinking that on my side must something wrong. The only difference
I found was that my default resolution is 600dpi. 
After at least one day of debugging I tested with the bmpsep1 driver and had the
same problem there. With the default resolution the page renders but when I bump
up the resolution to 600dpi or 1200dpi I always get a core dump.

Tested this on various OS and GS versions:

Tested on Ubuntu 9.10 x86 with gs 8.70 and gs 8.64 (developer machine)
gs -dBATCH -dNOPAUSE -sDEVICE=bmpsep1 -r600 -sOutputFile=altona.bmp altona.pdf
(core-dump)
gs -dBATCH -dNOPAUSE -sDEVICE=bmpsep1 -sOutputFile=altona.bmp altona.pdf (ok)

Tested on Ubuntu 9.10 x86 with gs 8.70 (other machine)
gs -dBATCH -dNOPAUSE -sDEVICE=bmpsep1 -r600 -sOutputFile=altona.bmp altona.pdf
(core-dump)
gs -dBATCH -dNOPAUSE -sDEVICE=bmpsep1 -sOutputFile=altona.bmp altona.pdf (ok)

Tested on FreeBSD 7.0 with gs 8.64
gs -dBATCH -dNOPAUSE -sDEVICE=bmpsep1 -r600 -sOutputFile=altona.bmp altona.pdf
(core-dump)
gs -dBATCH -dNOPAUSE -sDEVICE=bmpsep1 -sOutputFile=altona.bmp altona.pdf (ok)

Tested on FreeBSD 5.5 with gs 7.07
gs -dBATCH -dNOPAUSE -sDEVICE=bmpsep1 -r600 -sOutputFile=altona.bmp altona.pdf (ok)
Comment 1 Martin Portmann 2009-11-27 11:43:23 UTC
Created attachment 5724 [details]
altona.pdf

Test file
Comment 2 Martin Portmann 2009-11-27 12:15:42 UTC
ubuntu-develop:~/develop/graph-tech/gtjettestdata> valgrind
../ghostscript/debugobj/gs -dBATCH -dNOPAUSE -sDEVICE=bmpsep1 -r1200
-sOutputFile=altona.gtj altona.pdf
==30442== Memcheck, a memory error detector
==30442== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==30442== Using Valgrind-3.5.0-Debian and LibVEX; rerun with -h for copyright info
==30442== Command: ../ghostscript/debugobj/gs -dBATCH -dNOPAUSE -sDEVICE=bmpsep1
-r1200 -sOutputFile=altona.gtj altona.pdf
==30442== 
GPL Ghostscript 8.70 (2009-07-31)
Copyright (C) 2009 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 1.
Page 1
==30442== Syscall param write(buf) points to uninitialised byte(s)
==30442==    at 0x45BDF4B: ??? (in /lib/tls/i686/cmov/libc-2.10.1.so)
==30442==    by 0x456792E: new_do_write (fileops.c:529)
==30442==    by 0x4567C15: _IO_do_write@@GLIBC_2.1 (fileops.c:502)
==30442==    by 0x456872C: _IO_file_overflow@@GLIBC_2.1 (fileops.c:880)
==30442==    by 0x4567A77: _IO_file_xsputn@@GLIBC_2.1 (fileops.c:1357)
==30442==    by 0x455D869: fwrite (iofwrite.c:45)
==30442==    by 0x8250B06: clist_fwrite_chars (gxclfile.c:69)
==30442==    by 0x823FD51: cmd_write_band (gxclutil.c:165)
==30442==    by 0x823FED0: cmd_write_buffer (gxclutil.c:199)
==30442==    by 0x823FFB2: cmd_put_list_op (gxclutil.c:227)
==30442==    by 0x82403C2: cmd_put_op (gxclutil.c:306)
==30442==    by 0x822C04D: cmd_put_bits (gxclbits.c:225)
==30442==  Address 0x402b06f is not stack'd, malloc'd or (recently) free'd
==30442== 
==30442== Syscall param write(buf) points to uninitialised byte(s)
==30442==    at 0x45BDF4B: ??? (in /lib/tls/i686/cmov/libc-2.10.1.so)
==30442==    by 0x456792E: new_do_write (fileops.c:529)
==30442==    by 0x4567BC5: _IO_file_xsputn@@GLIBC_2.1 (fileops.c:1369)
==30442==    by 0x455D869: fwrite (iofwrite.c:45)
==30442==    by 0x8250B06: clist_fwrite_chars (gxclfile.c:69)
==30442==    by 0x823FD51: cmd_write_band (gxclutil.c:165)
==30442==    by 0x823FED0: cmd_write_buffer (gxclutil.c:199)
==30442==    by 0x823FFB2: cmd_put_list_op (gxclutil.c:227)
==30442==    by 0x82403C2: cmd_put_op (gxclutil.c:306)
==30442==    by 0x822C04D: cmd_put_bits (gxclbits.c:225)
==30442==    by 0x823DB9A: clist_copy_color (gxclrect.c:752)
==30442==    by 0x8448E97: clip_call_copy_color (gxclip.c:414)
==30442==  Address 0x56a584f is 849,959 bytes inside a block of size 4,000,024
alloc'd
==30442==    at 0x4024C1C: malloc (vg_replace_malloc.c:195)
==30442==    by 0x842AF76: gs_heap_alloc_bytes (gsmalloc.c:179)
==30442==    by 0x8226A05: gdev_prn_setup_as_command_list (gdevprn.c:126)
==30442==    by 0x8227303: gdev_prn_allocate (gdevprn.c:353)
==30442==    by 0x82276AB: gdev_prn_allocate_memory (gdevprn.c:438)
==30442==    by 0x82268EB: gdev_prn_open (gdevprn.c:73)
==30442==    by 0x8413CBE: gs_opendevice (gsdevice.c:357)
==30442==    by 0x8413E44: gs_setdevice_no_erase (gsdevice.c:419)
==30442==    by 0x813139F: zsetdevice (zdevice.c:464)
==30442==    by 0x80EF3C8: call_operator (interp.c:111)
==30442==    by 0x80F2468: interp (interp.c:1538)
==30442==    by 0x80EFA34: gs_call_interp (interp.c:496)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80CEF4A: s_CFE_process (scfe.c:251)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442==    by 0x811D0C9: op_show_continue (zchar.c:527)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80CFEDD: cf_encode_2d (scfe.c:457)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 

[...deleted some additional warnings in file scfe.c]

==30442== Use of uninitialised value of size 4
==30442==    at 0x80D00D2: cf_encode_2d (scfe.c:461)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 

[...removed some more of scfe.c ...]

==30442== 
==30442== Use of uninitialised value of size 4
==30442==    at 0x80D0A03: cf_encode_2d (scfe.c:499)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Use of uninitialised value of size 4
==30442==    at 0x80CFE44: cf_encode_2d (scfe.c:457)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D0544: cf_encode_2d (scfe.c:474)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Use of uninitialised value of size 4
==30442==    at 0x80D062D: cf_encode_2d (scfe.c:474)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D00F7: cf_encode_2d (scfe.c:461)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Use of uninitialised value of size 4
==30442==    at 0x80D0225: cf_encode_2d (scfe.c:461)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D01B4: cf_encode_2d (scfe.c:461)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D08BB: cf_encode_2d (scfe.c:499)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80CFF7E: cf_encode_2d (scfe.c:457)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Use of uninitialised value of size 4
==30442==    at 0x80D008E: cf_encode_2d (scfe.c:457)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D038C: cf_encode_2d (scfe.c:466)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Use of uninitialised value of size 4
==30442==    at 0x80D048E: cf_encode_2d (scfe.c:466)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D01D5: cf_encode_2d (scfe.c:461)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D01FA: cf_encode_2d (scfe.c:461)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Use of uninitialised value of size 4
==30442==    at 0x80D04DA: cf_encode_2d (scfe.c:474)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80CFFA6: cf_encode_2d (scfe.c:457)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Use of uninitialised value of size 4
==30442==    at 0x80D0896: cf_encode_2d (scfe.c:499)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D03B1: cf_encode_2d (scfe.c:466)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D0003: cf_encode_2d (scfe.c:457)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D040B: cf_encode_2d (scfe.c:466)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D0522: cf_encode_2d (scfe.c:474)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x8441E57: show_proceed (gxchar.c:1140)
==30442==    by 0x84411EA: continue_show (gxchar.c:779)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D002B: cf_encode_2d (scfe.c:457)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D0053: cf_encode_2d (scfe.c:457)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D0430: cf_encode_2d (scfe.c:466)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D0455: cf_encode_2d (scfe.c:466)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D092F: cf_encode_2d (scfe.c:499)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D08E1: cf_encode_2d (scfe.c:499)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
==30442== Conditional jump or move depends on uninitialised value(s)
==30442==    at 0x80D04FF: cf_encode_2d (scfe.c:474)
==30442==    by 0x80CF27A: s_CFE_process (scfe.c:307)
==30442==    by 0x822B8DE: cmd_compress_bitmap (gxclbits.c:80)
==30442==    by 0x822BD02: cmd_put_bits (gxclbits.c:187)
==30442==    by 0x822D537: clist_change_bits (gxclbits.c:716)
==30442==    by 0x82437A8: clist_fill_mask (gxclimag.c:163)
==30442==    by 0x847368C: gx_image_fill_masked (gximask.c:101)
==30442==    by 0x843C2DF: gx_image_cached_char (gxccache.c:389)
==30442==    by 0x844148F: show_update (gxchar.c:856)
==30442==    by 0x84411A5: continue_show_update (gxchar.c:767)
==30442==    by 0x8441192: gx_show_text_process (gxchar.c:756)
==30442==    by 0x8438200: gs_text_process (gstext.c:545)
==30442== 
No encode_color proc defined for device.
==30442== Invalid read of size 4
==30442==    at 0x84526A0: gx_dc_pure_write (gxdcolor.c:513)
==30442==    by 0x8248213: cmd_put_drawing_color (gxclpath.c:137)
==30442==    by 0x823BD70: clist_fillpage (gxclrect.c:279)
==30442==    by 0x8498174: gx_forward_fillpage (gdevnfwd.c:876)
==30442==    by 0x8233FD7: clist_playback_band (gxclrast.c:1963)
==30442==    by 0x823A178: clist_playback_file_bands (gxclread.c:698)
==30442==    by 0x8239D8E: clist_render_rectangle (gxclread.c:627)
==30442==    by 0x8239A50: clist_rasterize_lines (gxclread.c:539)
==30442==    by 0x82395B2: clist_get_bits_rectangle (gxclread.c:430)
==30442==    by 0x824F252: clist_get_bits_rect_mt (gxclthrd.c:472)
==30442==    by 0x82291E8: gdev_prn_get_lines (gdevprn.c:1199)
==30442==    by 0x8254D16: bmp_cmyk_print_page (gdevbmp.c:203)
==30442==  Address 0x13 is not stack'd, malloc'd or (recently) free'd
==30442== 
==30442== 
==30442== Process terminating with default action of signal 11 (SIGSEGV)
==30442==  Access not within mapped region at address 0x13
==30442==    at 0x84526A0: gx_dc_pure_write (gxdcolor.c:513)
==30442==    by 0x8248213: cmd_put_drawing_color (gxclpath.c:137)
==30442==    by 0x823BD70: clist_fillpage (gxclrect.c:279)
==30442==    by 0x8498174: gx_forward_fillpage (gdevnfwd.c:876)
==30442==    by 0x8233FD7: clist_playback_band (gxclrast.c:1963)
==30442==    by 0x823A178: clist_playback_file_bands (gxclread.c:698)
==30442==    by 0x8239D8E: clist_render_rectangle (gxclread.c:627)
==30442==    by 0x8239A50: clist_rasterize_lines (gxclread.c:539)
==30442==    by 0x82395B2: clist_get_bits_rectangle (gxclread.c:430)
==30442==    by 0x824F252: clist_get_bits_rect_mt (gxclthrd.c:472)
==30442==    by 0x82291E8: gdev_prn_get_lines (gdevprn.c:1199)
==30442==    by 0x8254D16: bmp_cmyk_print_page (gdevbmp.c:203)
==30442==  If you believe this happened as a result of a stack
==30442==  overflow in your program's main thread (unlikely but
==30442==  possible), you can try to increase the size of the
==30442==  main thread stack using the --main-stacksize= flag.
==30442==  The main thread stack size used in this run was 8388608.
==30442== 
==30442== HEAP SUMMARY:
==30442==     in use at exit: 22,071,544 bytes in 429 blocks
==30442==   total heap usage: 3,204 allocs, 2,775 frees, 224,857,571 bytes allocated
==30442== 
==30442== LEAK SUMMARY:
==30442==    definitely lost: 0 bytes in 0 blocks
==30442==    indirectly lost: 0 bytes in 0 blocks
==30442==      possibly lost: 22,022,348 bytes in 422 blocks
==30442==    still reachable: 49,196 bytes in 7 blocks
==30442==         suppressed: 0 bytes in 0 blocks
==30442== Rerun with --leak-check=full to see details of leaked memory
==30442== 
==30442== For counts of detected and suppressed errors, rerun with: -v
==30442== Use --track-origins=yes to see where uninitialised values come from
==30442== ERROR SUMMARY: 103789 errors from 59 contexts (suppressed: 98 from 9)
Segmentation fault
ubuntu-develop:~/develop/graph-tech/gtjettestdata> 
Comment 3 Ray Johnston 2009-11-27 12:18:03 UTC
I've been working on separation devices (psdcmyk and tiffsep*) recently, so
I'll take a look at this to see if it is something I recently fixed.
Comment 4 Martin Portmann 2009-11-27 12:18:37 UTC
I can reproduce the core dump in a debug version with the following stack trace:

ubuntu-develop:~/develop/graph-tech/gtjettestdata> gdb ../ghostscript/debugobj/gs
GNU gdb (GDB) 7.0-ubuntu
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/user/develop/graph-tech/ghostscript/debugobj/gs...done.
(gdb) r  -dBATCH -dNOPAUSE -sDEVICE=bmpsep1 -r1200 -sOutputFile=altona.gtj
altona.pdf
Starting program: /home/user/develop/graph-tech/ghostscript/debugobj/gs -dBATCH
-dNOPAUSE -sDEVICE=bmpsep1 -r1200 -sOutputFile=altona.gtj altona.pdf
[Thread debugging using libthread_db enabled]
GPL Ghostscript 8.70 (2009-07-31)
Copyright (C) 2009 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
[New Thread 0xb7c14b70 (LWP 31805)]
[Thread 0xb7c14b70 (LWP 31805) exited]
Processing pages 1 through 1.
Page 1
[New Thread 0xb7c14b70 (LWP 31806)]
[Thread 0xb7c14b70 (LWP 31806) exited]
No encode_color proc defined for device.

Program received signal SIGSEGV, Segmentation fault.
0x084526a0 in gx_dc_pure_write (pdevc=0xbfffb79c, psdc=0x13, dev=0x903b43c,
offset=0, pdata=0x0, 
    psize=0xbfff8ad0) at ./base/gxdcolor.c:513
513	         psdc->type == pdevc->type              &&
(gdb) bt
#0  0x084526a0 in gx_dc_pure_write (pdevc=0xbfffb79c, psdc=0x13, dev=0x903b43c,
offset=0, 
    pdata=0x0, psize=0xbfff8ad0) at ./base/gxdcolor.c:513
#1  0x08248214 in cmd_put_drawing_color (cldev=0x903b43c, pcls=0x3,
pdcolor=0xbfffb79c, pre=0x0)
    at ./base/gxclpath.c:137
#2  0x0823bd71 in clist_fillpage (dev=0x903b43c, pis=0xbfffa08c, pdcolor=0xbfffb79c)
    at ./base/gxclrect.c:279
#3  0x08498175 in gx_forward_fillpage (dev=0x922d700, pis=0xbfffa08c,
pdevc=0xbfffb79c)
    at ./base/gdevnfwd.c:876
#4  0x08233fd8 in clist_playback_band (playback_action=playback_action_render,
cdev=0x903b43c, 
    s=0xbfffd288, target=0x922d700, x0=0, y0=14994, mem=0x8fe943c) at
./base/gxclrast.c:1963
#5  0x0823a179 in clist_playback_file_bands (action=playback_action_render,
crdev=0x903b43c, 
    page_info=0xbfffd8bc, target=0x922d700, band_first=49, band_last=49, x0=0,
y0=14994)
    at ./base/gxclread.c:698
#6  0x08239d8f in clist_render_rectangle (cldev=0x903b43c, prect=0xbfffdd90,
bdev=0x922d700, 
    render_plane=0xbfffdea8, clear=1) at ./base/gxclread.c:627
#7  0x08239a51 in clist_rasterize_lines (dev=0x903b43c, y=15030, line_count=1,
bdev=0x922d700, 
    render_plane=0xbfffdea8, pmy=0xbfffdec4) at ./base/gxclread.c:539
#8  0x082395b3 in clist_get_bits_rectangle (dev=0x903b43c, prect=0xbfffe0e8,
params=0xbfffe058, 
    unread=0x0) at ./base/gxclread.c:430
#9  0x0824f253 in clist_get_bits_rect_mt (dev=0x903b43c, prect=0xbfffe0e8,
params=0xbfffe058, 
    unread=0x0) at ./base/gxclthrd.c:472
#10 0x082291e9 in gdev_prn_get_lines (pdev=0x903b43c, y=15030, height=1,
buffer=0x9346d50 "x", 
    bytes_per_line=2608, actual_buffer=0xbfffe140,
actual_bytes_per_line=0xbfffe13c, 
    render_plane=0xbfffe130) at ./base/gdevprn.c:1199
#11 0x08254d17 in bmp_cmyk_print_page (pdev=0x903b43c, file=0x902c240) at
./base/gdevbmp.c:203
#12 0x08228670 in gx_default_print_page_copies (pdev=0x903b43c,
prn_stream=0x902c240, num_copies=1)
    at ./base/gdevprn.c:834
#13 0x08228401 in gdev_prn_output_page (pdev=0x903b43c, num_copies=1, flush=1)
    at ./base/gdevprn.c:770
#14 0x0841361b in gs_output_page (pgs=0x8fffe0c, num_copies=1, flush=1) at
./base/gsdevice.c:134
#15 0x08130e78 in zoutputpage (i_ctx_p=0x90105e4) at ./psi/zdevice.c:354
#16 0x080ef3c9 in call_operator (op_proc=0x8130d92 <zoutputpage>, i_ctx_p=0x90105e4)
    at ./psi/interp.c:111
#17 0x080f2469 in interp (pi_ctx_p=0x8fe81c4, pref=0xbfffe8bc,
perror_object=0xbfffea60)
    at ./psi/interp.c:1538
#18 0x080efa35 in gs_call_interp (pi_ctx_p=0x8fe81c4, pref=0xbfffe9b8,
user_errors=1, 
    pexit_code=0xbfffea6c, perror_object=0xbfffea60) at ./psi/interp.c:496
#19 0x080ef8b8 in gs_interpret (pi_ctx_p=0x8fe81c4, pref=0xbfffe9b8, user_errors=1, 
    pexit_code=0xbfffea6c, perror_object=0xbfffea60) at ./psi/interp.c:454
#20 0x080e440b in gs_main_interpret (minst=0x8fe8170, pref=0xbfffe9b8,
user_errors=1, 
    pexit_code=0xbfffea6c, perror_object=0xbfffea60) at ./psi/imain.c:214
#21 0x080e4f1e in gs_main_run_string_end (minst=0x8fe8170, user_errors=1,
pexit_code=0xbfffea6c, 
    perror_object=0xbfffea60) at ./psi/imain.c:526
#22 0x080e4e11 in gs_main_run_string_with_length (minst=0x8fe8170, 
    str=0x9077020 "<616c746f6e612e706466>.runfile", length=30, user_errors=1, 
    pexit_code=0xbfffea6c, perror_object=0xbfffea60) at ./psi/imain.c:484
---Type <return> to continue, or q <return> to quit---
#23 0x080e4d7f in gs_main_run_string (minst=0x8fe8170, 
    str=0x9077020 "<616c746f6e612e706466>.runfile", user_errors=1,
pexit_code=0xbfffea6c, 
    perror_object=0xbfffea60) at ./psi/imain.c:466
#24 0x080e7c8d in run_string (minst=0x8fe8170, str=0x9077020
"<616c746f6e612e706466>.runfile", 
    options=3) at ./psi/imainarg.c:797
#25 0x080e7c44 in runarg (minst=0x8fe8170, pre=0x84c61bb "", arg=0x9015948
"altona.pdf", 
    post=0x84c6255 ".runfile", options=3) at ./psi/imainarg.c:788
#26 0x080e78c5 in argproc (minst=0x8fe8170, arg=0xbffff771 "altona.pdf") at
./psi/imainarg.c:723
#27 0x080e61a1 in gs_main_init_with_args (minst=0x8fe8170, argc=7, argv=0xbffff514)
    at ./psi/imainarg.c:207
#28 0x080502bf in main (argc=7, argv=0xbffff514) at ./psi/gs.c:77
(gdb) 


Comment 5 Ray Johnston 2009-11-27 14:36:43 UTC
Next time, I request that the valgrind spew be put into a separate attachment,
preferably compressed with gzip or lzma.

I have reproduced this and the problem is in one of my areas -- clist. The
reason that this is resolution dependent is that it switches over to clist mode.

The problem is the plane extraction device and it's interaction with the clist.
This device is not used in page buffer mode, so a work around is to force page
buffer mode using -dMaxBitmap=40000000 (at 600 dpi) or -dMaxBitmap=160000000
(at 1200 dpi).

The debug output posted in comment #4 shows what I observed. The clist_fillpage
is being called during the replay of a band (when the clist is in reader mode).
Comment 6 christinedelight.top85 2011-02-06 00:04:20 UTC
Created attachment 7203 [details]
internet files
Comment 7 Ray Johnston 2012-08-10 20:09:23 UTC
The problem is that the plane_extract device is using some 'gx_forward'
procs for painting, but these are hooked to the 'target' device, NOT the
buffer device's methods. We either need to use the 'gx_default' procs for
these newer painting methods, or add plane_* procs that do the special
optimized forwarding the the underlying buffer/mem device (plane_dev in
those procs).

The optimization consists of using reduce_drawing_color to determine if
the color used affects the particular plane selected, and then calls the
mem device OR the default handling.

Fixes in test.
Comment 8 Ray Johnston 2012-08-11 05:49:16 UTC
Fixed (as described previously) in commit dba8f75
Comment 9 Ray Johnston 2012-08-11 05:49:55 UTC
oops. Forgot to close the bug as FIXED.
Comment 10 Alex Cherepanov 2012-11-06 06:32:34 UTC
*** Bug 693423 has been marked as a duplicate of this bug. ***