-
Notifications
You must be signed in to change notification settings - Fork 412
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stalls for 3.8.2 in dune build on Windows GitLab CI #8043
Comments
Hello; could you try reverting the one-line diff https://github.com/ocaml/dune/pull/7906/files#diff-51b18b303e6585311a301fb7eb4761c4ae1b226d8a29c2c30cf20c80102bc39cR47 and testing if the stall goes away? |
)" This reverts commit 6665a24. Probe if removing PR7906 fixes stalling described in ocaml#8043
It looks like my guess was wrong. Since there are only six commits between 3.8.1 and 3.8.2, I'll bisect and update the issue when I find the problematic commit. |
Summary:
Bisect data (scroll to the right): FetchGit(dune
# GIT_REPOSITORY https://github.com/ocaml/dune.git GIT_TAG a340b806a6ec2da97c481c64011bfab7b71213a8 # 3.8.1 Jun 5. WORKS.
# GIT_REPOSITORY https://github.com/ocaml/dune.git GIT_TAG 8b7cc718a813fa385ce69c2f4918036d280efb99 # 3.8.1(+3) Jun 15. WORKS.
GIT_REPOSITORY https://github.com/ocaml/dune.git GIT_TAG 886ff3b14adfb876c1b25c5b88c9637b59bd2c37 # 3.8.1(+4) Jun 16. STALLS
# GIT_REPOSITORY https://github.com/ocaml/dune.git GIT_TAG 1405390f8827fcc6616bf1dc1e406a9949d7b6b1 # 3.8.1(+5) Jun 16. STALLS
# GIT_REPOSITORY https://github.com/ocaml/dune.git GIT_TAG e6a7ca69d3b27aa21b59887b5549daafdc931899 # 3.8.2 Jun 16. STALLS.
# Not part of bisection:
# GIT_REPOSITORY https://github.com/jonahbeckford/dune.git GIT_TAG 74a2b680872596ca76d2913913e5f8b7c8b7ba5a # 3.8.2-revert-PR7906. STALLS.
) cc: @rgrinberg @emillon . Any ideas? |
Not sure it is the same thing, but can you try #8044? |
Wow. That fixed it! Seems like this critical fix should be backported to 3.8.x. Raw details:
FetchGit(dune
GIT_REPOSITORY https://github.com/jonahbeckford/dune.git GIT_TAG 57f7cfca55ecbc0b4599c70741de86d97dbb6369 # 3.8.2.2023-06-25.2a3ca31 with (+1) async_io_self_pipe_win32 and (+1) fix version=3.8.2
) |
Thanks for the confirmation!
Sorry about that, the patch applies cleanly to the 3.8.2 tag. I made a branch based on 3.8.2: https://github.com/nojb/dune/tree/async_io_self_pipe_win32-3.8.2. Could you give it a shot? Just to be 100% sure that we identified the culprit. |
@nojb, I'm testing your branch in ocsigen/js_of_ocaml#1478 to check if i'm witnessing the same issue. |
Looks like it is. |
I merged #8044 as it looks like it fixes both of these issues. Thanks! |
I verified your change on 3.8.2. Thanks! Final test notes: FetchGit(
GIT_REPOSITORY https://github.com/jonahbeckford/dune.git GIT_TAG dd9522145ccaa43d3958bca96b9711ae3b8a0cc8 # 3.8.2(+1 nojb) Jun 26 and (+1 jonahbeckford) force version=3.8.2. WORKS
) |
@jonahbeckford you can take the 3.8.3 tag which includes just this if you'd like |
Excellent. Thanks! |
Behavior
I do a
dune build
(exact verbose logs are at https://gist.github.com/jonahbeckford/c33118fd45812e2bf73d5f4c4266710a).I get a stall (deadlock?) under certain conditions:
Because of the above conditions, I strongly suspect the root cause is #7906 ("Use threaded console, adapt for Windows").EDIT: Tested that this wasn't the commit.Reproduction
A
dune build
of many packages (quite similar to aopam monorepo
build).These packages:
lwt.5.6.1
stdint.0.7.2
memtrace.v0.2.3
fiber.3.7.0
and the following:
Specifications
dune
(output ofdune --version
): 3.8.2ocaml
(output ofocamlc --version
): 4.14.0windows-1809
tag (aka. compatible with Windows 10 1809)Additional information
dune
with the--verbose
flag):https://gist.github.com/jonahbeckford/c33118fd45812e2bf73d5f4c4266710a
The text was updated successfully, but these errors were encountered: