[new release] tcpip (6.1.0)#18357
Conversation
|
Commit: dbfddf8 A pull request by opam-seasoned @dinosaure. ☀️ All lint checks passed dbfddf8
☀️ Installability check (+1)
|
|
A test failed on the latest Ubuntu with Is this a known Heisenbug of the tests or needs to be investigated? |
|
I think it's related to mirage/mirage-tcpip#437, let me look into it and try to find a solution. |
CHANGES: * checksum stubs: Drop `caml_` from their name (@hannesm, mirage/mirage-tcpip#445) * Add cancelation on `tcpip.stack-socket` (@dinosaure, @talex5, @hannesm, mirage/mirage-tcpip#443) * Ensure that listen really binds the given socket before creating a task on `tcpip.stack-socket` (@dinosaure, @hannesm, mirage/mirage-tcpip#439) * Add `ppx_cstruct` as a dependency (@hannesm, @dinosaure, mirage/mirage-tcpip#439) * Upgrade to ocamlformat.0.17.0 (@dinosaure, mirage/mirage-tcpip#442) * Drop the support of OCaml 4.08.0 (@dinosaure, mirage/mirage-tcpip#442) * Use the usual layout to compile freestanding C stubs and link them to a Solo5 unikernel (@dinosaure, @hannesm, mirage/mirage-tcpip#441) **breaking changes** C stubs are prepended by `mirage_`. Symbols such as checksum's symbols are `caml_mirage_tcpip_*` instead of `caml_tcpip_*` `tcpip.unix` is a fake sub-package and user does not it anymore, he can safely remove it from its project. * Conflict with `< ocaml-freestanding.0.4.1` (@hannesm, mirage/mirage-tcpip#441)
661b80c to
dbbe1e2
Compare
|
please hold on, on Wednesday we discussed to avoid the |
dbbe1e2 to
8dc4803
Compare
|
Release was redone including the patch of @hannesm 👍. |
|
Should we worry about those three EADDRINUSE failures? (Seems they have not yet gone) |
Hmmmhmm, it's really strange that in our CI, this bug does not appear and it appears on the |
|
On NixOS never hit these failures (to the point where I accidentally updated tcpip to 6.1.0 at the first github release because I forgot to check if the opam PR was merged already 😬). |
|
I don’t mind merging, you just have to give me the thumbs up for doing it |
|
For my point of view, it's not acceptable to release |
|
Do you know if it has ever happened before? (The error I mean) |
|
As far as I can tell, no but it seems serious when |
This sort of failure is rather common with mirage software (I'm looking into the past logs to get a list of the ones i remember about). Last version used |
|
ok nevermind, it still fails with the same failure. Closing then. |
This reverts commit 988f5a5. The release process for many OCaml packages and in extension mirage related packages usually entails creating a release in the respective own repository so a release tarball becomes available and then opening a PR against ocaml/opam-repository to finalize the release. During this new issues can be discovered which push the release back. This happened for mirage-tcpip 6.1.0 several times: ocaml/opam-repository#18357 Prompting in total 3 different 6.1.0 releases with different hashes respectively (the hash for ocamlPackages.tcpip.src shouldn't be reproducible anymore, but we probably have cached the tarball already). Ultimately the PR to opam-repository was closed to investigate some failures on opam-repository's CI and the release postponed: ocaml/opam-repository#18357 (comment) I jumped the gun with the release and updated tcpip in nixpkgs before tcpip was “properly” released in opam. I usually watch the github repository of package I maintain for releases and can react pretty quickly to a release as a result. Most of the time I also check opam-repository's PRs nowadays for extra context or information, but when everything seems fine and tests succeed I deem the update alright to PR to nixpkgs. Being faster than opam was achievable in these cases and actually seems kind of tantalizing. In the light of this experience however, we should wait for the opam PR getting merged at least for some packages that exhibit this behavior of rereleasing the same version number multiple times to get the release just right (afaik the 6.1.0 tag pointed to three different revisions for tcpip). To me this is questionable upstream behavior we just have to deal with in some way.
This reverts commit 988f5a5. The release process for many OCaml packages and in extension mirage related packages usually entails creating a release in the respective own repository so a release tarball becomes available and then opening a PR against ocaml/opam-repository to finalize the release. During this new issues can be discovered which push the release back. This happened for mirage-tcpip 6.1.0 several times: ocaml/opam-repository#18357 Prompting in total 3 different 6.1.0 releases with different hashes respectively (the hash for ocamlPackages.tcpip.src shouldn't be reproducible anymore, but we probably have cached the tarball already). Ultimately the PR to opam-repository was closed to investigate some failures on opam-repository's CI and the release postponed: ocaml/opam-repository#18357 (comment) I jumped the gun with the release and updated tcpip in nixpkgs before tcpip was “properly” released in opam. I usually watch the github repository of package I maintain for releases and can react pretty quickly to a release as a result. Most of the time I also check opam-repository's PRs nowadays for extra context or information, but when everything seems fine and tests succeed I deem the update alright to PR to nixpkgs. Being faster than opam was achievable in these cases and actually seems kind of tantalizing. In the light of this experience however, we should wait for the opam PR getting merged at least for some packages that exhibit this behavior of rereleasing the same version number multiple times to get the release just right (afaik the 6.1.0 tag pointed to three different revisions for tcpip). To me this is questionable upstream behavior we just have to deal with in some way.
|
It's not super surprising that this fails If concurrent tests try to open the same port. /cc @MagnusS |
|
@samoht looks like it may be an old bug that didn't fail the tests before this release, I followed up in mirage/mirage-tcpip#446 |
OCaml TCP/IP networking stack, used in MirageOS
CHANGES:
creating a task on
tcpip.stack-socket(@dinosaure, @hannesm, Ensure that a call of listen really binds the given socket to the INET_ADDR mirage/mirage-tcpip#439)ppx_cstructas a dependency (@hannesm, @dinosaure, Ensure that a call of listen really binds the given socket to the INET_ADDR mirage/mirage-tcpip#439)a Solo5 unikernel (@dinosaure, @hannesm, Use the usual layout to compile freestanding C stubs mirage/mirage-tcpip#441)
breaking changes
C stubs are prepended by
mirage_. Symbols such as checksum'ssymbols are
caml_mirage_tcpip_*instead ofcaml_tcpip_*tcpip.unixis a fake sub-package and user does not it anymore, he cansafely remove it from its project.
< ocaml-freestanding.0.4.1(@hannesm, Use the usual layout to compile freestanding C stubs mirage/mirage-tcpip#441)