A couple of weeks ago we got reported a big recurrent failure on CI jobs while cloning using iceberg/libgit https://github.com/pharo-project/pharo/issues/11481.
TL;DR; So far (Friday ~17h Paris time) we managed to get everything up and running. A new VM is being released by our CI, all pull requests are issued and we should have everything integrated by tonight. =-=-=-=-=-=-=-= More on the situation: Errors happened randomly with ``` error reading from the zlib stream ``` or ``` bad packet length ``` Several people helped in getting a reliable script to reproduce the issue, plus some instructions to produce a reproduction environment using a docker container. With that in our hands, we managed to corner the issue to a new incompatibility between old libgit2 versions, ssh2, OpenSSL, and (at least) Github. After testing some configurations, we decided to upgrade the libgit and related binaries to newer versions: - libgit 1.4.4 - libssh 1.9.0 - OpenSSL 1.1.1k This was of course not as straightforward as we would have liked. Libgit2 1.4.4 was not compatible with its older versions and broke our ffi bindings. We needed to provide new VM binaries for all our major platforms, make a new VM release, upgrade the libgit2 bindings, and make releases of the libgit2 bindings, iceberg, and backport to Pharo 10 and Pharo 9. TL;DR; So far (Friday ~17h Paris time) we managed to get everything up and running. A new VM is being released by our CI, all pull requests are issued and we should have everything integrated by tonight. Libgit+related compilation instructions are updated in the VM wiki https://github.com/pharo-project/pharo-vm/wiki/Building-OSX-ARM64-Third-Party-Dependencies https://github.com/pharo-project/pharo-vm/wiki/Building-OSX-X86_64-Third-Party-Dependencies https://github.com/pharo-project/pharo-vm/wiki/Building-Linux-ARM64-Third-Party-Dependencies https://github.com/pharo-project/pharo-vm/wiki/Building-Linux-ARM32-Third-Party-Dependencies Libgit bindings Upgrade changes: https://github.com/pharo-vcs/libgit2-pharo-bindings/commit/0e0100f7d0f3a11c3170d2f19a984a54c01a294b release: https://github.com/pharo-vcs/libgit2-pharo-bindings/releases/tag/v2.2.6 Iceberg Upgrade pr: https://github.com/pharo-vcs/iceberg/pull/1605 release: https://github.com/pharo-vcs/iceberg/releases/tag/v2.0.7 Upgrading library dependencies in the VM https://github.com/pharo-project/pharo-vm/pull/447 Release VM 9.0.16 https://github.com/pharo-project/pharo-vm/releases/tag/v9.0.16 Backports to Pharo Pharo10 https://github.com/pharo-project/pharo/pull/11545 Pharo9 https://github.com/pharo-project/pharo/pull/11546 We have left for later to upgrade library dependencies for the Windows VM (x86-64, ARM64). Of course, any help in this direction is welcome. Cheers, G in behalf of the team
