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

interaction w/ NOD32 virusscanner renders JVM unstable on Windows when closing socket connection

    • x86
    • windows_xp

      Customer reported that their application is crashing frequently.
      The crash is not strictly reproducible, but happens intermittently.
      The application is a client server application: the client is
      written in Java running on Windows, the server is written in
      C++ running on Linux. The client connects to the server via
      ssh and uses a third-party library: "J2SSH Maverick". The
      client and the server exchange simple text messages. Upon
      terminating the connection either on the client side or on
      the server side, the crash happens on the client side.

      The application crashes about once per day, or even more
      frequently. The symptoms look like:

      1. Windows XP Build 2600 Service Pack 1:
      ----------------------------------------
      see attached hs_err_pid2856.log
      [ ... ]
      Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode)
      [ ... ]
      siginfo: ExceptionCode=0xc0000005, writing address 0x00000010
      [ ... ]
       Stack: [0x1d3f0000,0x1d430000), sp=0x1d42f26c, free space=252k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      C [ntdll.dll+0x1baa]
      C [ntdll.dll+0x2561d]

      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      J java.net.SocketInputStream.socketRead0(Ljava/io/FileDescriptor;[BIII)I
      J java.net.SocketInputStream.read([BII)I
      J com.maverick.util.IOStreamConnector$_A.run()V
      j java.lang.Thread.run()V+11
      v ~StubRoutines::call_stub


      2. Windows XP Build 2600 Service Pack 2:
      ----------------------------------------
      see attached hs_err_pid1500.log:
      [ ... ]
      Java HotSpot(TM) Client VM (1.5.0_14-b03 mixed mode, sharing)
      [ ... ]
      siginfo: ExceptionCode=0xc0000005, writing address 0x00000010
      [ ... ]
      Stack: [0x053c0000,0x05400000), sp=0x053ff2c8, free space=252k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      C [ntdll.dll+0x18fea]
      C [ntdll.dll+0x104b]

      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      j java.net.SocketInputStream.socketRead0(Ljava/io/FileDescriptor;[BIII)I+0
      j java.net.SocketInputStream.read([BII)I+84
      j com.maverick.util.IOStreamConnector$_A.run()V+41
      j java.lang.Thread.run()V+11
      v ~StubRoutines::call_stub


      3. ntdll.dll functions
      ----------------------
       The ntdll.dll addresses translate into the following functions:

       ntdll.dll+102378 RtlpWaitForCriticalSection+91 (dezimal 102378 = 0x18fea)
       ntdll.dll+4171 RtlEnterCriticalSection+70 (dezimal 4171 = 0x104b)


      4. NOD32 virusscanner
      ---------------------
      It turned out that in all hs_err_pid.log files NOD32 virusscanner was loaded:
      e.g.:
         0x20c00000 - 0x20c0c000 C:\Programme\Eset\pr_imon.dll
      or
         0x20c00000 - 0x20c0c000 C:\Program Files\Eset\pr_imon.dll

      Moreover, it was verified that the first crash (Oct 10, 2007) was
      observed only days after the NOD32 virusscanner was installed for
      the first time (Oct 3, 2007).
      Customer reported that before that event the application was running
      stable for years.
      Furthermore, after deactivating NOD32 virusscanner the problem could
      no longer be observed for 10 days.

      So, there is strong evidence that antivirus library NOD32 from ESET is
      involved in causing the trouble.

      *Antivirus* Software - Eliminate Spyware and Adware with ESET
          *NOD32* *...* <http://www.eset.com/>

            Unassigned Unassigned
            thlenz Thomas Lenz (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: