Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4673097

REGRESSION: Loading of a DLL no longer works in 1.4.0

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not an Issue
    • Icon: P4 P4
    • None
    • 1.4.0
    • hotspot
    • x86
    • windows_nt, windows_2000

      Name: gm110360 Date: 04/23/2002


      FULL PRODUCT VERSION :
      java version "1.4.0"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
      Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)

      FULL OPERATING SYSTEM VERSION :
      Microsoft Windows 2000 [Version 5.00.2195]

      ADDITIONAL OPERATING SYSTEMS :
      Microsoft Windows 2000 Professional
      5.0.2195 Service Pack 2 Build 2195

      A DESCRIPTION OF THE PROBLEM :
      Our product is composed of a three tier configuration: a
      Java "client" which communicates via sockets to a
      Java "middle-tier" which communicates to a C++ "server" via
      JNI calls. Our "middle-tier" does a System.loadLibrary to
      load a DLL containing the interface code. This process has
      been working for years with Java 1.1, 1.2 and 1,3. We
      installed j2sdk-1_4_0-win and we receive an
      EXCEPTION_ACCESS_VIOLATION as shown in the Error Messages
      section. If we revert back to using j2sdk-1_3_1-win, the
      product works as expected.

      REGRESSION. Last worked in version 1.3.1

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Without providing the entire application -- all three
      tiers -- I am unable to provide a description of the
      process to reproduce this problem.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      With j2sdk-1_3_1-win, the System.loadLibrary succeeds --
      with j2sdk-1_4_0-win, the System.loadLibrary fails

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      An unexpected exception has been detected in native code outside the VM.
      Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0xB7AC290
      Function=[Unknown.]
      Library=(N/A)

      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 java.lang.ClassLoader$NativeLibrary.load(Native Method)
              at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1480)
              - locked <02EEB928> (a java.util.Vector)
              - locked <02EEBC68> (a java.util.Vector)
              at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1404)
              at java.lang.Runtime.loadLibrary0(Runtime.java:772)
              - locked <02EE7DA8> (a java.lang.Runtime)
              at java.lang.System.loadLibrary(System.java:832)
              at com.sms.gsm.SmsGsm.<clinit>(SmsGsm.java)
              at com.smed.oas.gold.server.commserver.server.oacGsmClient.connect(oacGs
      mClient.java:181)
              - locked <02A066D8> (a com.smed.oas.gold.server.commserver.server.oacGsm
      Client)
              at com.smed.oas.gold.server.commserver.server.oacGsmClientManager.startC
      hannel(oacGsmClientManager.java:498)
              at com.smed.oas.gold.server.commserver.server.oacGsmClientManager.run(oa
      cGsmClientManager.java:386)
              at java.lang.Thread.run(Thread.java:536)

      Dynamic libraries:
      0x00400000 - 0x00406000 C:\WINNT\system32\java.exe
      0x77F80000 - 0x77FFB000 C:\WINNT\System32\ntdll.dll
      0x77DB0000 - 0x77E0B000 C:\WINNT\system32\ADVAPI32.dll
      0x77E80000 - 0x77F35000 C:\WINNT\system32\KERNEL32.DLL
      0x77D40000 - 0x77DB0000 C:\WINNT\system32\RPCRT4.DLL
      0x78000000 - 0x78046000 C:\WINNT\system32\MSVCRT.dll
      0x6D330000 - 0x6D442000 C:\Program Files\Java\j2re1.4.0\bin\client\jvm.d
      ll
      0x77E10000 - 0x77E74000 C:\WINNT\system32\USER32.dll
      0x77F40000 - 0x77F7C000 C:\WINNT\system32\GDI32.DLL
      0x77570000 - 0x775A0000 C:\WINNT\system32\WINMM.dll
      0x75E60000 - 0x75E7A000 C:\WINNT\System32\IMM32.DLL
      0x6D1D0000 - 0x6D1D7000 C:\Program Files\Java\j2re1.4.0\bin\hpi.dll
      0x6D300000 - 0x6D30D000 C:\Program Files\Java\j2re1.4.0\bin\verify.dll
      0x6D210000 - 0x6D228000 C:\Program Files\Java\j2re1.4.0\bin\java.dll
      0x6D320000 - 0x6D32D000 C:\Program Files\Java\j2re1.4.0\bin\zip.dll
      0x6D2D0000 - 0x6D2DD000 C:\Program Files\Java\j2re1.4.0\bin\net.dll
      0x75050000 - 0x75058000 C:\WINNT\system32\WSOCK32.dll
      0x75030000 - 0x75043000 C:\WINNT\system32\WS2_32.DLL
      0x75020000 - 0x75028000 C:\WINNT\system32\WS2HELP.DLL
      0x785C0000 - 0x785CC000 C:\WINNT\System32\rnr20.dll
      0x77980000 - 0x779A4000 C:\WINNT\system32\DNSAPI.DLL
      0x77340000 - 0x77353000 C:\WINNT\system32\iphlpapi.dll
      0x77520000 - 0x77525000 C:\WINNT\system32\ICMP.DLL
      0x77320000 - 0x77337000 C:\WINNT\system32\MPRAPI.DLL
      0x75150000 - 0x75160000 C:\WINNT\system32\SAMLIB.DLL
      0x75170000 - 0x751BF000 C:\WINNT\system32\NETAPI32.DLL
      0x77BE0000 - 0x77BEF000 C:\WINNT\system32\SECUR32.DLL
      0x751C0000 - 0x751C6000 C:\WINNT\system32\NETRAP.DLL
      0x77950000 - 0x77979000 C:\WINNT\system32\WLDAP32.DLL
      0x77A50000 - 0x77B46000 C:\WINNT\system32\OLE32.DLL
      0x779B0000 - 0x77A4B000 C:\WINNT\system32\OLEAUT32.DLL
      0x773B0000 - 0x773DE000 C:\WINNT\system32\ACTIVEDS.DLL
      0x77380000 - 0x773A2000 C:\WINNT\system32\ADSLDPC.DLL
      0x77830000 - 0x7783E000 C:\WINNT\system32\RTUTILS.DLL
      0x77880000 - 0x7790D000 C:\WINNT\system32\SETUPAPI.DLL
      0x77C10000 - 0x77C6D000 C:\WINNT\system32\USERENV.DLL
      0x774E0000 - 0x77512000 C:\WINNT\system32\RASAPI32.DLL
      0x774C0000 - 0x774D1000 C:\WINNT\system32\RASMAN.DLL
      0x77530000 - 0x77552000 C:\WINNT\system32\TAPI32.DLL
      0x71700000 - 0x7178A000 C:\WINNT\system32\COMCTL32.DLL
      0x70BD0000 - 0x70C1C000 C:\WINNT\system32\SHLWAPI.DLL
      0x77360000 - 0x77379000 C:\WINNT\system32\DHCPCSVC.DLL
      0x775A0000 - 0x77625000 C:\WINNT\system32\CLBCATQ.DLL
      0x777E0000 - 0x777E8000 C:\WINNT\System32\winrnr.dll
      0x777F0000 - 0x777F5000 C:\WINNT\system32\rasadhlp.dll
      0x74FD0000 - 0x74FEF000 C:\WINNT\system32\msafd.dll
      0x75010000 - 0x75017000 C:\WINNT\System32\wshtcpip.dll
      0x690A0000 - 0x690AB000 C:\WINNT\system32\PSAPI.DLL



      ****************
      Another exception has been detected while we were handling last error.
      Dumping information about last error:
      ERROR REPORT FILE = (N/A)
      PC = 0x0B7AC290
      SIGNAL = -1073741819
      FUNCTION NAME = (N/A)
      OFFSET = 0xFFFFFFFF
      LIBRARY NAME = (N/A)
      Please check ERROR REPORT FILE for further information, if there is any.
      Good bye.
      An unrecoverable stack overflow has occurred.

      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      static
      {
      System.loadLibrary("GSM01API");
      }

      ---------- END SOURCE ----------

      CUSTOMER WORKAROUND :
      Don't use j2sdk-1_4_0-win -- stick with j2sdk-1_3_1-win.
      Unfortunately, this won't help if you need some of the new
      features of the j2sdk-1_4_0-win as we do.

      Release Regression From : 1.3.1_02
      The above release value was the last known release where this
      bug was known to work. Since then there has been a regression.

      (Review ID: 145416)
      ======================================================================

      Name: gm110360 Date: 04/23/2002


      FULL PRODUCT VERSION :
      java version "1.4.0"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
      Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)

      FULL OPERATING SYSTEM VERSION :
      Windows NT Version 4.0

      A DESCRIPTION OF THE PROBLEM :
      Cannot invoke native methods in dlls. The dlls work fine
      for JRE 1.3.1_02 and 1.3.1_03. For JRE 1.4.0 they generate
      UnstatisfiedLinkError.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      Expect native methods to be invoked and yield correct
      results as in JRE 1.3.1.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      java.lang.UnsatisfiedLinkError: C:\Program Files\FUGRO-
      LCT\lct_software\bin\xgmapi.dll: Not implemented
       at java.lang.ClassLoader$NativeLibrary.load(Native Method)
       at java.lang.ClassLoader.loadLibrary0(Unknown Source)
       at java.lang.ClassLoader.loadLibrary(Unknown Source)
       at java.lang.Runtime.loadLibrary0(Unknown Source)
       at lct.util.culture.LtEZCulture.<clint>(LtEZCulture.java:45)
       at lct.util.culture.WDBCulture.<init>(WDBCulture.java:73)
       at lct.util.datastore.DataImport$3.run(DataImport.java:203)
       at java.lang.Thread.run(Unknown Source)


      This bug can be reproduced always.
      (Review ID: 145748)
      ======================================================================

            collins Gary Collins (Inactive)
            gmanwanisunw Girish Manwani (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: