FTP Client API Hangs - Attached Scenario.
-----------------------------------------
Key: NET-160
URL: https://issues.apache.org/jira/browse/NET-160
Project: Commons Net
Issue Type: Bug
Affects Versions: 1.4
Environment: Suse Enterprise Linux 9.0, Intel
Reporter: Lvenkataraman
FTP client hangs with the following error. Here is the truss output. The
client hangs indefinitely and no work is being done other than this error when
you truss the process. I use Java 1.5 to run this. We wrote a long-running
ftp daemon and this happens after 20-23 hours of continuous running.
Here is the code to pull files from the ftp server. This one lists files that
are received after this particular "incal" time (currently it lists but the
intention is to implement an incremental download). We initially thought doing
periodic noop would keep the client alive by sending dummy commands to the
server. But we found this probelm still occurs.
public void ListIncrementalFiles (String directory, Calendar incal)
{
try
{
FTPFile[] files = listFiles(directory);
int total_files = 0;
System.out.println("FileName\tFileSize\t\tDate Time
Stamp");
for (int i = 0; i < files.length; i++)
{
FTPFile file = files[i];
if ((i % 1000) == 0)
{
System.out.println("noop
occurred at this instance---> " + i + "\n");
noop();
}
if (file.isFile())
{
Calendar c =
file.getTimestamp();
if (c.after(incal) ||
c.equals(incal))
{
System.out.println(file.getName() + "\t" + file.getSize() + "\t\t" +
c.getTime());
total_files++;
}
}
}
System.out.println("Total Files in the listing ----> "
+ total_files);
}
catch (Exception e)
{
System.out.println("FTP Getfiles exception occured");
e.printStackTrace();
}
}
---------------------------------------------------------------------------------------------------------------------------------Truss
output begins--------------------------------------------------------
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/6: lwp_cond_wait(0x00035F08, 0x00035EF0, 0xB477FBE0, 0) Err#62 ETIME
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/9: lwp_park(0x00000000, 0) (sleeping...)
/3: lwp_cond_wait(0x000B77C0, 0x000B77A8, 0x00000000, 0) (sleeping...)
/8: lwp_cond_wait(0x0014A908, 0x0014A8F0, 0x00000000, 0) (sleeping...)
/10: lwp_cond_wait(0x000366E8, 0x000366D0, 0x00000000, 0) (sleeping...)
/1: pollsys(0x00000000, 0, 0xFFBFEB60, 0x00000000) (sleeping...)
/11: lwp_cond_wait(0x00036778, 0x00036760, 0x00000000, 0) (sleeping...)
/4: lwp_cond_wait(0x000B77C0, 0x000B77A8, 0x00000000, 0) (sleeping...)
/12: lwp_cond_wait(0x00036778, 0x00036760, 0x00000000, 0) (sleeping...)
/2: lwp_cond_wait(0x000B77C0, 0x000B77A8, 0x00000000, 0) (sleeping...)
/7: lwp_cond_wait(0x00149F98, 0x00149F80, 0x00000000, 0) (sleeping...)
/5: lwp_cond_wait(0x000B77C0, 0x000B77A8, 0x00000000, 0) (sleeping...)
/13: lwp_cond_wait(0x00034958, 0x00034940, 0x00000000, 0) (sleeping...)
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/6: lwp_cond_wait(0x00035F08, 0x00035EF0, 0xB477FBE0, 0) Err#62 ETIME
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/6: lwp_cond_wait(0x00035F08, 0x00035EF0, 0xB477FBE0, 0) Err#62 ETIME
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/6: lwp_cond_wait(0x00035F08, 0x00035EF0, 0xB477FBE0, 0) Err#62 ETIME
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/6: lwp_cond_wait(0x00035F08, 0x00035EF0, 0xB477FBE0, 0) Err#62 ETIME
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/6: lwp_cond_wait(0x00035F08, 0x00035EF0, 0xB477FBE0, 0) Err#62 ETIME
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/6: lwp_cond_wait(0x00035F08, 0x00035EF0, 0xB477FBE0, 0) Err#62 ETIME
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
/14: pollsys(0x00000000, 0, 0xB3F7FC10, 0x00000000) = 0
------------------------------------------------------------------------------------------Truss
output
ends-------------------------------------------------------------------------------------------
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]