aspose file tools
The moose likes Other JSE/JEE APIs and the fly likes Applet + JNI = Big Problem ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of OCA Java SE 8 Programmer I Study Guide 1Z0-808 this week in the OCAJP forum!
JavaRanch » Java Forums » Java » Other JSE/JEE APIs
Bookmark "Applet + JNI = Big Problem ?" Watch "Applet + JNI = Big Problem ?" New topic

Applet + JNI = Big Problem ?

Marco Tulio Borges
Ranch Hand

Joined: Sep 14, 2004
Posts: 45
Hi, there!

I have a web application that has an applet to capture fingerprints. Here is my system configuration:

- j2sdk1.4.2_07
- Java Advanced Imaging Image I/O Tools 1.0_01
- Fingerprint reader and its Gold SDK from Digital Persona (worst documentation ever)

The thing is: this Gold SDK uses JNI to comunicate with the fingerprint reader. When I create the applet jar from Eclipse and sign it manually, it works fine. When I use Ant (1.6.3) to compile and sign the applet, it hangs the browser while reading the fingerprint (any browser). No error messages, no screamings, nothing! It just hangs. And then, a file appears in my desktop. Here it is:

Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x8074792

NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.

Current Java thread:
at com.digitalpersona.uareu.toolkit.DpFpFingerprintToolkit.FT_register(Native Method)
at Source)

