From 1274452d225da71f115e0cb8ad435e02670dc4fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20H=C3=B6tzel?= Date: Sat, 27 May 2023 15:32:36 +0200 Subject: [PATCH] ocaml/implicit_close test: collect all currently unreachable blocks Fixes failing implice_close test on OCaml 5. RWMJ: I adjusted this patch so that we continue to call Gc.compact on exiting the test, to move all of the heap (hopefully revealing flaws in the bindings). This only works on OCaml <= 4, but Gc.compact may be fixed/reimplemented later in the 5.x series. Please see also the lengthy discussion of this patch upstream: https://listman.redhat.com/archives/libguestfs/2023-May/thread.html#31639 https://listman.redhat.com/archives/libguestfs/2023-June/thread.html#31709 https://discuss.ocaml.org/t/ocaml-heap-fsck-and-forcing-collection-of-unreachable-objects/12281/1 --- ocaml/t/guestfs_065_implicit_close.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ocaml/t/guestfs_065_implicit_close.ml b/ocaml/t/guestfs_065_implicit_close.ml index 567e550b4..f2dfecbd5 100644 --- a/ocaml/t/guestfs_065_implicit_close.ml +++ b/ocaml/t/guestfs_065_implicit_close.ml @@ -30,7 +30,7 @@ let () = *) (* This should cause the GC to close the handle. *) -let () = Gc.compact () +let () = Gc.full_major () let () = assert (!close_invoked = 1)