2009-06-10 10 views
0

Ich versuche, ein paar einfache Code zu schreiben, um die Größe eines Bildes zu ändern, und ich bekomme einen JVM-Absturz. Soweit ich das beurteilen kann, verwende ich die APIs korrekt. Hier ist der Code:JVM Absturz mit der Klasse RescaleOp - was könnte das verursachen?

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; 
    } 
    } 
} 

Und ich bin immer diese Fehlermeldung:

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

Antwort

3

Dies ist wahrscheinlich ein Fehler in der JVM, wie sie typischerweise nur native Code kann die JVM abstürzen und es doesn‘ Sieh aus, als ob du irgendwelche 3rd-Party-Sachen verwendest. Sie sind nicht die einzige Person, die dieses Problem erlebt hat. Siehe this message und die Antworten darauf. Sehen Sie insbesondere this message, die Ihnen dabei helfen können, das zu tun, was Sie ohne diesen JVM-Absturz tun möchten.

Dies ist ein bekanntes Problem. Details finden Sie unter Sun Bug ID 4886506. Der Sun Bug-Bericht enthält eine Problemumgehung, die Ihnen helfen kann. Es sieht so aus, als ob dieser Fehler in JDK 7 behoben wurde.

Verwandte Themen