javajava-native-interfacewebsphere-8clearquestibm-jvm

ClearQuest java api in websphere application


I'm developing a web application that access a clearquest database via the Java API. It works fine under Tomcat. Now I have to convert that application to WebSphere Application Server 8.5.5. At the first call to Clearquest the application and the JVM terminates:

Unhandled exception
Type=Segmentation error vmState=0x00040000
J9Generic_Signal_Number=00000004 ExceptionCode=c0000005 ExceptionAddress=6EA6754A ContextFlags=0001007f
Handler1=6EA4F860 Handler2=7294EF00 InaccessibleAddress=00000000
EDI=4FE0FBC8 ESI=4FE0FAF4 EAX=00000000 EBX=4E9C9B00
ECX=00000020 EDX=00000000
EIP=6EA6754A ESP=4FE0F9A8 EBP=4FE0FA38 EFLAGS=00010246
GS=002B FS=0053 ES=002B DS=002B
Module=C:\Program Files (x86)\IBM\WebSphere\AppServer\java\jre\bin\default\j9vm26.dll
Module_base_address=6EA40000 Offset_in_DLL=0002754a
Target=2_60_20130301_140166 (Windows 7 6.1 build 7601 Service Pack 1)
CPU=x86 (2 logical CPUs) (0x142f99000 RAM)
----------- Stack Backtrace -----------
_getStringChars@12+0x5a (jnisup.asm:4798, 0x6EA6754A [j9vm26+0x2754a])
(0x5D351260 [cqjniproxy+0x1260])
(0x5D35111C [cqjniproxy+0x111c])
(0x5D3510AC [cqjniproxy+0x10ac])
_Java_com_rational_clearquest_cqjni_CQSession_UserLogon@24+0xcf (0x5D38DF5F [cqjniproxy+0x3df5f])
_Java_com_rational_clearquest_cqjni_CQSession_UserLogon@24+0x21 (0x71A85831 [cqjniwinproxy+0x5831])
VMprJavaSendNative+0x475 (jnisend.asm:474, 0x6EA64555 [j9vm26+0x24555])
JVM_InvokeMethod+0x54 (sunvmi.c:246, 0x619F9694 [jclscar_26+0x49694])
Java_sun_reflect_NativeMethodAccessorImpl_invoke0+0x19 (sunreflect.c:26, 0x619ED039 [jclscar_26+0x3d039])
J9HookDispatch+0x88 (hookable.c:176, 0x733F10B8 [J9HOOKABLE26+0x10b8])
j9sig_protect+0x44 (j9signal.c:150, 0x7294F0E4 [J9PRT26+0xf0e4])
(0x002EFDA0)
j9portLibrary+0x0 (0x72991AD0 [jvm+0x21ad0])
J9VMInterfaceFunctions+0x0 (0x6EAB2A90 [j9vm26+0x72a90])
(0x002EFDA0)
(0x002EEFC8)

How do I have to define the Clearquest API library in WAS and how to ensure access to the Clearquest DLLs used by the Java API?

Thanks! Berthold


Solution

  • In the meantime I found out that ClearQuest does not support Java 64bit. It always requires a 32bit Java! Therefore we moved the ClearQuest access functions into a standalone Java application connected to the WAS application by RMI.