commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cyril Bouteille <cy...@peerflix.com>
Subject Re: [NET] listFiles throws SocketException: Connection reset even in passive mode
Date Mon, 08 Jan 2007 18:57:51 GMT
Hi Rory,
Please find below the output of the listener. Let me know what you think!

220 envmgr2 Microsoft FTP Service (Version 5.0).
USER FTP_USPS_CONFIRM
331 Password required for FTP_USPS_CONFIRM.
PASS ***
230-Welcome to Envelope Manager FTP
230 User FTP_USPS_CONFIRM logged in.
INFO 10:53:44 MailScanJob.runJob: Connected to ftp.envmgr.com as 
FTP_USPS_CONFIRM -- 230-Welcome to Envelope Manager FTP
230 User FTP_USPS_CONFIRM logged in.
CWD /confirm
250 CWD command successful.
PWD
257 "/confirm" is current directory.
INFO 10:53:44 MailScanJob.runJob: MailScan Folder: /confirm
TYPE A
200 Type set to A.
INFO 10:53:46 MailScanJob.processMailScans: Retrieving list of files in 
directory...
SYST
215 Windows_NT version 5.0
PASV
227 Entering Passive Mode (65,203,54,10,5,104).
LIST
125 Data connection already open; Transfer starting.

hangs there for a while... and then blows up with SocketException: 
connection reset.

Rory Winston wrote:
> 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


Mime
View raw message