-
Bug
-
Resolution: Duplicate
-
P2
-
None
-
1.2.0
-
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
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
- duplicates
-
JDK-4168586 Regression: TCP broken on SOLARIS in JDK1.2FCS-G build. Performance and hangs.
-
- Closed
-