Сбой JVM с использованием класса RescaleOp - что может быть причиной этого? - PullRequest
0 голосов
/ 10 июня 2009

Я пытаюсь написать простой код для изменения размера изображения и получаю сбой JVM. Насколько я могу судить, я правильно использую API. Вот код:

import java.awt.image.*;
import java.io.*;
import javax.imageio.*;

public class Resizer {
  public static void main(String[] args) {
    BufferedImage img = null;
    try {
      img = ImageIO.read(new File("C:\\Users\\Owner\\Desktop\\export\\10.jpg"));
    } catch (IOException e) {
      System.out.println(e);
      return;
    }
    RescaleOp ro = new RescaleOp(1.25f, 0.0f, null);
    BufferedImage output = ro.filter(img, null); //JVM CRASHES ON THIS LINE

    // Also crashes if I use these lines instead:
    //BufferedImage output = ro.createCompatibleDestImage(img, img.getColorModel());
    //ro.filter(img, output);

    try {
      ImageIO.write(output, "png", new File("C:\\Users\\Owner\\Desktop\\export\\10.output.png"));
    } catch (IOException ioe) {
      System.out.println(ioe);
      return;
    }
  }
}

И я получаю эту ошибку:

#
# An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d524c5d, pid=13076, tid=11172
#
# Java VM: Java HotSpot(TM) Client VM (10.0-b23 mixed mode windows-x86)
# Problematic frame:
# C  [mlib_image.dll+0x54c5d]
#
# An error report file with more information is saved as:
# C:\Users\Owner\Documents\src\Java\ImageSizer\hs_err_pid13076.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

1 Ответ

3 голосов
/ 10 июня 2009

Скорее всего, это ошибка в JVM, так как обычно только нативный код может привести к сбою JVM, и не похоже, что вы используете какие-либо сторонние компоненты. Вы не единственный человек, который испытал эту проблему. См. это сообщение и ответы на него. В частности, смотрите это сообщение , которое может помочь вам сделать то, что вы пытаетесь сделать без этого сбоя JVM.

Это известная проблема. Подробнее см. Sun Bug ID 4886506 . Отчет об ошибке Sun содержит обходной путь, который может вам помочь. Похоже, эта ошибка была исправлена ​​в JDK 7.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...