Page 1 of 1

fatal error running a program which uses JMagick

Posted: 2010-10-27T01:44:49-07:00
by julien38813
Hi,

I try to run a java program which uses JMagick, so I installed the software ImageMagick 6.6.5 Q16, and the Java API JMagick (jmagick-6.2.6-win-im-6.2.9) by putting the files jmagick.dll (found in the installation folder \jmagick\q16) and JMagick.jar(found in the installation folder \jmagick\jar_15) in the folder C:\Program Files\Java\jre6\lib\ext.

But when I run with Eclipse the following program :

Code: Select all

import magick.ImageInfo;
import magick.MagickImage;
import magick.MagickException;

public class TestJMagick {
	public static void main(String args[]) {
		try {
			ImageInfo ii = new ImageInfo("c:/images/test.jpg");
			MagickImage mi = new MagickImage(ii);
			System.out.println(mi.getFileName());
		} catch (MagickException me) {
			System.out.println(me);
		}
	}
}
There is an error displayed in the console of Eclipse :

Code: Select all

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c9469da, pid=3192, tid=3212
#
# JRE version: 6.0_20-b02
# Java VM: Java HotSpot(TM) Client VM (16.3-b01 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [ntdll.dll+0x369da]
#
# An error report file with more information is saved as:
# C:\Documents and Settings\workspace\TestJMagick\hs_err_pid3192.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.
#

[error occurred during error reporting , id 0xc0000005]
When I look the log message, I have the following result :

Code: Select all

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c9469da, pid=3192, tid=3212
#
# JRE version: 6.0_20-b02
# Java VM: Java HotSpot(TM) Client VM (16.3-b01 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [ntdll.dll+0x369da]
#
# 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.
#

---------------  T H R E A D  ---------------

Current thread (0x003a7c00):  JavaThread "main" [_thread_in_native, id=3212, stack(0x008c0000,0x00910000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x00000000

Registers:
EAX=0x00000000, EBX=0x0000037d, ECX=0x03091f88, EDX=0x00000000
ESP=0x00904778, EBP=0x00904998, ESI=0x03090380, EDI=0x03090398
EIP=0x7c9469da, EFLAGS=0x00010246

Top of Stack: (sp=0x00904778)
0x00904778:   00000001 00000009 00000009 030908c8
0x00904788:   03090000 00000000 00904780 7c921086
0x00904798:   009049c4 7c91e920 fffffff4 009049d4
0x009047a8:   7c921028 7c921086 7c9201db 10136ac0
0x009047b8:   030a0048 00000054 7c91e920 7c920228
0x009047c8:   ffffffff 00000fa0 7c921086 7c9201db
0x009047d8:   030b9290 030b92f8 00000010 030c9098
0x009047e8:   0090500c 030c8f00 00000000 100f024a 

Instructions: (pc=0x7c9469da)
0x7c9469ca:   11 89 95 64 ff ff ff 8b 40 0c 89 85 5c ff ff ff
0x7c9469da:   8b 00 3b 42 04 0f 85 12 01 00 00 3b c1 0f 85 0a 


Stack: [0x008c0000,0x00910000],  sp=0x00904778,  free space=111009042ack
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [ntdll.dll+0x369da]
C  [MSVCR100.dll+0x10269]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  magick.MagickImage.readImage(Lmagick/ImageInfo;)V+0
j  magick.MagickImage.<init>(Lmagick/ImageInfo;)V+11
j  Principale2.main([Ljava/lang/String;)V+15
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x02b0c400 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3284, stack(0x02dc0000,0x02e10000)]
  0x02b09000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=3276, stack(0x02d70000,0x02dc0000)]
  0x02b07800 JavaThread "Attach Listener" daemon [_thread_blocked, id=1464, stack(0x02d20000,0x02d70000)]
  0x02b06400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2900, stack(0x02cd0000,0x02d20000)]
  0x02afe000 JavaThread "Finalizer" daemon [_thread_blocked, id=2700, stack(0x02c80000,0x02cd0000)]
  0x02afc800 JavaThread "Reference Handler" daemon [_thread_blocked, id=3216, stack(0x02c30000,0x02c80000)]
=>0x003a7c00 JavaThread "main" [_thread_in_native, id=3212, stack(0x008c0000,0x00910000)]

Other Threads:
  0x02afb400 VMThread [stack: 0x02be0000,0x02c30000] [id=3180]
  0x02b0e400 WatcherThread [stack: 0x02e10000,0x02e60000] [id=3292]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 4928K, used 369K [0x22990000, 0x22ee0000, 0x27ee0000)
  eden space 4416K,   8% used [0x22990000, 0x229ec700, 0x22de0000)
  from space 512K,   0% used [0x22de0000, 0x22de0000, 0x22e60000)
  to   space 512K,   0% used [0x22e60000, 0x22e60000, 0x22ee0000)
 tenured generation   total 10944K, used 0K [0x27ee0000, 0x28990000, 0x32990000)
   the space 10944K,   0% used [0x27ee0000, 0x27ee0000, 0x27ee0200, 0x28990000)
 compacting perm gen  total 12288K, used 74K [0x32990000, 0x33590000, 0x36990000)
   the space 12288K,   0% used [0x32990000, 0x329a2a90, 0x329a2c00, 0x33590000)
    ro space 10240K,  51% used [0x36990000, 0x36ebae00, 0x36ebae00, 0x37390000)
    rw space 12288K,  54% used [0x37390000, 0x37a272d8, 0x37a27400, 0x37f90000)

