[openssl-project] update on sporadic test failures
Bernd Edlinger
bernd.edlinger at hotmail.de
Fri Jan 12 12:56:59 UTC 2018
Hi Richard,
I am not sure if the missing packet may be split between two sysreads,
if that is possible may depend on the linux version.
I used:
Linux version 3.13.0-139-lowlatency (buildd at lgw01-amd64-031) (gcc
version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #188-Ubuntu SMP PREEMPT
Tue Jan 9 15:04:54 UTC 2018
However, if I reduce the buffer space, the test fails every time:
diff --git a/util/perl/TLSProxy/Proxy.pm b/util/perl/TLSProxy/Proxy.pm
index 99b0ded..b436388 100644
--- a/util/perl/TLSProxy/Proxy.pm
+++ b/util/perl/TLSProxy/Proxy.pm
@@ -304,12 +304,12 @@ sub clientstart
}
foreach my $hand (@ready) {
if ($hand == $server_sock) {
- $server_sock->sysread($indata, 16384) or goto END;
+ $server_sock->sysread($indata, 16) or goto END;
$indata = $self->process_packet(1, $indata);
$client_sock->syswrite($indata);
$ctr = 0;
} elsif ($hand == $client_sock) {
- $client_sock->sysread($indata, 16384) or goto END;
+ $client_sock->sysread($indata, 16) or goto END;
$indata = $self->process_packet(0, $indata);
$server_sock->syswrite($indata);
$ctr = 0;
I could imagine that the system returns either a partial message
or both at once under stress.
Bernd.
More information about the openssl-project
mailing list