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