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]

Reply via email to