2009-06-10 15 views
0

イメージのサイズを変更するための簡単なコードを記述しようとしていますが、JVMのクラッシュが発生しています。私が知る限り、私はAPIを正しく使用しています。ここでは、コードは次のようになります。RescaleOpクラスを使用したJVMのクラッシュ - これを引き起こす原因は何ですか?

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. 
# 

答えて

3

これが最も可能性が高い一般的に唯一のネイティブコードとしてJVMのバグが、JVMがクラッシュすることがあるとそれはdoesnのあなたはサードパーティのものを使用しているように見えません。あなたはこの問題を経験した唯一の人ではありません。 this messageとその回答を参照してください。特に、this messageを参照してください。このJVMクラッシュがなければ、何をしようとしているのかを助けることができます。

これは既知の問題です。詳細はSun Bug ID 4886506を参照してください。 Sunのバグレポートには、あなたに役立つ回避策が含まれています。このバグはJDK 7で修正されたようです。

関連する問題