Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.4
-
None
-
None
-
Operating System: Linux
Platform: Other
-
38160
Description
Several times a day a Java process open FTP connections (using Commons Net) and
some times (approximately twice a week) the process hang until I kill it.
By looking at the dump it seems the lock appears during the connection opening
but I have no clue why it happens.
Here are the information I have :
-------------------------------
FTP client :
- OS "Red Hat Enterprise Linux ES release 3 (Taroon Update 2)"
- Java j2sdk1.4.2_05
FTP server on windows
-------------------------------
Thread dump get through kill -3 on java process :
Full thread dump Java HotSpot(TM) Client VM (1.4.2_05-b04 mixed mode):
"Thread-1" daemon prio=1 tid=0x081e2cc0 nid=0x72c5 runnable [a926e000..a926e87c]
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
- locked <0xaadc0d80> (a java.io.BufferedInputStream)
at java.io.FilterInputStream.read(FilterInputStream.java:66)
at java.io.PushbackInputStream.read(PushbackInputStream.java:120)
at
org.apache.commons.net.io.FromNetASCIIInputStream.__read(FromNetASCIIInputStream.java:75)
at
org.apache.commons.net.io.FromNetASCIIInputStream.read(FromNetASCIIInputStream.java:170)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
at java.io.BufferedInputStream.read(BufferedInputStream.java:201) - locked <0xaadc0028> (a org.apache.commons.net.telnet.TelnetInputStream)
at
org.apache.commons.net.telnet.TelnetInputStream.__read(TelnetInputStream.java:114)
at
org.apache.commons.net.telnet.TelnetInputStream.run(TelnetInputStream.java:535)
at java.lang.Thread.run(Thread.java:534)
"Signal Dispatcher" daemon prio=1 tid=0x0809c440 nid=0x72c5 waiting on condition
[0..0]
"Finalizer" daemon prio=1 tid=0x08097aa0 nid=0x72c5 in Object.wait()
[aabbd000..aabbd87c]
at java.lang.Object.wait(Native Method)
- waiting on <0xab22b7a8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0xab22b7a8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=1 tid=0x08096ef8 nid=0x72c5 in Object.wait()
[aac3e000..aac3e87c]
at java.lang.Object.wait(Native Method)
- waiting on <0xab22b810> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:429)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) - locked <0xab22b810> (a java.lang.ref.Reference$Lock)
"main" prio=1 tid=0x0805ba20 nid=0x72c5 in Object.wait() [bfff9000..bfff9eec]
at java.lang.Object.wait(Native Method)
- waiting on <0xaad40000> (a [I)
at java.lang.Object.wait(Object.java:429)
at
org.apache.commons.net.telnet.TelnetInputStream.read(TelnetInputStream.java:339) - locked <0xaad40000> (a [I)
at
org.apache.commons.net.telnet.TelnetInputStream.read(TelnetInputStream.java:466)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:220)
at java.io.BufferedInputStream.read(BufferedInputStream.java:277) - locked <0xaad42108> (a java.io.BufferedInputStream)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:408)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:450)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:182) - locked <0xaad42988> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299) - locked <0xaad42988> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:264)
at org.apache.commons.net.ftp.FTP.connectAction(FTP.java:335)
at org.apache.commons.net.ftp.FTPClient.connectAction(FTPClient.java:550)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:163)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:250)
at com.cnetchannel.common.ftp.connect(ftp.java:405)
at com.cnetchannel.dataSource.increment(dataSource.java:137)
at com.cnetchannel.dataSource.main(dataSource.java:62)
"VM Thread" prio=1 tid=0x08095c98 nid=0x72c5 runnable
"VM Periodic Task Thread" prio=1 tid=0x0809ec70 nid=0x72c5 waiting on condition
"Suspend Checker Thread" prio=1 tid=0x0809bae8 nid=0x72c5 runnable