Reader threads keep prevent programs from exiting
- Dominant language
- Java
- Stars
- 2.7k
- Forks
- 620
- Avg merge
- 3d 23h
- Merged PRs (30d)
- 11
Description
The client requires explicit call of `close()` before a program finalization. Otherwise the application hangs up with these threads:
```
"sftp reader" #13 prio=5 os_prio=0 tid=0x00007feedc730ea0 nid=0x2517 in Object.wait() [0x00007fee9a8ba000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x0000000083c09c70> (a net.schmizz.sshj.common.Buffer$PlainBuffer)
at java.lang.Object.wait(Object.java:502)
at net.schmizz.sshj.connection.channel.ChannelInputStream.read(ChannelInputStream.java:103)
- locked <0x0000000083c09c70> (a net.schmizz.sshj.common.Buffer$PlainBuffer)
at net.schmizz.sshj.sftp.PacketReader.readIntoBuffer(PacketReader.java:51)
at net.schmizz.sshj.sftp.PacketReader.getPacketLength(PacketReader.java:59)
at net.schmizz.sshj.sftp.PacketReader.readPacket(PacketReader.java:75)
at net.schmizz.sshj.sftp.PacketReader.run(PacketReader.java:87)
"reader" #11 prio=5 os_prio=0 tid=0x00007fb88474fc20 nid=0x25ee runnable [0x00007fb8512b5000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at net.schmizz.sshj.transport.Reader.run(Reader.java:49)
```
Taking into account that they are reader threads would be great to daemonize them or something like that to prevent the unintuitive behavior.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.