Commit 6e03d30558 for openssl.org

commit 6e03d305580a57160466cdf4a22e2a59c1dd3aa5
Author: Mounir IDRASSI <mounir.idrassi@idrix.fr>
Date:   Fri Oct 2 20:40:45 2026 +0900

    Revert "Don't let stderr block when filling up."

    This reverts commit 0fff0090507a205e6d37072d6ea151b68d0f74b6.

    That commit discarded command stderr without an explicit redirection
    under the default non-verbose harness. This hides diagnostics, including
    LeakSanitizer reports from failing commands in sanitizer CI jobs.

    Restore command stderr to the harness's existing reporting path, retaining
    the VMS-only null-device redirection and explicit recipe redirections.
    The harness can then show diagnostics for failed assertions, including
    when a command succeeds but an assertion about its captured stdout fails.
    Passing full-suite runs produced no additional diagnostic output.

    This depends on the preceding callback fix. Without it, restoring stderr
    also restores quadratic processing of that output. On Linux, the fix
    removes a slowdown with the blocked-writer signature reported in #32128.
    Native OpenBSD and macOS confirmation remains outstanding.

    Assisted-by: Claude Code:claude-opus-5-5
    Assisted-by: Codex:gpt-6-astra
    Reviewed-by: Jakub Zelenka <jakub.zelenka@openssl.foundation>
    Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
    Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
    Merge-date: Tue Oct  6 16:04:02 2026
    Merged-from: https://github.com/openssl/openssl/pull/33078

diff --git a/util/perl/OpenSSL/Test.pm b/util/perl/OpenSSL/Test.pm
index 9fb0f16e83..ca27dd4e00 100644
--- a/util/perl/OpenSSL/Test.pm
+++ b/util/perl/OpenSSL/Test.pm
@@ -1396,13 +1396,11 @@ sub __decorate_cmd {

     my $display_cmd = "$cmdstr$stdin$stdout$stderr";

-    # Under a non-verbose harness nothing drains the command's stderr, so a
-    # chatty command can fill the pipe buffer and then block forever waiting
-    # for a reader that never comes.  Send it to the null device unless the
-    # recipe asked for a specific redirection.  On VMS this also keeps
-    # program output from escaping TAP::Parser.
-    $stderr=" 2> ".$null
-        unless $stderr || !$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE};
+    # VMS program output escapes TAP::Parser
+    if ($^O eq 'VMS') {
+        $stderr=" 2> ".$null
+            unless $stderr || !$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE};
+    }

     $cmdstr .= "$stdin$stdout$stderr";