Dynamic libraries:
0x00400000 - 0x00424000 	C:\Program Files\Java\jre6\bin\javaw.exe
0x7c910000 - 0x7c9c9000 	C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c906000 	C:\WINDOWS\system32\kernel32.dll
0x77da0000 - 0x77e4c000 	C:\WINDOWS\system32\ADVAPI32.dll
0x77e50000 - 0x77ee2000 	C:\WINDOWS\system32\RPCRT4.dll
0x77fc0000 - 0x77fd1000 	C:\WINDOWS\system32\Secur32.dll
0x7e390000 - 0x7e421000 	C:\WINDOWS\system32\USER32.dll
0x77ef0000 - 0x77f39000 	C:\WINDOWS\system32\GDI32.dll
0x7c340000 - 0x7c396000 	C:\Program Files\Java\jre6\bin\msvcr71.dll
0x6d800000 - 0x6da97000 	C:\Program Files\Java\jre6\bin\client\jvm.dll
0x76ae0000 - 0x76b0f000 	C:\WINDOWS\system32\WINMM.dll
0x6d7b0000 - 0x6d7bc000 	C:\Program Files\Java\jre6\bin\verify.dll
0x6d330000 - 0x6d34f000 	C:\Program Files\Java\jre6\bin\java.dll
0x6d290000 - 0x6d298000 	C:\Program Files\Java\jre6\bin\hpi.dll
0x76ba0000 - 0x76bab000 	C:\WINDOWS\system32\PSAPI.DLL
0x6d7f0000 - 0x6d7ff000 	C:\Program Files\Java\jre6\bin\zip.dll
0x60e80000 - 0x60e9f000 	C:\Program Files\Java\jre6\lib\ext\jmagick.dll
0x77be0000 - 0x77c38000 	C:\WINDOWS\system32\msvcrt.dll
0x10000000 - 0x101f1000 	C:\Program Files\ImageMagick-6.6.5-Q16\CORE_RL_magick_.dll
0x02e70000 - 0x02f23000 	C:\Program Files\ImageMagick-6.6.5-Q16\X11.dll
0x71a10000 - 0x71a1a000 	C:\WINDOWS\system32\WSOCK32.dll
0x719f0000 - 0x71a07000 	C:\WINDOWS\system32\WS2_32.dll
0x719e0000 - 0x719e8000 	C:\WINDOWS\system32\WS2HELP.dll
0x02f30000 - 0x02f40000 	C:\Program Files\ImageMagick-6.6.5-Q16\CORE_RL_bzlib_.dll
0x78aa0000 - 0x78b5e000 	C:\WINDOWS\system32\MSVCR100.dll
0x02f50000 - 0x02f88000 	C:\Program Files\ImageMagick-6.6.5-Q16\CORE_RL_lcms_.dll
0x02fa0000 - 0x02ffd000 	C:\Program Files\ImageMagick-6.6.5-Q16\CORE_RL_ttf_.dll
0x03010000 - 0x03023000 	C:\Program Files\ImageMagick-6.6.5-Q16\CORE_RL_zlib_.dll
0x72880000 - 0x7288d000 	C:\Program Files\ImageMagick-6.6.5-Q16\VCOMP100.DLL
...

So, I don't know why I have this error, maybe it's a problem of software version installed ?

Any help would appreciate.

Re: fatal error running a program which uses JMagick

Posted: 2010-12-06T15:03:51-07:00
by anikanchan
I am seeing the similar exception. I am calling MagickImage.scaleImage method from a loop and after handling six images successfully, it throws the below exception. I have ImageMagick-6.6.6-3-Q16-windows-dll.exe and jmagick-win-6.3.9-Q16 on my system.

#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c9369da, pid=5692, tid=5684
#
# JRE version: 6.0_17-b04
# Java VM: Java HotSpot(TM) Client VM (14.3-b01 mixed mode, sharing windows-x86 )
# Problematic frame:
# C [ntdll.dll+0x369da]
#
# An error report file with more information is saved as:
# D:\******\Development\RefactoredCodeBase\*********\hs_err_pid5692.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.
#

Re: fatal error running a program which uses JMagick

Posted: 2011-02-20T16:47:04-07:00
by mikael
Has any solution to this been found? I am having the same problem when trying to call JMagick functions in a loop. The third time through the loop I get a JVM crash on the new ImageInfo() line. I've tried using global variables, and static variables, and nothing seems to fix it! I can run the program consecutively on two-item loops, but if I try three it crashes.

Re: fatal error running a program which uses JMagick

Posted: 2011-02-20T18:13:03-07:00
by magick
We did write nor do we support JMagick. You will need to contact the JMagick author for help.