Skip to content
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

CA-399172: fix potential crash in Uri.of_string #696

Merged
merged 1 commit into from
Sep 13, 2024

Conversation

edwintorok
Copy link
Contributor

Using Lazy from a multithreaded program should raise Lazy.Undefined. However due to bugs in the OCaml runtime this was actually crashing.

Update to angstrom 0.16.1 which no longer uses Lazy and avoids this crash.

This was initially discovered:

Fixed in Angstrom:

Runtime bug reported with potential fix from maintainers:

There are various other usages of Lazy, but I couldn't get those to crash yet, so lets fix the known crash for now, and audit/fix the rest next.

Using Lazy from a multithreaded program should raise Lazy.Undefined.
However due to bugs in the OCaml runtime this was actually crashing.

Update to angstrom 0.16.1 which no longer uses Lazy and avoids this crash.

This was initially discovered:
* mirage/ocaml-uri#178

Fixed in Angstrom:
* inhabitedtype/angstrom#229

Runtime bug reported with potential fix from maintainers:
* ocaml/ocaml#13430
* ocaml/ocaml#13434

There are various other usages of Lazy, but I couldn't get those to crash yet,
so lets fix the known crash for now, and audit/fix the rest next.

Signed-off-by: Edwin Török <[email protected]>
@edwintorok edwintorok merged commit a6396b6 into xapi-project:master Sep 13, 2024
1 of 3 checks passed
@edwintorok
Copy link
Contributor Author

Hmm I didn't click the button, but github says I did

@edwintorok
Copy link
Contributor Author

The CI seems to be passing now though
Screenshot 2024-09-13 at 14 35 31

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants