Changes in handling of Gc parameters and alarms in 5.2.0

Hello,
It looks like functions registered by Gc.create_alarm are no longer called in Ocaml 5.2.0.
This code used to exit 123 with 5.1.0 but terminates normally in 5.2.0:

let () =
  let _ = Gc.create_alarm (fun () -> Format.printf "Alarm@."; exit 123)
  in
  let g = Array.init 120000 (fun i -> Array.init 1 (fun i -> i)) in
  for i = 0 to 10000 do
    let a = Array.init 120000 (fun i -> i) in
    g.(i) <- a;
    a.(0) <- 42;
  done

The following command ocamlopt a.ml && OCAMLRUNPARAM=v=0x403 ./a.out displays

For Ocaml 4.14.1: Gc cycles are displayed and alarm is called

<>Starting new major GC cycle
<><>!Alarm
allocated_words: 252056
minor_words: 132055
promoted_words: 131877
major_words: 251878
minor_collections: 3
major_collections: 0
heap_words: 311296
heap_chunks: 4
top_heap_words: 311296
compactions: 0
forced_major_collections: 0

For Ocaml 5.1.0: Gc cycles are NOT displayed and alarm is called

Alarm
allocated_words: 120857
minor_words: 790
promoted_words: 603
major_words: 120670
minor_collections: 8
major_collections: 7
forced_major_collections: 0
heap_words: 165059
top_heap_words: 165059
mean_space_overhead: 10211.522634

For Ocaml 5.2.0: No GC cycle displayed and no alarm triggered

allocated_words: 1200490800
minor_words: 240732
promoted_words: 240619
major_words: 1200490687
minor_collections: 28
major_collections: 24
forced_major_collections: 0
heap_words: 1099274194
top_heap_words: 1099274194
mean_space_overhead: 0.022869

Is this expected? The 5.2.0 Changelog mentions that the behavior of alarms changed, but it looks like they are no longer working at all in this example.
The differences in the Gc activity displayed with v=0x3 seems undocumented too and is probably not reflecting the real activity of the Gc.

Thanks for your help!
B.

Thanks, it seems to be a bug. There will be a PR to fix it shortly.

Feel free to report the behaviour change for v=0x3 if this is important as well.

Thanks, I’ll open a bug report for the verbosity of the Gc.