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@@]]?????????UAwww???????F.

???x?(1:?HHImageMagick
 6.2.9 02/08/07 Q16 http://www.imagemagick.org
_______________________________________________
Magick-developers mailing list
Magick-developers@imagemagick.org
http://studio.imagemagick.org/mailman/listinfo/magick-developers

Reply via email to