[
https://issues.apache.org/jira/browse/SSHD-85?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16059947#comment-16059947
]
Goldstein Lyor commented on SSHD-85:
------------------------------------
I have imported some of the code you posted and am getting unit-test failures.
Please clone/fork https://github.com/lgoldstein/mina-sshd and select SSHD-85
branch. You will find your original code with some minor changes that IMO
should not have impacted them.
{{org.apache.sshd.common.forward.AbstractServerCloseTestSupport.testLocalPortForwardLoop()}}
fails when I run it in Eclipse - BTW, my environment is Windows 10 + Oracle
Java 1.8.0_131
{noformat}
java.lang.AssertionError: Mismatched data length expected:<7800> but was:<0>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:645)
at
org.apache.sshd.common.forward.AbstractServerCloseTestSupport.readInLoop(AbstractServerCloseTestSupport.java:127)
at
org.apache.sshd.common.forward.AbstractServerCloseTestSupport.testLocalPortForwardLoop(AbstractServerCloseTestSupport.java:223)
{noformat}
> Port Forward closes connection before all bytes are sent
> --------------------------------------------------------
>
> Key: SSHD-85
> URL: https://issues.apache.org/jira/browse/SSHD-85
> Project: MINA SSHD
> Issue Type: Bug
> Affects Versions: 0.2.0, 1.4.0, 1.6.0
> Environment: Windows or Linux, JSCH Client
> Reporter: Bill Kuker
> Assignee: Goldstein Lyor
> Attachments: MINA-Port-Forward.txt, SSHD-85_testcase.txt
>
>
> When I am forwarding connections from a Client to a port on the SSH Server
> through the SSH Client to a Remote Server on the SSH Client network:
> Client --(a)---> SSH Server <===[ssh]===> SSH Client --(b)--> Remote Server
> if the Remote Server sends some bytes and immediately closes the connection
> (b) to the SSH Client the SSH Server will close the connection (a) to the
> client before all of those bytes are sent to the SSH Client.
> This is probably a race condition. If I run one connection at a time it works
> 99% of the time, but if I use a load generator (a completely separate
> process) to max out all 4 cores I can make it fail (I do not get all the
> bytes from Remote Server at Client) 99% of the time. Also by running about
> 100 simultaneous requests I get maybe a 20% failure rate.
> If the Remote Server is something like Telnet (Open for a while, user closes
> connection) everything seems fine, but the the Remote Server is a web server
> with keep alive disabled, and many small requests are made, many images,
> htmls, css are truncated.
> Sorry I can't be more precise with this, but I hope anyone else having a
> similar trouble can help fill out this bug with details.
> *Update in 2017*
> I have provided a maven project with a unit test that has a 100% failure rate
> on my desktop without resorting to creating artificial load. It is a lot
> simpler:
> https://github.com/bkuker/sshd-85
> https://github.com/bkuker/sshd-85/blob/master/src/main/java/com/billkuker/sshd/sshd85/TheTest.java
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)