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

Backout fix for JDK-8165437 due to breakage on 32-bit Linux

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1
    • 10
    • 10
    • core-libs
    • 10
    • b07
    • x86
    • linux
    • Verified

    Description

      The fix for JDK-8165437 started using JVM_Nanotime to read the time and calculate timeouts. The function returns a 64-bit jlong value. But the variables in the code that get assigned from it are only long types and so will only be 32-bit on 32-bit systems. This leads to truncation and breakage in the socket code.

      This is manifesting most clearly with the jtreg tests using AgentVM mode where we see failures:

      Error. Agent communication error: java.net.SocketException: Connection reset; check console log for any additional details

      Curiously we have also seen this failure on OSX which suggest there may be another issue with the timeout code:

      TEST RESULT: Error. Agent communication error: java.io.EOFException; check console log for any additional details
      --------------------------------------------------
      [2017-05-03 20:44:48,372] Agent[1]: stderr: java.net.SocketException: Invalid argument (select/poll failed)
      [2017-05-03 20:44:48,373] Agent[1]: stderr: at java.base/java.net.SocketInputStream.socketRead0(Native Method)
      [2017-05-03 20:44:48,373] Agent[1]: stderr: at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
      [2017-05-03 20:44:48,373] Agent[1]: stderr: at java.base/java.net.SocketInputStream.read(SocketInputStream.java:171)
      [2017-05-03 20:44:48,373] Agent[1]: stderr: at java.base/java.net.SocketInputStream.read(SocketInputStream.java:141)
      [2017-05-03 20:44:48,373] Agent[1]: stderr: at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
      [2017-05-03 20:44:48,373] Agent[1]: stderr: at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:265)
      [2017-05-03 20:44:48,373] Agent[1]: stderr: at java.base/java.io.FilterInputStream.read(FilterInputStream.java:83)
      [2017-05-03 20:44:48,373] Agent[1]: stderr: at com.sun.javatest.regtest.agent.AgentServer.run(AgentServer.java:178)
      [2017-05-03 20:44:48,373] Agent[1]: stderr: at com.sun.javatest.regtest.agent.AgentServer.main(AgentServer.java:60)

      Attachments

        Issue Links

          Activity

            People

              vtewari Vyom Tewari
              dholmes David Holmes
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: