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

Regression: HTTP URL's sometimes hang in JDK1.2FCS-G build.

XMLWordPrintable

    • sparc
    • solaris_2.6

      I am experiencing URL hangs on SOLARIS 2.6 with the latest JDK1.2FCS-G
      build. This is probably all related to the TCP bug I put in namely bugid
      4168586. Below is an invocation of a URL program called GetURLInfo which
      has a stack trace of the hang.

      The GetURLInfo program is part of the attachment. To invoke the GetURLInfo
      program type the following in a loop. It may take awhile before the hang
      will occur but it will eventually occur.

      % sh
      % while true
      > do
      > java -Djava.compiler=none -DproxyHost=webcache.east.sun.com -DproxyPort=8080 -Dftp.proxyHost=webcache.east.sun.com -Dftp.proxyPort=8080 GetURLInfo -d -v -f data/GetURLInfo.data -o results/outgeturlinfo
      > done

      To extract the GetURLInfo program type:

      % uncompress url.tar.Z
      % tar xvf url.tar
      % cd url

      To run the GetURLInfo program type:

      You will need to set -DproxyHost and -Dftp.proxyHost to your correct server.

      % java -Djava.compiler=none -DproxyHost=webcache.east.sun.com -DproxyPort=8080 -Dftp.proxyHost=webcache.east.sun.com -Dftp.proxyPort=8080 GetURLInfo -d -v -f data/GetURLInfo.data -o results/outgeturlinfo

      Warning: JIT compiler "none" not found. Will use interpreter.
      DEBUG: opening URL file: data/GetURLInfo.data
      DEBUG: parsing stream to URL: http://www.sun.com/
      DEBUG: printing info for URL: http://www.sun.com/
      DEBUG: opening connection to URL: http://www.sun.com/
      DEBUG: connecting to URL: http://www.sun.com/
      DEBUG: parsing stream to URL: http://www.sun.com/
      DEBUG: printing info for URL: http://www.sun.com/
      DEBUG: opening connection to URL: http://www.sun.com/
      DEBUG: connecting to URL: http://www.sun.com/
      DEBUG: parsing stream to URL: http://www.hp.com/
      DEBUG: printing info for URL: http://www.hp.com/
      DEBUG: opening connection to URL: http://www.hp.com/
      DEBUG: connecting to URL: http://www.hp.com/
      DEBUG: parsing stream to URL: http://www.hp.com/
      DEBUG: printing info for URL: http://www.hp.com/
      DEBUG: opening connection to URL: http://www.hp.com/
      DEBUG: connecting to URL: http://www.hp.com/
      DEBUG: parsing stream to URL: http://www.ibm.com/
      DEBUG: printing info for URL: http://www.ibm.com/
      DEBUG: opening connection to URL: http://www.ibm.com/
      DEBUG: connecting to URL: http://www.ibm.com/
      DEBUG: parsing stream to URL: http://www.ibm.com/
      DEBUG: printing info for URL: http://www.ibm.com/
      DEBUG: opening connection to URL: http://www.ibm.com/
      DEBUG: connecting to URL: http://www.ibm.com/
      DEBUG: parsing stream to URL: http://www.digital.com/
      DEBUG: printing info for URL: http://www.digital.com/
      DEBUG: opening connection to URL: http://www.digital.com/
      DEBUG: connecting to URL: http://www.digital.com/
      DEBUG: parsing stream to URL: http://www.digital.com/
      DEBUG: printing info for URL: http://www.digital.com/
      DEBUG: opening connection to URL: http://www.digital.com/
      DEBUG: connecting to URL: http://www.digital.com/
      DEBUG: parsing stream to URL: http://www.netscape.com/
      DEBUG: printing info for URL: http://www.netscape.com/
      DEBUG: opening connection to URL: http://www.netscape.com/
      DEBUG: connecting to URL: http://www.netscape.com/
      DEBUG: parsing stream to URL: http://www.netscape.com/
      DEBUG: printing info for URL: http://www.netscape.com/
      DEBUG: opening connection to URL: http://www.netscape.com/
      DEBUG: connecting to URL: http://www.netscape.com/
      DEBUG: parsing stream to URL: http://www.microsoft.com/
      DEBUG: printing info for URL: http://www.microsoft.com/
      DEBUG: opening connection to URL: http://www.microsoft.com/
      DEBUG: connecting to URL: http://www.microsoft.com/
      DEBUG: parsing stream to URL: http://www.microsoft.com/
      DEBUG: printing info for URL: http://www.microsoft.com/
      DEBUG: opening connection to URL: http://www.microsoft.com/
      DEBUG: connecting to URL: http://www.microsoft.com/
      DEBUG: parsing stream to URL: http://www.joeblow.joeblow/
      DEBUG: printing info for URL: http://www.joeblow.joeblow/
      DEBUG: opening connection to URL: http://www.joeblow.joeblow/
      DEBUG: connecting to URL: http://www.joeblow.joeblow/
      DEBUG: parsing stream to URL: http://www.joeblow.joeblow/
      DEBUG: printing info for URL: http://www.joeblow.joeblow/
      DEBUG: opening connection to URL: http://www.joeblow.joeblow/
      DEBUG: connecting to URL: http://www.joeblow.joeblow/
      DEBUG: parsing stream to URL: gopher://gopher.utah.edu/11/Search%20menu%20titles%20using%20jughead/Search%20other%20institutions%20using%20jughead
      DEBUG: printing info for URL: gopher://gopher.utah.edu/11/Search%20menu%20titles%20using%20jughead/Search%20other%20institutions%20using%20jughead
      DEBUG: opening connection to URL: gopher://gopher.utah.edu/11/Search%20menu%20titles%20using%20jughead/Search%20other%20institutions%20using%20jughead
      DEBUG: connecting to URL: gopher://gopher.utah.edu/11/Search%20menu%20titles%20using%20jughead/Search%20other%20institutions%20using%20jughead
      DEBUG: parsing stream to URL: ftp://ftp.javasoft.com/docs/jdk1.0.2/JDK-1_0_2-apidocs.zip
      DEBUG: printing info for URL: ftp://ftp.javasoft.com/docs/jdk1.0.2/JDK-1_0_2-apidocs.zip
      DEBUG: opening connection to URL: ftp://ftp.javasoft.com/docs/jdk1.0.2/JDK-1_0_2-apidocs.zip
      DEBUG: connecting to URL: ftp://ftp.javasoft.com/docs/jdk1.0.2/JDK-1_0_2-apidocs.zip
      DEBUG: parsing stream to URL: ftp://ftp.javasoft.com/docs/jdk1.0.2/JDK-1_0_2-apidocs.tar.Z
      DEBUG: printing info for URL: ftp://ftp.javasoft.com/docs/jdk1.0.2/JDK-1_0_2-apidocs.tar.Z
      DEBUG: opening connection to URL: ftp://ftp.javasoft.com/docs/jdk1.0.2/JDK-1_0_2-apidocs.tar.Z
      DEBUG: connecting to URL: ftp://ftp.javasoft.com/docs/jdk1.0.2/JDK-1_0_2-apidocs.tar.Z
      FINALSTATUS:GetURLInfo:EXIT_PASS:0:TEST PASSED
      Warning: JIT compiler "none" not found. Will use interpreter.
      DEBUG: opening URL file: data/GetURLInfo.data
      DEBUG: parsing stream to URL: http://www.sun.com/
      DEBUG: printing info for URL: http://www.sun.com/
      DEBUG: opening connection to URL: http://www.sun.com/
      DEBUG: connecting to URL: http://www.sun.com/
      DEBUG: parsing stream to URL: http://www.sun.com/
      DEBUG: printing info for URL: http://www.sun.com/
      DEBUG: opening connection to URL: http://www.sun.com/
      DEBUG: connecting to URL: http://www.sun.com/
      ^\SIGQUIT

      Full thread dump Classic VM (JDK-1.2fcs-G, green threads):
          "Finalizer" (TID:0xebc98390, sys_thread_t:0x66d00, state:CW) prio=8
              at java.lang.Object.wait(Native Method)
              at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:113)
              at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:128)
              at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174)
          "Reference Handler" (TID:0xebc98420, sys_thread_t:0x64d80, state:CW) prio=10
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java:303)
              at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:209)
          "Signal dispatcher" (TID:0xebc98190, sys_thread_t:0x62e28, state:R) prio=5
          "main" (TID:0xebc98250, sys_thread_t:0x28d78, state:R) prio=5 *current thread*
              at java.net.InetAddressImpl.lookupAllHostAddr(Native Method)
              at java.net.InetAddress.getAllByName0(InetAddress.java:543)
              at java.net.InetAddress.getAllByName0(InetAddress.java:508)
              at java.net.InetAddress.getByName(InetAddress.java:429)
              at sun.net.www.http.HttpClient.<init>(HttpClient.java:259)
              at sun.net.www.http.HttpClient.<init>(HttpClient.java:283)
              at sun.net.www.http.HttpClient.New(HttpClient.java:295)
              at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:400)
              at GetURLInfo.PrintURLInfo(GetURLInfo.java:142)
              at GetURLInfo.main(GetURLInfo.java:64)
      Monitor Cache Dump:
          java.lang.ref.Reference$Lock@EBC98430/EBCCD688: <unowned>
              Waiting to be notified:
                  "Reference Handler" (0x64d80)
          java.util.HashMap@EBCA1310/EBD15778: owner "main" (0x28d78) 1 entry
          java.lang.ref.ReferenceQueue$Lock@EBC983A8/EBCCDB90: <unowned>
              Waiting to be notified:
                  "Finalizer" (0x66d00)
      Registered Monitor Dump:
          utf8 hash table: <unowned>
          JNI pinning lock: <unowned>
          JNI global reference lock: <unowned>
          BinClass lock: <unowned>
          Class linking lock: <unowned>
          System class loader lock: <unowned>
          Code rewrite lock: <unowned>
          Heap lock: <unowned>
          Monitor cache lock: owner "Signal dispatcher" (0x62e28) 1 entry
          Dynamic loading lock: <unowned>
          Monitor IO lock: <unowned>
          User signal monitor: <unowned>
          Child death monitor: <unowned>
          I/O monitor: <unowned>
          Alarm monitor: <unowned>
              Waiting to be notified:
                  <unknown thread> (0x2bc48)
          Thread queue lock: owner "Signal dispatcher" (0x62e28) 1 entry
          Monitor registry: owner "Signal dispatcher" (0x62e28) 1 entry

            never Tom Rodriguez
            aefreche Alan Frechette (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: