Skip to content
This repository was archived by the owner on Jul 24, 2021. It is now read-only.
This repository was archived by the owner on Jul 24, 2021. It is now read-only.

Exception on scripted input #6

@phemmer

Description

@phemmer

When sending scripted input, where the client shuts down immediately after sending the input, an exception is generated:

[20:21:45 WARN]: java.util.logging.ErrorManager: 2
[20:21:45 WARN]: org.apache.sshd.common.channel.exception.SshChannelClosedException: write(ChannelOutputStream[ChannelSession[id=2, recipient=4]-ServerSessionImpl[feystorm@/0:0:0:0:0:0:0:1:38962]] SSH_MSG_CHANNEL_DATA) len=94 - channel already closed
[20:21:45 WARN]: 	at org.apache.sshd.common.channel.ChannelOutputStream.write(ChannelOutputStream.java:110)
[20:21:45 WARN]: 	at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
[20:21:45 WARN]: 	at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
[20:21:45 WARN]: 	at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
[20:21:45 WARN]: 	at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
[20:21:45 WARN]: 	at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
[20:21:45 WARN]: 	at java.util.logging.StreamHandler.flush(StreamHandler.java:259)
[20:21:45 WARN]: 	at com.ryanmichela.sshd.FlushyStreamHandler.flush(FlushyStreamHandler.java:35)
[20:21:45 WARN]: 	at com.ryanmichela.sshd.FlushyStreamHandler.publish(FlushyStreamHandler.java:27)
[20:21:45 WARN]: 	at com.ryanmichela.sshd.StreamHandlerAppender.append(StreamHandlerAppender.java:45)
[20:21:45 WARN]: 	at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
[20:21:45 WARN]: 	at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
[20:21:45 WARN]: 	at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
[20:21:45 WARN]: 	at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
[20:21:45 WARN]: 	at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:448)
[20:21:45 WARN]: 	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:433)
[20:21:45 WARN]: 	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417)
[20:21:45 WARN]: 	at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:79)
[20:21:45 WARN]: 	at org.apache.logging.log4j.core.async.AsyncLogger.actualAsyncLog(AsyncLogger.java:337)
[20:21:45 WARN]: 	at org.apache.logging.log4j.core.async.RingBufferLogEvent.execute(RingBufferLogEvent.java:161)
[20:21:45 WARN]: 	at org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:45)
[20:21:45 WARN]: 	at org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:29)
[20:21:45 WARN]: 	at com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:168)
[20:21:45 WARN]: 	at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125)
[20:21:45 WARN]: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[20:21:45 WARN]: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[20:21:45 WARN]: 	at java.lang.Thread.run(Thread.java:748)

I'm guessing this is because it's trying to send a response but the client has already hung up.

You can reproduce with:

ssh -p 1234 user@host <<'EOF'
say hello
EOF

Metadata

Metadata

Assignees

No one assigned

    Labels

    ConfirmedBug is confirmed by developersbugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions