Hi,

Is anyone who is running the latest ImageMagick and JMagick running into a
similar problem where the 1.5 JVM crashes?  We are using the latest 6.2.6-0
<http://www.yeo.id.au/jmagick/quickload/JMagick-6.2.6-0.tar.gz>Jmagick and
6.2.6 ImageMagick

I've pasted the Java code below as well.  I'm more concerned about the JVM
crashing than an exception being thrown which can be caught.


    [java]  INFO [Thread-0] (ImageDownloaderTask.java:255) May 26 2006
20:58:03 - HTTP fetch request complete for:
http://TSA.xxxxx.net/graphics/product_images/p223415th.gif (68 ms., 3555
bytes), output file:
/opt/sdc/mbe/ip/tmpimages/45/43/31/34744e4e574b363248574f794471714a374767.unknown

    [java] #

    [java] # An unexpected error has been detected by HotSpot Virtual
Machine:

    [java] #

    [java] #  SIGSEGV (0xb) at pc=0x92d47c3d, pid=8311, tid=16

    [java] #

    [java] # Java VM: Java HotSpot(TM) Server VM (1.5.0_06-b05 mixed mode)

    [java] # Problematic frame:

    [java] # C  [libMagick.so.10.0.2+0x147c3d]

    [java] #

    [java] # An error report file with more information is saved as
hs_err_pid8311.log

    [java]  INFO [Thread-10] (MagickImageResizerImpl.java:83) May 26 2006
20:58:03 - Done shrinking image.  Origin dimension are: 80x80, resize flag
is: false, output file is:
/opt/sdc/mbe/ip/tmpimages/46/35/65/4f30322d566e2d416a75765f39635a6b594677.jpg

    [java] ERROR [Thread-16] (MagickImageResizerImpl.java:87) May 26 2006
20:58:03 - magick.MagickException: Unable to retrieve handle

    [java] java.io.FileNotFoundException:
/opt/sdc/mbe/ip/tmpimages/30/41/4b/70437a7532754a50736236726b57655f446a77.jpg
(No such file or directory)

    [java]     at java.io.FileInputStream.open(Native Method)

    [java]     at java.io.FileInputStream.<init>(FileInputStream.java:106)

    [java]     at com.shopping.util.Checksum.getFileChecksum(Checksum.java
:31)

    [java]     at com.shopping.util.Checksum.getFileChecksum(Checksum.java
:26)

    [java]     at
com.shopping.feed.task.image.imageserver.ImageDownloaderTask.processImage(
ImageDownloaderTask.java:378)

    [java]     at
com.shopping.feed.task.image.imageserver.ImageDownloaderTask.execute(
ImageDownloaderTask.java:526)

    [java]     at com.shopping.feed.task.infra.QueueTaskRunner.onTask(
QueueTaskRunner.java:308)

    [java]  INFO [Thread-10] (ImageDownloaderTask.java:379) May 26 2006
20:58:03 - File checksum is 223908271 for file:
/opt/sdc/mbe/ip/tmpimages/46/35/65/4f30322d566e2d416a75765f39635a6b594677.unknown

    [java]  INFO [Thread-16] (ImageDownloaderTask.java:379) May 26 2006
20:58:03 - File checksum is -1 for file:
/opt/sdc/mbe/ip/tmpimages/30/41/4b/70437a7532754a50736236726b57655f446a77.unknown

    [java] #

    [java] # If you would like to submit a bug report, please visit:

    [java] #   http://java.sun.com/webapps/bugreport/crash.jsp

    [java] #

    [java]     at com.shopping.feed.task.infra.QueueTaskRunner.run(
QueueTaskRunner.java:274)

    [java]     at java.lang.Thread.run(Thread.java:595)

    [java] Java Result: 6





     try {
       ImageInfo info = new ImageInfo();
       MagickImage image = new MagickImage(new ImageInfo(inputFile));

       Dimension dim = image.getDimension();

       double width = dim.getWidth();
       double height = dim.getHeight();

       setOriginDimensions(new ImageDimensions((int) width, (int) height));

       MagickImage outputImage;

       if (width >= getMaxWidth() || height >= getMaxHeight() ) {
          // do the following to preserve the aspect ratio of the original
image...
          // JMagic scaleImage API DOES NOT preserve the aspect ratio, so
we have to be smarter...

          int new_height = getMaxHeight();
          int new_width = getMaxWidth();

          if (width > height)
            new_height = (int) (getMaxWidth() * height / width);
          else
            new_width = (int) (getMaxHeight() * width / height);

          outputImage = image.scaleImage(new_width, new_height);
          outputImage.setFileName(getOutputFile());
          setResized(true);
       } else {
         outputImage = image.scaleImage((int) width, (int) height);
         outputImage.setFileName(getOutputFile());
         setResized(false);
       }

       setResizedDimensions(new ImageDimensions((int)
outputImage.getDimension().getWidth(), (int)
outputImage.getDimension().getHeight()
));

       //$input_image->Set(quality=>80, interlace=>'line',
compression=>'JPEG');
       outputImage.setImageAttribute("quality", Integer.toString
(getDesiredImageQuality()));
       outputImage.setImageAttribute("interlace", "line");
       outputImage.setImageAttribute("compression", "JPEG");
       outputImage.writeImage(info);

       info = null;
       outputImage = null;

       logger.info("Done shrinking image.  Origin dimension are: " +
getOriginDimensions() + ", resize flag is: " + isResized() + ", output file
is: " + getOutputFile());


     } catch (MagickException ex) {
         logger.error(ex);
     }


Thanks very much, and pointers towards the right solution/direction would be
really helpful.


Jordan
_______________________________________________
Magick-developers mailing list
Magick-developers@imagemagick.org
http://studio.imagemagick.org/mailman/listinfo/magick-developers

Reply via email to