Uploaded image for project: 'Commons Net'
  1. Commons Net
  2. NET-31

[net] Freeze during FTP connect

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.4
    • 2.0
    • 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

      Attachments

        Activity

          People

            Unassigned Unassigned
            thomasgt96-java@yahoo.com ThomasGt
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: