[
https://issues.apache.org/jira/browse/FTPSERVER-334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17578945#comment-17578945
]
ProfessorZel commented on FTPSERVER-334:
----------------------------------------
I am getting same problem, my app hangs on STOR
With dataConnectionConfigurationFactory.setIdleTime(1000); just hangs on this
forever
2022-08-12 15:19:17.705 INFO 296791 --- [pool-3-thread-1]
o.a.f.listener.nio.FtpLoggingFilter : RECEIVED: CWD dirOnFtps
2022-08-12 15:19:17.706 INFO 296791 --- [pool-3-thread-2]
o.a.f.listener.nio.FtpLoggingFilter : SENT: 250 Directory changed to
/dirOnFtps
2022-08-12 15:19:17.708 INFO 296791 --- [pool-3-thread-1]
o.a.f.listener.nio.FtpLoggingFilter : RECEIVED: PASV
2022-08-12 15:19:17.709 INFO 296791 --- [pool-3-thread-2]
o.a.f.listener.nio.FtpLoggingFilter : SENT: 227 Entering Passive Mode
(127,0,0,1,235,47)
2022-08-12 15:19:17.710 INFO 296791 --- [pool-3-thread-1]
o.a.f.listener.nio.FtpLoggingFilter : RECEIVED: STOR Destination-test.txt
<and it hangs....>
then when terminated, drops exception:
WARN org.apache.ftpserver.impl.IODataConnection - Exception during data
transfer, closing data connection socket
java.net.SocketTimeoutException: Read timed out
With dataConnectionConfigurationFactory.setIdleTime(1);
2022-08-12 15:11:07.498 INFO 287920 --- [pool-3-thread-1]
o.a.f.listener.nio.FtpLoggingFilter : RECEIVED: STOR Destination-test.txt
2022-08-12 15:11:09.526 WARN 287920 --- [ main]
o.a.c.c.file.remote.RemoteFileProducer : Writing file failed with: File
operation failed: 425 Can't open data connection.
Cannot change directory to: /. Code: 425
2022-08-12 15:11:09.526 INFO 287920 --- [pool-3-thread-1]
o.a.f.listener.nio.FtpLoggingFilter : SENT: 150 File status okay; about to
open data connection.
2022-08-12 15:11:09.527 INFO 287920 --- [pool-3-thread-1]
o.a.f.listener.nio.FtpLoggingFilter : RECEIVED: CWD /
2022-08-12 15:11:09.527 INFO 287920 --- [pool-3-thread-1]
o.a.f.listener.nio.FtpLoggingFilter : SENT: 425 Can't open data connection.
2022-08-12 15:11:09.527 INFO 287920 --- [pool-3-thread-1]
o.a.f.listener.nio.FtpLoggingFilter : RECEIVED: QUIT
File size is: 1KB
> Read Timed Out Prior to Idle Timeout
> ------------------------------------
>
> Key: FTPSERVER-334
> URL: https://issues.apache.org/jira/browse/FTPSERVER-334
> Project: FtpServer
> Issue Type: Bug
> Affects Versions: 1.0.2
> Reporter: Nick Padgett
> Priority: Major
>
> I receive a read timeout when I attempt to passively ftp a file that is
> longer than the idle timeout. The file makes it to the server in its
> entirety and then throws a read timeout. The input and output sockets need
> to be kept in sync. I.e. the input socket shouldn't timeout if the output
> socket was used within the idle timeout. Similarly, the output socket
> shouldn't timeout if the input socket was used withing the idle timeout.
> <code>
> 1304157934 [pool-2-thread-455] INFO
> org.apache.ftpserver.listener.nio.FtpLoggingFilter - RECEIVED: USER glattig
> 1304158004 [pool-2-thread-455] INFO
> org.apache.ftpserver.listener.nio.FtpLoggingFilter - RECEIVED: PASS *****
> 1304158005 [pool-2-thread-455] INFO org.apache.ftpserver.command.impl.PASS
> - Login success - glattig
> 1304158044 [pool-2-thread-455] INFO
> org.apache.ftpserver.listener.nio.FtpLoggingFilter - RECEIVED: OPTS utf8 on
> 1304158083 [pool-2-thread-455] INFO
> org.apache.ftpserver.listener.nio.FtpLoggingFilter - RECEIVED: PWD
> 1304158122 [pool-2-thread-455] INFO
> org.apache.ftpserver.listener.nio.FtpLoggingFilter - RECEIVED: CWD
> /1037/2009/09/14/
> 1304158163 [pool-2-thread-455] INFO
> org.apache.ftpserver.listener.nio.FtpLoggingFilter - RECEIVED: TYPE I
> 1304158202 [pool-2-thread-455] INFO
> org.apache.ftpserver.listener.nio.FtpLoggingFilter - RECEIVED: PASV
> 1304158281 [pool-2-thread-455] INFO
> org.apache.ftpserver.listener.nio.FtpLoggingFilter - RECEIVED: STOR
> 6928_uUKgWHvc_event.wmv
> 1306180855 [pool-2-thread-455] WARN
> org.apache.ftpserver.impl.IODataConnection - Exception during data transfer,
> closing data connection socket
> java.net.SocketTimeoutException: Read timed out
> at java.net.SocketInputStream.socketRead0(Native Method)
> at java.net.SocketInputStream.read(SocketInputStream.java:129)
> at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
> at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
> at java.io.FilterInputStream.read(FilterInputStream.java:90)
> at
> org.apache.ftpserver.impl.IODataConnection.transfer(IODataConnection.java:243)
> at
> org.apache.ftpserver.impl.IODataConnection.transferFromClient(IODataConnection.java:136)
> at org.apache.ftpserver.command.impl.STOR.execute(STOR.java:146)
> at
> org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:210)
> at
> org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:61)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:721)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:433)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:801)
> at
> org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:85)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:433)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:801)
> at
> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
> at
> org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:136)
> at
> org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:70)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:433)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:801)
> at
> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
> at
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:433)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
> at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:801)
> at
> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
> at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
> at
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:801)
> at
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:793)
> at
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:735)
> at java.lang.Thread.run(Thread.java:619)
> </code>
> From spring.xml:
> <code>
> <bean id="dataConnectionConfigurationFactory"
> class="org.apache.ftpserver.DataConnectionConfigurationFactory">
> <property name="activeEnabled" value="true" />
> <property name="activeIpCheck" value="false" />
> <property name="idleTime" value="60" />
> ...
> </bean>
> ...
> <bean id="listenerFactory"
> class="org.apache.ftpserver.listener.ListenerFactory">
> <property name="idleTimeout" value="300" />
> ...
> </bean>
> ...
> </code>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]