We have a strange problem in Solaris 11.4.
The problem arise when a code as the following is run from Perl
my $emptystring = "";
syswrite STDOUT, $emptystring;
The execution of a syswrite call with an empty variable provoques that the OpenSSH session is killed :-(
The problem is new for us, and it's arise after the migration from Solaris 11.3 to Solaris 11.4 and with OpenSSH 8.1 (with previous 7.9 version the problem is not there)
This error occurs only if the output is the standard output. If the output of the script is redirected to a file everything works ok
If the script is traced with truss the error occurs in a write call like this one:
23886: write(1, 0x004B6450, 0) = 0
The write call shown is for when everything is ok, when the error arises the session is killed and the truss output is stopped et this line and everything after is not shown.
Any idea?