-
-
Notifications
You must be signed in to change notification settings - Fork 8.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JENKINS-52729] Launcher.ProcStarter.stdout(TaskListener) discards remotability #3563
[JENKINS-52729] Launcher.ProcStarter.stdout(TaskListener) discards remotability #3563
Conversation
Sigh, apparently |
… it is a cmd.exe built-in.
FTR this call seems to be what would be used by typical freestyle build steps. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it would be nice to get it fixed in the context of External Logging stories. In #3557 reference impls I work it around by creating my own Launcher, but such approach would be much better
@@ -295,7 +297,9 @@ public ProcStarter stdout(@CheckForNull OutputStream out) { | |||
* @return {@code this} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It makes sense to explicitly set the requirement that the class is remotable in Javadoc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All TaskListener
implementations are expected to be remotable but I will clarify this in Javadoc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By the way, stederr()
has identical problem. I suggest fixing it here as well so that we do not get into surprises with some implementations really using 2 streams
OTOH we could create a follow-up task for stederr |
It does not—there is no
The implementations we care about ( There are some calls which currently call I did find one possible bug in the |
…tdout(OutputStream), which was true for local but not remote launchers.
Test failure is a common flake:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, let's merge it as is. Public API does not change here, so we can fix STDERR in a follow-up if I discover the usa-case for it
See JENKINS-52729.
I suspect there is also a lower-priority encoding bug here, but I am not bothering with that for now.
Proposed changelog entries
Launcher.ProcStarter.stdout(TaskListener)
did not properly send its argument over a Remoting channel to an agent.