We've tested ImageMagick 6.2.9 on HP-UX 10.20, 11.00, 11.11, 11.23/PA-RISC, and 11.23/IA-64. Works fine on 11.23/IA-64 but .ps files seem to be generated incorrectly on any version of HP-UX/PA-RISC. Odd that this is limited to PA-RISC.
I created a wrapper around the `gs' binary to pause at every invocation so I can inspect the input files being sent to it. $ cd /opt/build/ImageMagick-6.2.9 $ PATH=/tmp:$PATH gmake TESTS=tests/rwblob_EPT_bilevel.sh check ... gmake[1]: Entering directory `/opt/build/ImageMagick-6.2.9' /opt/build/ImageMagick-6.2.9/tests/.libs/rwblob /opt/build/ImageMagick-6.2.9/tests/input_bilevel.miff EPT gs -q -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 -dEPSCrop -sDEVICE=psdrgb -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -g70x46 -r72x72 -sOutputFile=/var/tmp/magick-e0002013 -f/var/tmp/magick-d0002013 -f/var/tmp/magick-c0002013 Error: /stackunderflow in --eq-- Operand stack: Execution stack: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1 3 %oparray_pop 1 3 %oparray_pop 1 3 %oparray_pop 1 3 %oparray_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- Dictionary stack: --dict:1139/1686(ro)(G)-- --dict:0/20(G)-- --dict:71/200(L)-- Current allocation mode is local Current file position is 3 GPL Ghostscript 8.54: Unrecoverable error, exit code 1 $ ls -ld /var/tmp/magick-d0002013 /var/tmp/magick-c0002013 lrwxrwxr-x 1 china china 24 Feb 8 12:40 /var/tmp/magick-c0002013 -> /var/tmp/magick-b0002013 -rw------- 1 china china 114 Feb 8 12:40 /var/tmp/magick-d0002013 $ ls -ld /var/tmp/magick-b0002013 /var/tmp/magick-d0002013 -rw------- 1 china china 6593 Feb 8 12:40 /var/tmp/magick-b0002013 -rw------- 1 china china 114 Feb 8 12:40 /var/tmp/magick-d0002013 I've attached a copy of /var/tmp/magick-b0002013 and /var/tmp/magick-d0002013. The file corruption occurs in /var/tmp/magick-b0002013. I've tried building with both the HP-UX C compiler and GCC 3.4.3. Both exhibit the same result. Any clues on where I can start debugging? -- albert chin ([EMAIL PROTECTED])
eq { /number_pixels 3 def } { currentfile byte readhexstring pop 0 get /number_pixels exch 1 add 3 mul def } ifelse 0 3 number_pixels 1 sub { pixels exch color_packet putinterval } for pixels 0 number_pixels getinterval } bind def /DirectClassImage { % % Display a DirectClass image. % systemdict /colorimage known { columns rows 8 [ columns 0 0 rows neg 0 rows ] { DirectClassPacket } false 3 colorimage } { % % No colorimage operator; convert to grayscale. % columns rows 8 [ columns 0 0 rows neg 0 rows ] { GrayDirectClassPacket } image } ifelse } bind def /GrayDirectClassPacket { % % Get a DirectClass packet; convert to grayscale. % % Parameters: % red % green % blue % length: number of pixels minus one of this color (optional). % currentfile color_packet readhexstring pop pop color_packet 0 get 0.299 mul color_packet 1 get 0.587 mul add color_packet 2 get 0.114 mul add cvi /gray_packet exch def compression 0 eq { /number_pixels 1 def } { currentfile byte readhexstring pop 0 get /number_pixels exch 1 add def } ifelse 0 1 number_pixels 1 sub { pixels exch gray_packet put } for pixels 0 number_pixels getinterval } bind def /GrayPseudoClassPacket { % % Get a PseudoClass packet; convert to grayscale. % % Parameters: % index: index into the colormap. % length: number of pixels minus one of this color (optional). % currentfile byte readhexstring pop 0 get /offset exch 3 mul def /color_packet colormap offset 3 getinterval def color_packet 0 get 0.299 mul color_packet 1 get 0.587 mul add color_packet 2 get 0.114 mul add cvi /gray_packet exch def compression 0 eq { /number_pixels 1 def } { currentfile byte readhexstring pop 0 get /number_pixels exch 1 add def } ifelse 0 1 number_pixels 1 sub { pixels exch gray_packet put } for pixels 0 number_pixels getinterval } bind def /PseudoClassPacket { % % Get a PseudoClass packet. % % Parameters: % index: index into the colormap. % length: number of pixels minus one of this color (optional). % currentfile byte readhexstring pop 0 get /offset exch 3 mul def /color_packet colormap offset 3 getinterval def compression 0 eq { /number_pixels 3 def } { currentfile byte readhexstring pop 0 get /number_pixels exch 1 add 3 mul def } ifelse 0 3 number_pixels 1 sub { pixels exch color_packet putinterval } for pixels 0 number_pixels getinterval } bind def /PseudoClassImage { % % Display a PseudoClass image. % % Parameters: % class: 0-PseudoClass or 1-Grayscale. % currentfile buffer readline pop token pop /class exch def pop class 0 gt { currentfile buffer readline pop token pop /depth exch def pop /grays columns 8 add depth sub depth mul 8 idiv string def columns rows depth [ columns 0 0 rows neg 0 rows ] { currentfile grays readhexstring pop } image } { % % Parameters: % colors: number of colors in the colormap. % colormap: red, green, blue color packets. % currentfile buffer readline pop token pop /colors exch def pop /colors colors 3 mul def /colormap colors string def currentfile colormap readhexstring pop pop systemdict /colorimage known { columns rows 8 [ columns 0 0 rows neg 0 rows ] { PseudoClassPacket } false 3 colorimage } { % % No colorimage operator; convert to grayscale. % columns rows 8 [ columns 0 0 rows neg 0 rows ] { GrayPseudoClassPacket } image } ifelse } ifelse } bind def /DisplayImage { % % Display a DirectClass or PseudoClass image. % % Parameters: % x & y translation. % x & y scale. % label pointsize. % image label. % image columns & rows. % class: 0-DirectClass or 1-PseudoClass. % compression: 0-none or 1-RunlengthEncoded. % hex color packets. % gsave /buffer 512 string def /byte 1 string def /color_packet 3 string def /pixels 768 string def currentfile buffer readline pop token pop /x exch def token pop /y exch def pop x y translate currentfile buffer readline pop token pop /x exch def token pop /y exch def pop currentfile buffer readline pop token pop /pointsize exch def pop /Times-Roman findfont pointsize scalefont setfont x y scale currentfile buffer readline pop token pop /columns exch def token pop /rows exch def pop currentfile buffer readline pop token pop /class exch def pop currentfile buffer readline pop token pop /compression exch def pop class 0 gt { PseudoClassImage } { DirectClassImage } ifelse grestore } bind def %%EndProlog %%Page: 1 1 %%PageBoundingBox: 0 0 70 46 userdict begin DisplayImage 0 0 70 46 12.000000 70 46 1 1 1 1 8080888AA8AA808AA800000000400000000000000022AAAA800280000000000001000110 00000888888A8802A8000000000005C001D000000002AA2AA802A8000000000001500150 888888AAA8AAAA8AA80000000004444445F00220202AAAAAAAABE8004000000010110FFC 88A888AAAAAAAAAFEC005C040444004447FC22AAAAAAAAAAAAABFC0077410000000557FC 88AAAAAAAAAAAAAFFC00444000400005D7DCA2AAAAAAAAAAAAAAA8000410001040014154 888AAAAAA8AAAAAAA8000444440044454454AAAAAAAAAAAAAAAAA8011F41014100010550 AAAAAAAAAAAAAA8AA8045C1C4040404404442AAAAAAAAAAAAA0AA8015410000000001910 0AAAAAAAAAAA8A2AA8004004004444045044AAAAAAAAAAAAAAA2A8000000000000010150 AAA8AA8AA8A8AA8AA8004040440040004044AAA8AAAAA2A22AA2A8000010100000000150 AAAA8AAA8888A888A8000F00440000000004AAAFABAAAA222002A8001FC7C00000000100 AAAEEEEA88888088A8407FDFF80000000000AABFBFFAA2A2800028003FFFFF0000000000 AABEFFFFE888888808047FFFFFF000000000 end %%PageTrailer %%Trailer %%EOF MM * ?wuWUuT?????????????UU?|????????????wwuw?T????????,????U?W?T?????????wwwUWUUuT???????? ????UUUT???????? wWwUUUUP???????? ?UUUUUUT ???????? wUUUUUUP ???????( ]UUUUUUUT?????????wuUUWUUUT?????????UUUUUUUUT?????????UUUUUUUuT??????????UUUUUU?T??????????UUUUUu?T?????????UUUUUUU]T?????????UWUuWWUuT?????????UWUU]]?]T?????????UUuUwwWwT?????????UPTUU???T??8??????UQwwwT?? ?????U@@]]???? ?????UA www??? ???? F . ? ? ? x ? ( 1 : ? H H ImageMagick 6.2.9 02/08/07 Q16 http://www.imagemagick.org