Dynamic libraries:
0x00400000 - 0x00419000 C:\Arquivos de programas\Internet Explorer\iexplore.exe
0x7C900000 - 0x7C9B4000 C:\WINDOWS\system32\ntdll.dll
0x7C800000 - 0x7C8FE000 C:\WINDOWS\system32\kernel32.dll
0x77BF0000 - 0x77C48000 C:\WINDOWS\system32\msvcrt.dll
0x77D20000 - 0x77DB0000 C:\WINDOWS\system32\USER32.dll
0x77E50000 - 0x77E96000 C:\WINDOWS\system32\GDI32.dll
0x77EA0000 - 0x77F16000 C:\WINDOWS\system32\SHLWAPI.dll
0x77F50000 - 0x77FFB000 C:\WINDOWS\system32\ADVAPI32.dll
0x77DB0000 - 0x77E41000 C:\WINDOWS\system32\RPCRT4.dll
0x77740000 - 0x778AC000 C:\WINDOWS\system32\SHDOCVW.dll
0x77A60000 - 0x77AF5000 C:\WINDOWS\system32\CRYPT32.dll
0x77B00000 - 0x77B12000 C:\WINDOWS\system32\MSASN1.dll
0x768B0000 - 0x76934000 C:\WINDOWS\system32\CRYPTUI.dll
0x76C10000 - 0x76C3E000 C:\WINDOWS\system32\WINTRUST.dll
0x76C70000 - 0x76C98000 C:\WINDOWS\system32\IMAGEHLP.dll
0x77100000 - 0x7718C000 C:\WINDOWS\system32\OLEAUT32.dll
0x774C0000 - 0x775FD000 C:\WINDOWS\system32\ole32.dll
0x5BCB0000 - 0x5BD04000 C:\WINDOWS\system32\NETAPI32.dll
0x77190000 - 0x77237000 C:\WINDOWS\system32\WININET.dll
0x76F40000 - 0x76F6D000 C:\WINDOWS\system32\WLDAP32.dll
0x77BE0000 - 0x77BE8000 C:\WINDOWS\system32\VERSION.dll
0x76360000 - 0x7637D000 C:\WINDOWS\system32\IMM32.DLL
0x773B0000 - 0x774B2000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll
0x37000000 - 0x37012000 C:\WINDOWS\system32\EntApi.dll
0x76BD0000 - 0x76BDB000 C:\WINDOWS\system32\PSAPI.DLL
0x71A70000 - 0x71A87000 C:\WINDOWS\system32\WS2_32.dll
0x71A60000 - 0x71A68000 C:\WINDOWS\system32\WS2HELP.dll
0x7C9C0000 - 0x7D1DB000 C:\WINDOWS\system32\SHELL32.dll
0x5D510000 - 0x5D5A7000 C:\WINDOWS\system32\comctl32.dll
0x5B1C0000 - 0x5B1F8000 C:\WINDOWS\system32\uxtheme.dll
0x75F50000 - 0x7604D000 C:\WINDOWS\system32\BROWSEUI.dll
0x20000000 - 0x20013000 C:\WINDOWS\system32\browselc.dll
0x77B20000 - 0x77B42000 C:\WINDOWS\system32\appHelp.dll
0x76FB0000 - 0x7702F000 C:\WINDOWS\system32\CLBCATQ.DLL
0x77030000 - 0x770FD000 C:\WINDOWS\system32\COMRes.dll
0x75290000 - 0x752BE000 C:\WINDOWS\system32\msctfime.ime
0x746E0000 - 0x7472B000 C:\WINDOWS\system32\Msctf.dll
0x77F20000 - 0x77F31000 C:\WINDOWS\system32\Secur32.dll
0x77240000 - 0x772DE000 C:\WINDOWS\system32\urlmon.dll
0x77A00000 - 0x77A55000 C:\WINDOWS\System32\cscui.dll
0x765D0000 - 0x765ED000 C:\WINDOWS\System32\CSCDLL.dll
0x77900000 - 0x779F5000 C:\WINDOWS\system32\SETUPAPI.dll
0x10000000 - 0x1000B000 C:\Arquivos de programas\Adobe\Acrobat 6.0\Reader\ActiveX\AcroIEHelper.dll
0x00F40000 - 0x00F7D000 C:\WINDOWS\Downloaded Program Files\gbieh.dll
0x71A90000 - 0x71A9A000 C:\WINDOWS\system32\wsock32.dll
0x76EC0000 - 0x76EFC000 C:\WINDOWS\system32\RASAPI32.DLL
0x76E70000 - 0x76E82000 C:\WINDOWS\system32\rasman.dll
0x76E90000 - 0x76EBF000 C:\WINDOWS\system32\TAPI32.dll
0x76E60000 - 0x76E6E000 C:\WINDOWS\system32\rtutils.dll
0x76B20000 - 0x76B4E000 C:\WINDOWS\system32\WINMM.dll
0x77C50000 - 0x77C73000 C:\WINDOWS\system32\msv1_0.dll
0x76D40000 - 0x76D59000 C:\WINDOWS\system32\iphlpapi.dll
0x72280000 - 0x72285000 C:\WINDOWS\system32\sensapi.dll
0x769A0000 - 0x76A54000 C:\WINDOWS\system32\USERENV.dll
0x00FA0000 - 0x0102C000 C:\WINDOWS\system32\shdoclc.dll
0x01030000 - 0x01300000 C:\WINDOWS\system32\xpsp2res.dll
0x75D70000 - 0x75E01000 C:\WINDOWS\system32\mlang.dll
0x71A10000 - 0x71A50000 C:\WINDOWS\system32\mswsock.dll
0x60B30000 - 0x60B88000 C:\WINDOWS\system32\hnetcfg.dll
0x71A50000 - 0x71A58000 C:\WINDOWS\System32\wshtcpip.dll
0x76F00000 - 0x76F27000 C:\WINDOWS\system32\DNSAPI.dll
0x76FA0000 - 0x76FA6000 C:\WINDOWS\system32\rasadhlp.dll
0x01AA0000 - 0x01D66000 C:\WINDOWS\system32\msi.dll
0x75E60000 - 0x75F10000 C:\WINDOWS\system32\SXS.DLL
0x7D4A0000 - 0x7D785000 C:\WINDOWS\System32\mshtml.dll
0x74680000 - 0x746A7000 C:\WINDOWS\System32\msls31.dll
0x746B0000 - 0x746DA000 C:\WINDOWS\System32\msimtf.dll
0x18030000 - 0x1803B000 C:\Arquivos de programas\Network Associates\VirusScan\scriptproxy.dll
0x12400000 - 0x12461000 C:\Arquivos de programas\Network Associates\VirusScan\mytilus.dll
0x12580000 - 0x12585000 C:\Arquivos de programas\Network Associates\VirusScan\Res09\McShield.dll
0x12000000 - 0x121E0000 C:\Arquivos de programas\Arquivos comuns\Network Associates\Engine\mcscan32.dll
0x75C20000 - 0x75C8E000 C:\WINDOWS\system32\JScript.dll
0x732B0000 - 0x73317000 C:\WINDOWS\system32\VBScript.dll
0x73D80000 - 0x73E7E000 C:\WINDOWS\system32\MFC42.DLL
0x61E40000 - 0x61E4E000 C:\WINDOWS\system32\MFC42LOC.DLL
0x038D0000 - 0x03A77000 C:\WINDOWS\system32\macromed\flash\Flash.ocx
0x76380000 - 0x763C8000 C:\WINDOWS\system32\comdlg32.dll
0x72CD0000 - 0x72CD9000 C:\WINDOWS\system32\wdmaud.drv
0x72CC0000 - 0x72CC8000 C:\WINDOWS\system32\msacm32.drv
0x77BC0000 - 0x77BD5000 C:\WINDOWS\system32\MSACM32.dll
0x77BB0000 - 0x77BB7000 C:\WINDOWS\system32\midimap.dll
0x6D460000 - 0x6D470000 C:\Arquivos de programas\Java\j2re1.4.2_07\bin\npjpi142_07.dll
0x5F250000 - 0x5F267000 C:\WINDOWS\system32\OLEPRO32.DLL
0x6D330000 - 0x6D348000 C:\Arquivos de programas\Java\j2re1.4.2_07\bin\jpiexp32.dll
0x76F90000 - 0x76F98000 C:\WINDOWS\System32\winrnr.dll
0x6D3A0000 - 0x6D3B8000 C:\Arquivos de programas\Java\j2re1.4.2_07\bin\jpishare.dll
0x08000000 - 0x08138000 C:\ARQUIV~1\Java\J2RE14~1.2_0\bin\client\jvm.dll
0x03B80000 - 0x03B87000 C:\ARQUIV~1\Java\J2RE14~1.2_0\bin\hpi.dll
0x03BA0000 - 0x03BAE000 C:\ARQUIV~1\Java\J2RE14~1.2_0\bin\verify.dll
0x03BB0000 - 0x03BC9000 C:\ARQUIV~1\Java\J2RE14~1.2_0\bin\java.dll
0x03BD0000 - 0x03BDD000 C:\ARQUIV~1\Java\J2RE14~1.2_0\bin\zip.dll
0x06620000 - 0x06732000 C:\Arquivos de programas\Java\j2re1.4.2_07\bin\awt.dll
0x72FB0000 - 0x72FD6000 C:\WINDOWS\system32\WINSPOOL.DRV
0x06750000 - 0x067A1000 C:\Arquivos de programas\Java\j2re1.4.2_07\bin\fontmanager.dll
0x73710000 - 0x73759000 C:\WINDOWS\system32\ddraw.dll
0x73B70000 - 0x73B76000 C:\WINDOWS\system32\DCIMAN32.dll
0x738F0000 - 0x739C0000 C:\WINDOWS\system32\D3DIM700.DLL
0x6D310000 - 0x6D324000 C:\Arquivos de programas\Java\j2re1.4.2_07\bin\jpicom32.dll
0x6D480000 - 0x6D49D000 C:\Arquivos de programas\Java\j2re1.4.2_07\bin\RegUtils.dll
0x6D990000 - 0x6D99A000 C:\WINDOWS\System32\ddrawex.dll
0x07510000 - 0x0751F000 C:\Arquivos de programas\Java\j2re1.4.2_07\bin\net.dll
0x76290000 - 0x76301000 C:\WINDOWS\System32\mshtmled.dll
0x767D0000 - 0x767F7000 C:\WINDOWS\system32\schannel.dll
0x07520000 - 0x07542000 C:\Arquivos de programas\Java\j2re1.4.2_07\bin\dcpr.dll
0x71AE0000 - 0x71AF2000 C:\WINDOWS\system32\MPR.dll
0x75F30000 - 0x75F37000 C:\WINDOWS\System32\drprov.dll
0x71BE0000 - 0x71BEE000 C:\WINDOWS\System32\ntlanman.dll
0x71CA0000 - 0x71CB7000 C:\WINDOWS\System32\NETUI0.dll
0x71C60000 - 0x71CA0000 C:\WINDOWS\System32\NETUI1.dll
0x71C50000 - 0x71C57000 C:\WINDOWS\System32\NETRAP.dll
0x71BC0000 - 0x71BD3000 C:\WINDOWS\System32\SAMLIB.dll
0x75F40000 - 0x75F49000 C:\WINDOWS\System32\davclnt.dll
0x6C310000 - 0x6C345000 C:\WINDOWS\System32\dxtrans.dll
0x76B00000 - 0x76B11000 C:\WINDOWS\System32\ATL.DLL
0x6C350000 - 0x6C3AA000 C:\WINDOWS\System32\dxtmsft.dll
0x71D10000 - 0x71D2C000 C:\WINDOWS\System32\actxprxy.dll
0x6D1C0000 - 0x6D1CB000 C:\WINDOWS\System32\dispex.dll
0x0D890000 - 0x0DC8F000 C:\WINDOWS\resources\Themes\luna\luna.msstyles
0x07F60000 - 0x07F74000 C:\WINDOWS\system32\dpJFp.dll
0x07F80000 - 0x07F9D000 C:\WINDOWS\system32\dpFpFns.dll
0x07FA0000 - 0x07FA8000 C:\WINDOWS\system32\dpDevDat.dll
0x07FB0000 - 0x07FD6000 C:\WINDOWS\system32\dpDevClt.dll
0x0DC90000 - 0x0DD05000 C:\WINDOWS\system32\dpFtrEx.dll
0x0DD10000 - 0x0DD6E000 C:\WINDOWS\system32\dpMatch.dll
0x0DE70000 - 0x0DEAE000 C:\Arquivos de programas\DigitalPersona\Bin\DPPS.dll
0x0FFD0000 - 0x0FFF8000 C:\WINDOWS\system32\rsaenh.dll
0x61230000 - 0x6128E000 C:\WINDOWS\system32\inetcpl.cpl
0x66CC0000 - 0x66CDF000 C:\WINDOWS\system32\inetcplc.dll
0x0E3C0000 - 0x0E3C8000 C:\WINDOWS\system32\dpI00701.dll
0x0E3D0000 - 0x0E3F3000 C:\Arquivos de programas\Java\j2re1.4.2_07\bin\cmm.dll
0x0E500000 - 0x0E51E000 C:\Arquivos de programas\Java\j2re1.4.2_07\bin\jpeg.dll
0x0E620000 - 0x0E70D000 C:\Arquivos de programas\Java\j2re1.4.2_07\bin\clib_jiio.dll
0x0E810000 - 0x0E818000 C:\Arquivos de programas\Java\j2re1.4.2_07\bin\nio.dll
0x59EA0000 - 0x59F41000 C:\WINDOWS\system32\DBGHELP.dll

