A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/ocsigen/lwt/issues/981 below:

SIGSEGV on OCaml 5 due to missing SA_ONSTACK · Issue #981 · ocsigen/lwt · GitHub

ocaml/ocaml#11497 says:

First commit makes sure that signal handlers are run on the alternate signal stack. This is required since fiber stacks are generally too small to run signal handlers on.

Test case:

open Lwt.Infix

let main () =
  for _ = 1 to 10000 do
    match Lwt_unix.fork () with
    | 0 -> Unix._exit 1
    | _child -> ()
  done

let main () =
  Lwt_main.run begin
    Lwt.pause () >>= fun () ->
    main ();
    Lwt.return_unit
  end

let () =
  Effect.Deep.match_with main ()
    { retc = ignore;
      exnc = raise;
      effc = (fun _ -> None);
    };
  Gc.full_major ()

Crashes with various errors, e.g.

$ ./_build/default/bin/main.exe 
corrupted size vs. prev_size
fish: “./_build/default/bin/main.exe” terminated by signal SIGABRT (Abort)

(originally reported as ocaml-multicore/lwt_eio#15)


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4