File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes Access violations in JVM Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Access violations in JVM" Watch "Access violations in JVM" New topic

Access violations in JVM

Miklos Szeles
Ranch Hand

Joined: Oct 21, 2008
Posts: 142
I'm trying to hunt down a JVM crash(on Windows) which is caused by one of our native libraries. Unfortunatelly the crash happens rarely and randomly. I found that adplus is a very useful utility since it creates mini stack dumps for every first chance exception and stack dump for second chance exception. The problem is that JVM produces access violations all the time which fills my hardrive with the mini dumps. Can you tell me why I see so many access violations?
Rob Spoor

Joined: Oct 27, 2005
Posts: 19680

An access violation usually means a "NullPointerException" in you native code. Some pointer (nasty little buggers ) is NULL, or possibly worse a pointer is not NULL but the memory location it points to has already been freed.

How To Ask Questions How To Answer Questions
Miklos Szeles
Ranch Hand

Joined: Oct 21, 2008
Posts: 142
No, you misunderstood me. These access violations comes from java all the time. The JVM not crashes from them so I think they're captured. Here are some callstacks:

00 04ccf19c 00962da1 00000000 1b663f18 1b664410 0x9de3ab
01 04ccf254 6d8c934d 04ccf2b0 04ccf35c 0000000a 0x962da1
02 04ccf2cc 6d951381 04ccf354 04ccf301 04ccf4f8 jvm!AsyncGetCallTrace+0x2801d
03 04ccf354 04ccf3c4 00000000 00000000 2b62a648 jvm!JVM_FindSignal+0x50b61
04 04ccf358 00000000 00000000 2b62a648 00000000 0x4ccf3c4

00 0371eda8 00bb22e4 6d254b3f 02f46560 0371edf8 0xaf872a
01 0371ee70 6d91cab5 1ce98a20 1b8b97a8 02f46800 0xbb22e4
02 0371ee74 1ce98a20 1b8b97a8 02f46800 00000006 jvm!JVM_FindSignal+0x1c295
03 0371ee78 1b8b97a8 02f46800 00000006 0371eeb8 0x1ce98a20
04 0371ee7c 02f46800 00000006 0371eeb8 00bb46f9 0x1b8b97a8
05 0371ee80 00000000 0371eeb8 00bb46f9 00000002 0x2f46800

00 0376f968 00abb9c3 1ccb95f8 1ccb8a30 1ccd7320 0xaa605a
01 0376f9a8 00baa118 0376f9e8 0376fd7c 1ccb95f8 0xabb9c3
02 0376f9d8 00bb56fc 0376f9f4 00a8f5c3 052d2514 0xbaa118
03 0376fa48 00a8676d 1b9de7e0 00000000 000001b4 0xbb56fc
04 0376faa8 00a8a9e4 00000000 00000000 000001b4 0xa8676d
05 0376fae8 00a8a6dd 00000000 00000000 000001b4 0xa8a9e4
06 0376fb28 00a8ac71 00000000 00000000 00000000 0xa8a6dd
07 0376fb58 00962da1 00000015 00962da1 1dca1bb0 0xa8ac71
08 0376fb8c 00962da1 1dca1bb0 00000074 1d1bb1d8 0x962da1
09 0376fbc0 00cc75bf 00000000 1d1bb1d8 000002b8 0x962da1
0a 0376fc18 00962da1 00962da1 00000000 00962da1 0xcc75bf
0b 0376fd20 6d8c8fbc 00001f80 0376fe50 052d2400 0x962da1
0c 0376fd38 6d8c934d 0376fd94 0376ff0c 0000000a jvm!AsyncGetCallTrace+0x27c8c
0d 0376fdb0 6d951381 0376ff04 0376fe00 0376fe50 jvm!AsyncGetCallTrace+0x2801d
0e 0376ff28 6d9aaea2 052d2400 052d2400 052d2400 jvm!JVM_FindSignal+0x50b61
0f 0376ff50 6d950fec 02b395d0 03062730 052853f0 jvm!JVM_FindSignal+0xaa682
10 0376ff80 7c349565 052d2400 02b395d0 02b395d4 jvm!JVM_FindSignal+0x507cc
11 0376ffb4 7c80b729 052853f0 02b395d0 02b395d4 msvcr71!endthreadex+0xa0
12 0376ffec 00000000 7c3494f6 052853f0 00000000 kernel32!GetModuleFileNameA+0x1b

00 04c7f878 00aa8112 00000014 0000006d 0000003f 0xaa68cb
01 04c7f898 00aa7f87 04c7f8c4 26d4cdd0 00000000 0xaa8112
02 04c7f8b8 00962da1 00962da1 1c295b30 1e0bd400 0xaa7f87
03 04c7f8ec 00962da1 1cc7ed88 1e0bd400 04c7f8fc 0x962da1
04 04c7f91c 00962da1 00000000 1e0e9ab8 1d2d77d8 0x962da1
05 04c7f950 00962da1 1e0e9ab8 1d1cf930 04c7f960 0x962da1
06 04c7f980 00c04121 1c295a80 1d1cf930 00000000 0x962da1
07 04c7faa0 6d8c8fbc 00001f80 04c7fbd0 052c8400 0xc04121
08 04c7fab8 6d8c934d 04c7fb14 04c7fc8c 0000000a jvm!AsyncGetCallTrace+0x27c8c
09 04c7fb30 6d951381 04c7fc84 04c7fb00 04c7fbd0 jvm!AsyncGetCallTrace+0x2801d
0a 04c7fca8 6d9aaea2 052c8400 052c8400 052c8400 jvm!JVM_FindSignal+0x50b61
0b 04c7fcd0 6d950fec 00000000 00000000 00000000 jvm!JVM_FindSignal+0xaa682
0c 04c7fd18 7c91b02a 7c90d06a 7c90e45f 04c7fd30 jvm!JVM_FindSignal+0x507cc
0d 04c7fd1c 7c90d06a 7c90e45f 04c7fd30 00000001 ntdll!RtlUnicodeStringToInteger+
0e 04c7fd20 7c90e45f 04c7fd30 00000001 00010017 ntdll!NtContinue+0xc
0f 04c7fd24 04c7fd30 00000001 00010017 00000000 ntdll!KiUserApcDispatcher+0xf
10 04c7fd28 00000000 00010017 00000000 00000000 0x4c7fd30
I agree. Here's the link:
subject: Access violations in JVM