Heap at VM Abort:
def new generation total 576K, used 523K [0x20020000, 0x200c0000, 0x20780000)
eden space 512K, 96% used [0x20020000, 0x2009b150, 0x200a0000)
from space 64K, 48% used [0x200b0000, 0x200b7b48, 0x200c0000)
to space 64K, 0% used [0x200a0000, 0x200a0000, 0x200b0000)
tenured generation total 3756K, used 3018K [0x20780000, 0x20b2b000, 0x26020000)
the space 3756K, 80% used [0x20780000, 0x20a728f0, 0x20a72a00, 0x20b2b000)
compacting perm gen total 7936K, used 7790K [0x26020000, 0x267e0000, 0x2a020000)
the space 7936K, 98% used [0x26020000, 0x267bb800, 0x267bb800, 0x267e0000)

Local Time = Thu Jun 23 14:56:05 2005
Elapsed Time = 121
# HotSpot Virtual Machine Error : EXCEPTION_ACCESS_VIOLATION
# Error ID : 4F530E43505002EF
# Please report this error at
# Java VM: Java HotSpot(TM) Client VM (1.4.2_07-b05 mixed mode)

Any ideas?

.: SCJP 1.4 (95%) / SCWCD 1.4 (91%) / SCBCD (77%) :.
"Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us." - Calvin
Joe Ess

