Concurrent AIO SFTP read with proxyjump stalls

Hello team,

First of all, thank you for maintaining libssh and providing such a great library.

I have found an issue related to SFTP async read when using proxyjump.

When transferring data over proxyjump with sftp_aio_begin_read() and sftp_aio_wait_read() concurrently, sftp_aio_wait_read() gets stuck at poll. This does not occur without concurrency (a single in-flight read request at a time), even if the AIO read API is used and proxyjump is set. Also, if proxyjump is not set, the issue does not occur.

A minimal example to reproduce the issue is here: https://gist.github.com/upa/936eb750743fda2b611f4d0262a9a62c, jump_sftp_read.c.

In addition, the issue also happens with the old sftp_async_read API and 0.11.2, and it does not occur with the old API and 0.10.6 (I noticed the issue when migrating mscp from 0.10.6 with the old API to 0.11.2 with the new one).

Assignee Loading
Time tracking Loading