Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / June 2006

Tip: Looking for answers? Try searching our database.

WebSphere JVM Access Violation Problem running Java program that calls methods in a Windows C++ DLL via a JNI wrapper.......

Thread view: 
adgarcia13 - 27 Jun 2006 18:00 GMT
Greetings,

Am having a problem running an Eclipse Java program in the IDE on
Windows XP that calls Windows C++ methods in a Windows DLL via JNI. The
JNI wrapper was developed using the SUN JVM. When we run the java
program using the SUN JVM it all works well; when we attempt this using
the JVM available with IBM Websphere 6.0.2.5 we have the following
problem when we attempted to make the first C++ init method call:

JVMDG217: Dump Handler is Processing Signal 11 - Please Wait.
JVMDG303: JVM Requesting Java core file
JVMDG304: Java core file written to
C:\EclipseWorkspace\AppName\javacore.20060626.095514.392.txt

and in the dump file found the following:

NULL
------------------------------------------------------------------------
0SECTION       TITLE subcomponent dump routine
NULL           ===============================
1TISIGINFO     signal 11 received
1TIDATETIME    Date:                 2006/06/26 at 09:55:32
1TIFILENAME    Javacore filename:
D:\EclipseWorkspace\SQLParser\javacore.20060626.095532.392.txt
NULL
------------------------------------------------------------------------
0SECTION       XHPI subcomponent dump routine
NULL           ==============================
1XHEXCPCODE    Exception code: C0000005 Access Violation
1XHEXCPADDRESS Fault address:  1001F1C3 01:0001E1C3
1XHEXCPMODULE  Fault module:
D:\IBM\WebSphere\AppServer\_jvm\jre\bin\classic\jvm.dll
NULL
1XHREGISTERS   Registers:
2XHREGISTER      EAX:00000000
2XHREGISTER      EBX:05E552D4
2XHREGISTER      ECX:0032AB18
2XHREGISTER      EDX:05E553A0
2XHREGISTER      ESI:002B1998
2XHREGISTER      EDI:00000000
2XHREGISTER      CS:EIP:001B:1001F1C3
2XHREGISTER      SS:ESP:0023:0006FC48  EBP:00000000
2XHREGISTER      DS:0023  ES:0023  FS:003B  GS:0000
NULL
1XHFLAGS       Flags:00010246
NULL
NULL
------------------------------------------------------------------------
0SECTION       CI subcomponent dump routine
NULL           ============================
1CIJAVAVERSION J2RE 1.4.2 IBM Windows 32 build cn142ifx-20051115 (SR3 +
94164 + 97403 + 97482)
1CIRUNNINGAS   Running as a standalone JVM
1CICMDLINE     D:\IBM\WebSphere\AppServer\_jvm\bin\javaw.exe -classpath
D:\EclipseWorkspace\SQLParser DSSqlParser.SqlParser
1CIJAVAHOMEDIR Java Home Dir:   D:\IBM\WebSphere\AppServer\_jvm\jre
1CIJAVADLLDIR  Java DLL Dir:    D:\IBM\WebSphere\AppServer\_jvm\jre\bin
1CISYSCP       Sys Classpath:
D:\IBM\WebSphere\AppServer\_jvm\jre\lib\core.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\graphics.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\security.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\server.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\xml.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\charsets.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmcertpathprovider.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmjaasactivelm.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmjaaslm.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmjcefw.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmjgssprovider.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmjssefips.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmjsseprovider.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmorb.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmorbapi.jar;D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmpkcs.jar
1CIUSERARGS    UserArgs:
2CIUSERARG               vfprintf 0x403000
2CIUSERARG               -Dinvokedviajava
2CIUSERARG
-Djava.class.path=D:\EclipseWorkspace\SQLParser
2CIUSERARG               vfprintf
NULL
1CIJVMMI       JVM Monitoring Interface (JVMMI)
NULL           ------------------------
2CIJVMMIOFF    No events are enabled.
NULL
NULL
------------------------------------------------------------------------
0SECTION       DC subcomponent dump routine
NULL           ============================
1DCHEADEREYE   Header eye catcher  DCST
1DCHEADERLEN   Header length       24
1DCHEADERVER   Header version      1
1DCHEADERMOD   Header modification 0
2DCARRAYINFO     10 - index  9 signature S name  short[] factor 2
2DCARRAYINFO     11 - index 10 signature I name    int[] factor 4
2DCARRAYINFO     12 - index 11 signature J name   long[] factor 8
NULL
------------------------------------------------------------------------
0SECTION       DG subcomponent dump routine
NULL           ============================
1DGTRCENABLED  Trace enabled: Yes
2DGTRCTYPE       Trace: Internal
2DGTRCBUFFERS    Buffer specification: 8k
2DGTRCBUFALLOC   Buffers allocated: 0
2DGTRCBUFUSED    Buffers in use:    0
1DGJDUMPBUFF   Javadump buffer size (allocated): 2621440
NULL
------------------------------------------------------------------------
0SECTION       ST subcomponent dump routine
NULL           ============================
1STGCMODES     Resettable GC: No
1STGCMODES     Concurrent GC: No
1STCURHBASE    Current Heap Base: 0x101801FC
1STCURHLIM     Current Heap Limit: 0x1057FBFC
1STMWHBASE     Middleware Heap Base: 0x101801FC
1STMWHLIM      Middleware Heap Limit: 0x1057FBFC
1STGCHELPERS   Number of GC Helper Threads: 0
1STJVMOPTS     -Xconcurrentlevel: 0
1STJVMOPTS     -Xconcurrentbackground: 0
1STGCCTR       GC Counter: 0
1STAFCTR       AF Counter: 0
1STHEAPFREE    Bytes of Heap Space Free: 2f2e40
1STHEAPALLOC   Bytes of Heap Space Allocated: 3ffa00
1STSMBASE      SM Base: 0x0
1STSMEND       SM End: 0x0
1STPAMSTART    PAM Start: 0x0
1STPAMEND      PAM End: 0x0
1STCOMACTION   Compact Action: 0
NULL
------------------------------------------------------------------------
0SECTION       XE subcomponent dump routine
NULL           ============================
1XETHRESHOLD   MMI threshold for java methods is set to 2000
1XEJITINIT     JIT is initialized
1XEJVMPIOFF    JVMPI is not activated
1XEJNITHRESH   MMI threshold for JNI methods is set to 0
1XETRCHIS      Trace history length is set to 4
1XEJITDUMP     JIT dump routine is not yet implemented.
NULL
------------------------------------------------------------------------
0SECTION       LK subcomponent dump routine
NULL           ============================
NULL
1LKPOOLINFO    Monitor pool info:
2LKPOOLINIT      Initial monitor count: 32
2LKPOOLEXPNUM    Minimum number of free monitors before expansion: 5
2LKPOOLEXPBY     Pool will next be expanded by: 16
2LKPOOLTOTAL     Current total number of monitors: 32
2LKPOOLFREE      Current number of free monitors: 28
NULL
1LKMONPOOLDUMP Monitor Pool Dump (flat & inflated object-monitors):
2LKMONINUSE      sys_mon_t:0x0026FD30 infl_mon_t: 0x002B227C:
3LKMONOBJECT       java.lang.ref.Reference$Lock@10200598/102005A0:
<unowned>
3LKNOTIFYQ            Waiting to be notified:
3LKWAITNOTIFY            "Reference Handler" (0x1D6FAA0)
2LKMONINUSE      sys_mon_t:0x0026FDC0 infl_mon_t: 0x002B22D4:
3LKMONOBJECT       java.lang.ref.ReferenceQueue$Lock@102002D0/102002D8:
<unowned>
3LKNOTIFYQ            Waiting to be notified:
3LKWAITNOTIFY            "Finalizer" (0x1DF35E8)
NULL
1LKREGMONDUMP  JVM System Monitor Dump (registered monitors):
2LKREGMON          JITC PIC Lock (0x01EB1448): <unowned>
2LKREGMON          JITC CHA lock (0x01E9B090): <unowned>
2LKREGMON          JITC MB UPDATE lock (0x026A0070): <unowned>
2LKREGMON          JITC Global_Compile lock (0x026A0020): <unowned>
2LKREGMON          Free Class Loader Cache Entry lock (0x002B4098):
<unowned>
NULL
1LKOBJMONDUMP  Java Object Monitor Dump (flat & inflated
object-monitors):
2LKINFLATEDMON     java.lang.ref.ReferenceQueue$Lock@102002D0/102002D8
3LKINFLDETAILS         locknflags 80000400 Monitor inflated infl_mon
0x002B22D4
2LKINFLATEDMON     java.lang.ref.Reference$Lock@10200598/102005A0
3LKINFLDETAILS         locknflags 80000200 Monitor inflated infl_mon
0x002B227C
NULL
------------------------------------------------------------------------
0SECTION       XM subcomponent dump routine
NULL           ============================
NULL
1XMCURTHDINFO  Current Thread Details
NULL           ----------------------
3XMTHREADINFO      "main" (TID:0x101EB9B8, sys_thread_t:0x2B1B70,
state:R, native ID:0xCBC) prio=5:
pending=java.lang.NoClassDefFoundError
4XESTACKTRACE          at DSSqlParser.SqlParser.init(Native Method)
4XESTACKTRACE          at DSSqlParser.SqlParser.main(SqlParser.java:69)
1XMTHDINFO     All Thread Details
NULL           ------------------
NULL
2XMFULLTHDDUMP Full thread dump Classic VM (J2RE 1.4.2 IBM Windows 32
build cn142ifx-20051115 (SR3 + 94164 + 97403 + 97482), native threads):
3XMTHREADINFO      "Finalizer" (TID:0x101EB8B0, sys_thread_t:0x1DF35E8,
state:CW, native ID:0x4AC) prio=8
4XESTACKTRACE          at java.lang.Object.wait(Native Method)
4XESTACKTRACE          at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
4XESTACKTRACE          at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:160)
4XESTACKTRACE          at
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:225)
3XMTHREADINFO      "Reference Handler" (TID:0x101EB908,
sys_thread_t:0x1D6FAA0, state:CW, native ID:0xBB8) prio=10
4XESTACKTRACE          at java.lang.ref.Reference.process(Native
Method)
4XESTACKTRACE          at
java.lang.ref.Reference.access$300(Reference.java:50)
4XESTACKTRACE          at
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:130)
3XMTHREADINFO      "Signal dispatcher" (TID:0x101EB960,
sys_thread_t:0x1DE63C8, state:R, native ID:0xD84) prio=5
3XMTHREADINFO      "main" (TID:0x101EB9B8, sys_thread_t:0x2B1B70,
state:R, native ID:0xCBC) prio=5:
pending=java.lang.NoClassDefFoundError
4XESTACKTRACE          at DSSqlParser.SqlParser.init(Native Method)
4XESTACKTRACE          at DSSqlParser.SqlParser.main(SqlParser.java:69)
NULL
------------------------------------------------------------------------
0SECTION       CL subcomponent dump routine
NULL           ============================
1CLCLASSPATH        Classpath
Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\core.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\graphics.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\security.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\server.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\xml.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\charsets.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmcertpathprovider.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmjaasactivelm.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmjaaslm.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmjcefw.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmjgssprovider.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmjssefips.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmjsseprovider.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmorb.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmorbapi.jar),Z(D:\IBM\WebSphere\AppServer\_jvm\jre\lib\ibmpkcs.jar)
1CLFLAGOLDJAVA      Oldjava mode false
1CLFLAGBOOTSTRP     Bootstrapping false
1CLFLAGVERBOSE      Verbose class dependencies false
1CLENUMVERIFY       Class verification VERIFY_REMOTE
1CLPNTRNAMECLLO     Namespace to classloader 0x00000000
1CLPNTRCLSEXT       Extension loader 0x101EB830
1CLPNTRSYSLOADR     System classloader 0x101EB7B0
1CLTEXTCLLOS        Classloader summaries
1CLTEXTCLLSS             12345678:
1=primordial,2=extension,3=shareable,4=middleware,5=system,6=trusted,7=application,8=delegating
2CLTEXTCLLOADER          -----ta- Loader
sun/misc/Launcher$AppClassLoader(0x01EAC960), Shadow 0x101EB7B0, Parent
sun/misc/Launcher$ExtClassLoader(0x101EB830)
3CLNMBRLOADEDCL               Number of loaded classes 1
3CLNMBRCACHECLS               Number of cached classes 259
3CLHEXDALLOCTIO               Allocation used for loaded classes 1
3CLHEXDPCKGEOWN               Package owner 0x101EB7B0
2CLTEXTCLLOADER          -xh-st-- Loader
sun/misc/Launcher$ExtClassLoader(0x01EA20D0), Shadow 0x101EB830, Parent
*none*(0x00000000)
3CLNMBRLOADEDCL               Number of loaded classes 0
3CLNMBRCACHECLS               Number of cached classes 0
3CLHEXDALLOCTIO               Allocation used for loaded classes 3
3CLHEXDPCKGEOWN               Package owner 0x101EB830
2CLTEXTCLLOADER          p-h-st-- Loader *System*(0x00361F20), Shadow
0x00000000
3CLNMBRLOADEDCL               Number of loaded classes 306
3CLNMBRCACHECLS               Number of cached classes 306
3CLHEXDALLOCTIO               Allocation used for loaded classes 3
3CLHEXDPCKGEOWN               Package owner 0x00000000
1CLTEXTCLLOD        ClassLoader loaded classes
2CLTEXTCLLOAD            Loader
sun/misc/Launcher$AppClassLoader(0x01EAC960)
3CLTEXTCLASS                  DSSqlParser/SqlParser(0x101DF0E0)
2CLTEXTCLLOAD            Loader
sun/misc/Launcher$ExtClassLoader(0x01EA20D0)
2CLTEXTCLLOAD            Loader *System*(0x00361F20)
3CLTEXTCLASS                  java/io/DataOutput(0x002DA068)
3CLTEXTCLASS                  sun/net/www/URLConnection(0x01E76898)
3CLTEXTCLASS
com/ibm/jvm/io/FileOutputStream(0x002DC2D8)
3CLTEXTCLASS
java/util/Hashtable$EmptyIterator(0x002D4758)
3CLTEXTCLASS                  java/lang/ClassLoader(0x002D29A8)
3CLTEXTCLASS                  java/lang/Comparable(0x002D0738)
NULL
------------------------------------------------------------------------
0SECTION       Javadump End section
1DGJDUMP       Javadump Buffer Usage Information
NULL           =================================
2DGJDUMPALLOC  Javadump buffer size (allocated): 2621440
2DGJDUMPUSED   Javadump buffer size (used)     : 34558
NULL           ---------------------- END OF DUMP
-------------------------------------