Joined: Oct 29, 2001
Posts: 9025

You may have better luck contacting your vendor for support.

[How To Ask Questions On JavaRanch]
Marco Tulio Borges
Ranch Hand

Joined: Sep 14, 2004
Posts: 45
Well... I tryed to contact them. They seem to have no clue.
[ June 27, 2005: Message edited by: MTulio Borges ]
Joe Ess

Joined: Oct 29, 2001
Posts: 9025

This problem is fairly unusual. For all practical purposes, Ant is going to do the same thing that you do manually. Have you tried comparing the JAR's that you and Ant produce? Tried the JAR on different computers? Different VM's?
Marco Tulio Borges
Ranch Hand

Joined: Sep 14, 2004
Posts: 45
Originally posted by Joe Ess:
Have you tried comparing the JAR's that you and Ant produce?

They look like they are equal. But I don't know about the .class internally.

Originally posted by Joe Ess:
Tried the JAR on different computers?


Originally posted by Joe Ess:
Different VM's?

[ June 29, 2005: Message edited by: MTulio Borges ]
Dom King

Joined: May 19, 2004
Posts: 18
One key difference is:
Eclipse usually uses its own Java compiler (from IBM/Eclipse) while
your Ant tool for compiling tool is usually configured to use the JDK's compiler.

It's quite possible, even very likely, that the class bytecode for both versions is slightly different. This may contribute to slightly different runtime characteristics or performance, even exposing different bugs, such as race conditions.
Consider Paul's rocket mass heater.
subject: Applet + JNI = Big Problem ?