I have java program that keeps crashing. Below are the errors in log:
--------------- T H R E A D ---------------
Current thread (0x10924400): JavaThread
"Thread-1" [_thread_in_native, id=2220, stack(0x10b50000,0x10c50000)]
siginfo: ExceptionCode=0xc0000005, reading address 0x223d6574
Registers:
EAX=0x10c4ead8, EBX=0x00000000, ECX=0x0034d2c0, EDX=0x223d6574
ESP=0x10c4ea5c, EBP=0x0034d2c0, ESI=0x10c4eb20, EDI=0x60bee281
EIP=0x223d6574, EFLAGS=0x00010206
Top of Stack: (sp=0x10c4ea5c)
0x10c4ea5c: 6093fe48 10c4eaa0 10c4ead8 10c4eb6d
0x10c4ea6c: 0034d208 268a336f 10c4eafc 10c4eb20
0x10c4ea7c: ffffffff 00000000 00000001 10c4eb38
0x10c4ea8c: 60969871 00000000 6094dd4a 10c4eb20
0x10c4ea9c: 10c4ead8 60bee280 0034d208 0091d7c8
0x10c4eaac: 10c4eb60 00000000 00000000 00000000
0x10c4eabc: 00000000 00000000 00000000 00000000
0x10c4eacc: 00000000 00000000 00000000 00000000
Instructions: (pc=0x223d6574)
0x223d6564:
[error occurred during error reporting (printing registers, top of
stack, instructions near pc), id 0xc0000005]
Stack: [0x10b50000,0x10c50000], sp=0x10c4ea5c, free space=1018k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code,
C=native code)
C 0x223d6574
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
v ~BufferBlob::Interpreter
v ~BufferBlob::Interpreter
v ~BufferBlob::Interpreter
v ~BufferBlob::Interpreter
v ~BufferBlob::StubRoutines (1)
What can cause the crash? How to find the cause of the crash? Is there
any tool to use?
Thanks.
|
|
0
|
|
|
|
Reply
|
junw2000 (221)
|
2/24/2010 7:37:55 AM |
|
On Tue, 23 Feb 2010 23:37:55 -0800 (PST), Jack <junw2000@gmail.com>
wrote, quoted or indirectly quoted someone who said :
>
>What can cause the crash? How to find the cause of the crash? Is there
>any tool to use?
congratulations. The JVM does not crash often. Presumably you were
doing something with threads. See
http://mindprod.com/jgloss/thread.html
and follow links.
--
Roedy Green Canadian Mind Products
http://mindprod.com
Imagine an architect who would never admit to making sketches, blueprints or erecting scaffolds. In his view, the finished building speaks for itself. How could a young architect learn from such a man? Mathematicians traditionally refuse ever to disclose the intuitions that lead them to a conjecture, or the empirical tests to see if it were likely true, or the initial proofs. They are like chefs who refuse to disclose their recipes, ingredients or techniques.
|
|
0
|
|
|
|
Reply
|
see_website (4855)
|
2/24/2010 7:53:13 AM
|
|
Jack schrieb:
> Current thread (0x10924400): JavaThread
> "Thread-1" [_thread_in_native, id=2220, stack(0x10b50000,0x10c50000)]
>
[snip]
> Stack: [0x10b50000,0x10c50000], sp=0x10c4ea5c, free space=1018k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code,
> C=native code)
> C 0x223d6574
>
It looks like you are using native code and this causes the VM to crash.
In your thread dump at the beginning it says "_thread_in_native" and in
the end there is a C before the address which says native code.
Look at your native code.
Uwe
|
|
0
|
|
|
|
Reply
|
spam6282 (12)
|
2/24/2010 5:41:33 PM
|
|
On Wed, 24 Feb 2010 18:41:33 +0100, Uwe Plonus <spam@sw4j.de> wrote,
quoted or indirectly quoted someone who said :
>
>It looks like you are using native code and this causes the VM to crash.
>In your thread dump at the beginning it says "_thread_in_native" and in
>the end there is a C before the address which says native code.
Does that mean HIS native code or ANY native code? The JVM is full of
native code.
--
Roedy Green Canadian Mind Products
http://mindprod.com
The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.
~ Douglas Adams (born: 1952-03-11 died: 2001-05-11 at age: 49)
|
|
0
|
|
|
|
Reply
|
see_website (4855)
|
2/24/2010 6:02:11 PM
|
|
Jack wrote:
> I have java program that keeps crashing. Below are the errors in log:
>
> --------------- T H R E A D ---------------
>
> Current thread (0x10924400): JavaThread
> "Thread-1" [_thread_in_native, id=2220, stack(0x10b50000,0x10c50000)]
Are you using any native libraries?
|
|
0
|
|
|
|
Reply
|
nospam (2544)
|
2/24/2010 6:11:54 PM
|
|
Roedy Green schrieb:
> On Wed, 24 Feb 2010 18:41:33 +0100, Uwe Plonus <spam@sw4j.de> wrote,
> quoted or indirectly quoted someone who said :
>
>> It looks like you are using native code and this causes the VM to crash.
>> In your thread dump at the beginning it says "_thread_in_native" and in
>> the end there is a C before the address which says native code.
>
> Does that mean HIS native code or ANY native code? The JVM is full of
> native code.
Native code which is part of the program running. It is marked with C in
the stack. The VM code is marked with V or v.
Uwe
|
|
0
|
|
|
|
Reply
|
spam6282 (12)
|
2/24/2010 7:18:59 PM
|
|
On Feb 24, 11:18=A0am, Uwe Plonus <s...@sw4j.de> wrote:
> Roedy Green schrieb:
>
> > On Wed, 24 Feb 2010 18:41:33 +0100, Uwe Plonus <s...@sw4j.de> wrote,
> > quoted or indirectly quoted someone who said :
>
> >> It looks like you are using native code and this causes the VM to cras=
h.
> >> In your thread dump at the beginning it says "_thread_in_native" and i=
n
> >> the end there is a C before the address which says native code.
>
> > Does that mean HIS native code or ANY native code? =A0The JVM is full o=
f
> > native code.
>
> Native code which is part of the program running. It is marked with C in
> the stack. The VM code is marked with V or v.
>
> Uwe
Yes. I use native code.
Thanks.
|
|
0
|
|
|
|
Reply
|
junw2000 (221)
|
2/25/2010 6:28:57 AM
|
|
On Wed, 24 Feb 2010 22:28:57 -0800 (PST), Jack <junw2000@gmail.com>
wrote, quoted or indirectly quoted someone who said :
>
>Yes. I use native code.
tracking down those kind of problems is quite difficult.
Here are two possible techniques.
Let's presume your native code is written in C++.
1. Write test harnesses in C++ for the bulk of your JNI code. Debug
that code using pure C++ techniques with no Java involved. Only once
it is working hook it in with JNI glue.
2. Replace your JNI code with dummy Java methods. Add your JNI code a
bit at a time and see when it starts to explode.
see http://mindprod.com/jgloss/jni.html for details.
--
Roedy Green Canadian Mind Products
http://mindprod.com
The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.
~ Douglas Adams (born: 1952-03-11 died: 2001-05-11 at age: 49)
|
|
0
|
|
|
|
Reply
|
see_website (4855)
|
2/25/2010 11:26:49 PM
|
|
|
7 Replies
187 Views
(page loaded in 0.136 seconds)
|