Skip to content

[JENKINS-23110] additional ssh command before ssh command that starts agent.jar results in StreamCorruptedException: invalid stream header: 090CACED #124

@jenkins-infra-bot

Description

@jenkins-infra-bot

I am using the option for creating slaves through command executed on master.

This is the error:

<===[JENKINS REMOTING CAPACITY]===>Exception in thread "main" java.io.StreamCorruptedException: invalid stream header: 090CACED
	at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:804)
	at java.io.ObjectInputStream.(ObjectInputStream.java:299)
	at hudson.remoting.ObjectInputStreamEx.(ObjectInputStreamEx.java:40)
	at hudson.remoting.ChannelBuilder.makeTransport(ChannelBuilder.java:259)
	at hudson.remoting.ChannelBuilder.negotiate(ChannelBuilder.java:220)
	at hudson.remoting.ChannelBuilder.build(ChannelBuilder.java:149)
	at hudson.remoting.Launcher.main(Launcher.java:507)
	at hudson.remoting.Launcher.runWithStdinStdout(Launcher.java:457)
	at hudson.remoting.Launcher.run(Launcher.java:238)
	at hudson.remoting.Launcher.main(Launcher.java:192)

ERROR: Unexpected error in launching a slave. This is probably a bug in Jenkins
hudson.remoting.RequestAbortedException: hudson.remoting.RequestAbortedException: java.io.IOException: Unexpected EOF
	at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:41)
	at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:34)
	at hudson.remoting.Request.call(Request.java:174)
	at hudson.remoting.Channel.call(Channel.java:739)
	at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:443)
	at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:339)
	at hudson.slaves.CommandLauncher.launch(CommandLauncher.java:122)
	at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:222)
	at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)
ERROR: Connection terminated
java.io.IOException: Unexpected EOF
	at hudson.remoting.ChunkedInputStream.readUntilBreak(ChunkedInputStream.java:90)
	at hudson.remoting.ChunkedCommandTransport.readBlock(ChunkedCommandTransport.java:33)
	at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34)
	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
Caused by: hudson.remoting.RequestAbortedException: java.io.IOException: Unexpected EOF
	at hudson.remoting.Request.abort(Request.java:299)
	at hudson.remoting.Channel.terminate(Channel.java:802)
	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:69)
Caused by: java.io.IOException: Unexpected EOF
	at hudson.remoting.ChunkedInputStream.readUntilBreak(ChunkedInputStream.java:90)
	at hudson.remoting.ChunkedCommandTransport.readBlock(ChunkedCommandTransport.java:33)
	at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34)
	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)

I have captured (with a `tee` command) this output sent by the slave:

<===[JENKINS REMOTING CAPACITY]===>rO0ABXNyABpodWRzb24ucmVtb3RpbmcuQ2FwYWJpbGl0eQAAAAAAAAABAgABSgAEbWFza3hwAAAAAAAAAP4=

I have tried slave options like -text and definition of encoding without success.
My integration with Jenkins has come to a dead end


Originally reported by gdm85, imported from: additional ssh command before ssh command that starts agent.jar results in StreamCorruptedException: invalid stream header: 090CACED
  • status: Open
  • priority: Major
  • component(s): command-launcher-plugin
  • resolution: Unresolved
  • votes: 1
  • watchers: 5
  • imported: 20251215-193512
Raw content of original issue

I am using the option for creating slaves through command executed on master.

This is the error:

<===[JENKINS REMOTING CAPACITY]===>Exception in thread "main" java.io.StreamCorruptedException: invalid stream header: 090CACED
	at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:804)
	at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)
	at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:40)
	at hudson.remoting.ChannelBuilder.makeTransport(ChannelBuilder.java:259)
	at hudson.remoting.ChannelBuilder.negotiate(ChannelBuilder.java:220)
	at hudson.remoting.ChannelBuilder.build(ChannelBuilder.java:149)
	at hudson.remoting.Launcher.main(Launcher.java:507)
	at hudson.remoting.Launcher.runWithStdinStdout(Launcher.java:457)
	at hudson.remoting.Launcher.run(Launcher.java:238)
	at hudson.remoting.Launcher.main(Launcher.java:192)

ERROR: Unexpected error in launching a slave. This is probably a bug in Jenkins
hudson.remoting.RequestAbortedException: hudson.remoting.RequestAbortedException: java.io.IOException: Unexpected EOF
	at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:41)
	at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:34)
	at hudson.remoting.Request.call(Request.java:174)
	at hudson.remoting.Channel.call(Channel.java:739)
	at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:443)
	at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:339)
	at hudson.slaves.CommandLauncher.launch(CommandLauncher.java:122)
	at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:222)
	at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)
ERROR: Connection terminated
java.io.IOException: Unexpected EOF
	at hudson.remoting.ChunkedInputStream.readUntilBreak(ChunkedInputStream.java:90)
	at hudson.remoting.ChunkedCommandTransport.readBlock(ChunkedCommandTransport.java:33)
	at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34)
	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
Caused by: hudson.remoting.RequestAbortedException: java.io.IOException: Unexpected EOF
	at hudson.remoting.Request.abort(Request.java:299)
	at hudson.remoting.Channel.terminate(Channel.java:802)
	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:69)
Caused by: java.io.IOException: Unexpected EOF
	at hudson.remoting.ChunkedInputStream.readUntilBreak(ChunkedInputStream.java:90)
	at hudson.remoting.ChunkedCommandTransport.readBlock(ChunkedCommandTransport.java:33)
	at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34)
	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)

I have captured (with a `tee` command) this output sent by the slave:

<===[JENKINS REMOTING CAPACITY]===>rO0ABXNyABpodWRzb24ucmVtb3RpbmcuQ2FwYWJpbGl0eQAAAAAAAAABAgABSgAEbWFza3hwAAAAAAAAAP4=

I have tried slave options like -text and definition of encoding without success. My integration with Jenkins has come to a dead end

  • environment: Jenkins 1.563 running with OpenJDK 7

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions