From: Arne Vajhøj on
Tan Choong Leong wrote:
> My solution is:
>
> 1. java (JNI) C++ Win32 DLL using LoadLibrary(), GetProcAddress() to
> call 2.
> 2. CLR DLL which export extern "C" function API to call 3.
> 3. Actual .Net DLL in question.
>
> It works by calling as a standalone java class.
>
> Next, what I need is to call functions in this class from a TOMCAT
> environment. This fails with unknown reason.
>
> I realised that if I remov the "Actual .NET" function call in the CLR
> DLL in step 2. with some dummy data, there is no problem in the Tomcat
> environment.

What does the actual implementation do ?

> It just beats me that why as a standalone Java class it works but not in
> a Tomcat environment.
>
> 1. Could it be some security issue?
> 2. or path problem?
>
> All Dlls are in C:/windows/system32
>
> An excerpt from the error logs:
> #
> # An unexpected error has been detected by Java Runtime Environment:
> #
> # Internal Error (0xe0434f4d), pid=508, tid=3964
> #
> # Java VM: Java HotSpot(TM) Client VM (1.6.0_01-b06 mixed mode, sharing)
> # Problematic frame:
> # C [kernel32.dll+0x12a5b]
> #
> # If you would like to submit a bug report, please visit:
> # http://java.sun.com/webapps/bugreport/crash.jsp
> #
>
> --------------- T H R E A D ---------------
>
> Current thread (0x03704c00): JavaThread "http-8081-1" daemon
> [_thread_in_native, id=3964]
>
> siginfo: ExceptionCode=0xe0434f4d, ExceptionInformation=0x80070002
>
> Registers:
> EAX=0x04e4eb3c, EBX=0x00083a60, ECX=0x00000000, EDX=0x00000025
> ESP=0x04e4eb38, EBP=0x04e4eb8c, ESI=0x04e4ebc8, EDI=0xe0434f4d
> EIP=0x7c812a5b, EFLAGS=0x00000202
> Blah blah blah.....

Arne
From: Tan Choong Leong on
Hi Arne,

The actual .NET dll is actually a driver provided by a third party
vendor that can communicate with a device using socket (TCP/IP). I do
not have the source code of this driver or knows the protocol of this
device. I just have some function call definition (by looking at the dll
from the object browser) and some sample code.

Regards,

Choong Leong

Arne Vajh�j wrote:
> Tan Choong Leong wrote:
>> My solution is:
>>
>> 1. java (JNI) C++ Win32 DLL using LoadLibrary(), GetProcAddress() to
>> call 2.
>> 2. CLR DLL which export extern "C" function API to call 3.
>> 3. Actual .Net DLL in question.
>>
>> It works by calling as a standalone java class.
>>
>> Next, what I need is to call functions in this class from a TOMCAT
>> environment. This fails with unknown reason.
>>
>> I realised that if I remov the "Actual .NET" function call in the CLR
>> DLL in step 2. with some dummy data, there is no problem in the Tomcat
>> environment.
>
> What does the actual implementation do ?
>
>> It just beats me that why as a standalone Java class it works but not
>> in a Tomcat environment.
>>
>> 1. Could it be some security issue?
>> 2. or path problem?
>>
>> All Dlls are in C:/windows/system32
>>
>> An excerpt from the error logs:
>> #
>> # An unexpected error has been detected by Java Runtime Environment:
>> #
>> # Internal Error (0xe0434f4d), pid=508, tid=3964
>> #
>> # Java VM: Java HotSpot(TM) Client VM (1.6.0_01-b06 mixed mode, sharing)
>> # Problematic frame:
>> # C [kernel32.dll+0x12a5b]
>> #
>> # If you would like to submit a bug report, please visit:
>> # http://java.sun.com/webapps/bugreport/crash.jsp
>> #
>>
>> --------------- T H R E A D ---------------
>>
>> Current thread (0x03704c00): JavaThread "http-8081-1" daemon
>> [_thread_in_native, id=3964]
>>
>> siginfo: ExceptionCode=0xe0434f4d, ExceptionInformation=0x80070002
>>
>> Registers:
>> EAX=0x04e4eb3c, EBX=0x00083a60, ECX=0x00000000, EDX=0x00000025
>> ESP=0x04e4eb38, EBP=0x04e4eb8c, ESI=0x04e4ebc8, EDI=0xe0434f4d
>> EIP=0x7c812a5b, EFLAGS=0x00000202
>> Blah blah blah.....
>
> Arne