commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rory Winston <rwins...@eircom.net>
Subject Re: [NET] listFiles throws SocketException: Connection reset even in passive mode
Date Wed, 03 Jan 2007 22:07:50 GMT
Hi Cyril

Can you try again with 2.0, but this time can you attach a 
PrintCommandListener to the FTPClient instance? You can see how to do 
this here:

FTPClient client = new FTPClient();
client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));


This will log all FTP traffic to stdout. When you have done this, can you send the relevant
output?

A more comprehensive way to try and locate the problem is to download the source distribution
as well:

http://people.apache.org/~rwinston/commons-net-2.0/commons-net-2.0.0-SNAPSHOT-src.zip

And then run your test program from within your IDE, after attaching a breakpoint at the relevant
location. 

Is the FTP server in question publicly accessible?

Thanks
Rory









Cyril Bouteille wrote:
> Hi Rory,
> I just tried your 2.0 snapshot and I'm getting the exact same issue 
> (see log below).
> I'm assuming I'm using the new jar correctly as the line #s in the 
> stack trace have changed, but please let me know if it's not the case.
> Any other idea? Is there any way to turn on debug logging for this lib?
> Thank you,
>
> INFO 08:58:06 MailScanJob.runJob: Connected to ftp.envmgr.com as xxx --
> 220 envmgr2 Microsoft FTP Service (Version 5.0).
> 331 Password required for xxx
> 230-Welcome to Envelope Manager FTP
> 230 User xxx logged in.
> INFO 08:58:06 MailScanJob.runJob: MailScan Folder: /confirm
> INFO 08:58:08 MailScanJob.processMailScans: Retrieving list of files 
> in directory...
> SEVERE 09:01:20 MailScanJob.runJob: MailScanJob.runJob: Exception 
> java.net.SocketException: Connection reset
> java.net.SocketException: Connection reset
>        at java.net.SocketInputStream.read(SocketInputStream.java:168)
>        at 
> sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411)
>        at 
> sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453)
>        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)
>        at java.io.InputStreamReader.read(InputStreamReader.java:167)
>        at java.io.BufferedReader.fill(BufferedReader.java:136)
>        at java.io.BufferedReader.readLine(BufferedReader.java:299)
>        at java.io.BufferedReader.readLine(BufferedReader.java:362)
>        at 
> org.apache.commons.net.ftp.FTPFileEntryParserImpl.readNextEntry(FTPFileEntryParserImpl.java:53)

>
>        at 
> org.apache.commons.net.ftp.FTPListParseEngine.readStream(FTPListParseEngine.java:152)

>
>        at 
> org.apache.commons.net.ftp.FTPListParseEngine.readServerList(FTPListParseEngine.java:100)

>
>        at 
> org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2314) 
>
>        at 
> org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2281) 
>
>        at 
> org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2058)
>        at 
> org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2105)
>        at 
> peerflix.job.trade.MailScanJob.processMailScans(MailScanJob.java:136)
>        at peerflix.job.trade.MailScanJob.runJob(MailScanJob.java:87)
>        at peerflix.job.PfxJob.main(PfxJob.java:97)
>
>
> Rory Winston wrote:
>> Hi Cyril
>>
>> If you are running Java 1.5 or later, you can try the latest snapshot 
>> of commons-net 2.0 and see if that fixes the issue:
>>
>> http://people.apache.org/~rwinston/commons-net-2.0/commons-net-2.0.0-SNAPSHOT.jar

>>
>>
>> Rory
>>
>> Cyril Bouteille wrote:
>>> Thanks for your reply Mark.
>>> This exception occurs on a simple 'ls' (listFiles()) in a directory 
>>> with less than 100 files. This command returns within a couple 
>>> seconds @ ftp cli. But the commons.net program can hang for hours 
>>> and then exit with this "connection reset" exception.
>>> We do use the same FTP server in dev and prod. It's one from the 
>>> USPS. Only the client network and machine the commons.net program 
>>> runs on is different.
>>> It feels like a network connectivity issue, but I don't understand 
>>> how the ftp cli and commons.net library behave differently in a way 
>>> explaining this...
>>> Any idea?
>>>
>>> Mark Fortner wrote:
>>>> Sounds like your production environment has different FTP socket 
>>>> timeout settings.  Does this exception occur with a large file in 
>>>> your production environment?  If so, is that same file available in 
>>>> your dev environment?
>>>>
>>>> You may want to compare the settings on FTP servers and make sure 
>>>> they're the same.
>>>>
>>>> Hope this helps,
>>>>
>>>> Mark
>>>>
>>>> PS Don't forget to prefix the subject lines of your email with 
>>>> "[VFS]" as this list is shared by a lot of different groups.
>>>>
>>>> On Friday, December 29, 2006, at 07:57 PM, Cyril Bouteille wrote:
>>>>
>>>>> Hello,
>>>>> I've a Java 1.5 program retrieving files over ftp using net 1.4.1, 
>>>>> which works fine in our dev environment, but throws the exception 
>>>>> below in our production environment on the listFiles() call.
>>>>> 1) I am calling enterLocalPassiveMode() to use passive mode, and
>>>>> 2) I'm able to list files with the ftp cli client on the same 
>>>>> production machine that the Java program is running on, so network 
>>>>> ACLs seem ok
>>>>> Is there anything else I am missing?
>>>>> I'm at loss on how to resolve this issue and would appreciate your 
>>>>> input.
>>>>> Thanks,
>>>>>
>>>>> SEVERE 16:13:14 MailScanJob.runJob: Exception 
>>>>> java.net.SocketException: Connection reset
>>>>> java.net.SocketException: Connection reset
>>>>>     at java.net.SocketInputStream.read(SocketInputStream.java:168)
>>>>>     at 
>>>>> sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411)
>>>>>     at 
>>>>> sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453)
>>>>>     at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)
>>>>>     at java.io.InputStreamReader.read(InputStreamReader.java:167)
>>>>>     at java.io.BufferedReader.fill(BufferedReader.java:136)
>>>>>     at java.io.BufferedReader.readLine(BufferedReader.java:299)
>>>>>     at java.io.BufferedReader.readLine(BufferedReader.java:362)
>>>>>     at 
>>>>> org.apache.commons.net.ftp.FTPFileEntryParserImpl.readNextEntry(FTPFileEntryParserImpl.java:95)

>>>>>
>>>>>     at 
>>>>> org.apache.commons.net.ftp.FTPListParseEngine.readStream(FTPListParseEngine.java:150)

>>>>>
>>>>>     at 
>>>>> org.apache.commons.net.ftp.FTPListParseEngine.readServerList(FTPListParseEngine.java:98)

>>>>>
>>>>>     at 
>>>>> org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2396)

>>>>>
>>>>>     at 
>>>>> org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2364)

>>>>>
>>>>>     at 
>>>>> org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2141)
>>>>>     at 
>>>>> org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2188)
>>>>>     at 
>>>>> peerflix.job.trade.MailScanJob.processMailScans(MailScanJob.java:136)
>>>>>     at peerflix.job.trade.MailScanJob.runJob(MailScanJob.java:87)
>>>>>     at peerflix.job.PfxJob.main(PfxJob.java:97)
>>>>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message