Any help is appreciated.

ADG13
Chris Uppal - 28 Jun 2006 10:17 GMT
> Am having a problem running an Eclipse Java program in the IDE on
> Windows XP that calls Windows C++ methods in a Windows DLL via JNI. The
> JNI wrapper was developed using the SUN JVM. When we run the java
> program using the SUN JVM it all works well; when we attempt this using
> the JVM available with IBM Websphere 6.0.2.5 we have the following
> problem when we attempted to make the first C++ init method call:

The dump file doesn't mean a thing to me, but one small suggestion is that you
may be making false assumptions about JNI which the Sun JVM either doesn't care
about or does care, but doesn't check.  The IBM JVMs' implementations
of -Xcheck:jni is more helpful than the Sun one (it found a false assumption in
my own JNI code), so it might be helpful to run with that turned on.

   -- chris
Gordon Beaton - 28 Jun 2006 12:19 GMT
> Am having a problem running an Eclipse Java program in the IDE on
> Windows XP that calls Windows C++ methods in a Windows DLL via JNI.
[quoted text clipped - 3 lines]
> following problem when we attempted to make the first C++ init
> method call:

Signal 11 on Unix would indicate a segmentation fault, I don't know if
it's something similar on Windows.

Since the dump indicates a pending "NoClassDefFoundError" in
SqlParser.init(), I'll take a guess and suggest that you failed to
check the return value from FindClass() or similar JNI API function
before proceeding to use the value in a subsequent call.

/gordon

Signature

[  do not email me copies of your followups  ]
g o r d o n + n e w s @  b a l d e r 1 3 . s e



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.