You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have tried to run them locally and they also fail for the same tests. I have isolated the problem as coming from socat. The sharness tests are passing fine with socat 1.7.4.4, but not with socat 1.8.0.0 and above. There are just 4 tests using socat that are failing, the rest of the sharness tests using socat are passing.
IIUC after 3c9cc3f, we use a more recent ubuntu image in the CI, which comes with socat 1.8.0.0. Before the ubuntu image was probably shipped with an older socat.
I tried to specify the version when installing socat as a dependency, but it didn't work, probably because versions prior to 1.8.0.0 are tagged as unstable by ubuntu noble (ubuntu:latest).
Failures are reported for socat 1.8.0.0, but apparently they were fixed in 1.8.0.1. I am running the latest 1.8.0.2 and the tests still failed. There was probably a change of behaviour between socat 1.7.4.4 and socat 1.8.0.0.
When trying to debug I got the following outputs when running the command with both socat versions in the according test
socat -d -d - tcp:localhost:$SWARM_PORT,connect-timeout=1 >swarmnc <../t0060-data/mss-plaintext
1.7.4.4 (SUCCESSFUL):
2025/01/29 13:00:45 socat[174418] N reading from and writing to stdio
2025/01/29 13:00:45 socat[174418] N opening connection to AF=2 127.0.0.1:40201
2025/01/29 13:00:45 socat[174418] N starting data transfer loop with FDs [0,1] and [9,9]
2025/01/29 13:00:45 socat[174418] N socket 1 (fd 0) is at EOF
2025/01/29 13:00:45 socat[174418] W read(9, 0x5747a4d95000, 8192): Connection reset by peer
2025/01/29 13:00:45 socat[174418] N socket 2 to socket 1 is in error
2025/01/29 13:00:45 socat[174418] N socket 2 (fd 9) is at EOF
2025/01/29 13:00:45 socat[174418] N exiting with status 0
1.8.0.2 (FAILURE):
2025/01/29 13:01:04 socat[175148] N reading from and writing to stdio
2025/01/29 13:01:04 socat[175148] N opening connection to AF=2 127.0.0.1:36491
2025/01/29 13:01:04 socat[175148] N starting data transfer loop with FDs [0,1] and [9,9]
2025/01/29 13:01:04 socat[175148] N write(9, 0x5a0e4ce8f000, 38) completed
2025/01/29 13:01:04 socat[175148] N socket 1 (fd 0) is at EOF
2025/01/29 13:01:04 socat[175148] N write(1, 0x5a0e4ce8f000, 20) completed
2025/01/29 13:01:04 socat[175148] N write(1, 0x5a0e4ce8f000, 18) completed
2025/01/29 13:01:04 socat[175148] N write(1, 0x5a0e4ce8f000, 79) completed
2025/01/29 13:01:04 socat[175148] E read(9, 0x5a0e4ce8f000, 8192): Connection reset by peer
2025/01/29 13:01:04 socat[175148] N exit(1)
The newer version is making more write. Also 1.7.4.4 has a warning W on connection reset by peer, where as 1.8.0.2 has an error E. I didn't find what is the cause of this change. 1.7.4.4 is probably ending on a FIN and 1.8.0.2 on a RST.
It seems like the quick fix is to install socat 1.7.4.4 from source in sharness.yml. Any cleaner suggestions are welcome.
3c9cc3f is not exactly relevant here. It just happened to coincide with the changes to the base images used on self-hosted runners.
Last weekend, we transitioned from using Ubuntu 22.04 to 24.04 on self-hosted runners. A similar change on GitHub hosted runners (ubuntu-latest label), happened earlier in the month.
I was able to make the sharness tests pass again on 24.04 by passing the -s option to socat. I created a PR with that change here: #10683
Checklist
Installation method
built from source
Version
Config
not relevant
Description
Following 3c9cc3f, sharness tests are failing in CI.
I have tried to run them locally and they also fail for the same tests. I have isolated the problem as coming from
socat
. The sharness tests are passing fine withsocat 1.7.4.4
, but not withsocat 1.8.0.0
and above. There are just 4 tests usingsocat
that are failing, the rest of the sharness tests usingsocat
are passing.IIUC after 3c9cc3f, we use a more recent
ubuntu
image in the CI, which comes with socat 1.8.0.0. Before the ubuntu image was probably shipped with an oldersocat
.I tried to specify the version when installing
socat
as a dependency, but it didn't work, probably because versions prior to1.8.0.0
are tagged as unstable byubuntu noble
(ubuntu:latest).Failures are reported for
socat 1.8.0.0
, but apparently they were fixed in1.8.0.1
. I am running the latest1.8.0.2
and the tests still failed. There was probably a change of behaviour betweensocat 1.7.4.4
andsocat 1.8.0.0
.When trying to debug I got the following outputs when running the command with both socat versions in the according test
The newer version is making more
write
. Also1.7.4.4
has a warningW
on connection reset by peer, where as1.8.0.2
has an errorE
. I didn't find what is the cause of this change.1.7.4.4
is probably ending on aFIN
and1.8.0.2
on aRST
.It seems like the quick fix is to install
socat 1.7.4.4
from source in sharness.yml. Any cleaner suggestions are welcome.cc: @galargh
The text was updated successfully, but these errors were encountered: