Skip to content

Conversation

@RCmerci
Copy link

@RCmerci RCmerci commented Feb 24, 2021

related to #209

@SGrondin
Copy link

SGrondin commented Oct 4, 2021

I've been running into stack overflow on 0.15.0 as well, which is surprising to me because #186 and #187 are very similar to the changes I've made on my old fork which does not have stack overflow issues.

It turns out the reason is the changes made by #186 and #187 aren't fully lazy.

This PR fixed all remaining stack overflows on 0.15.0 for me! 🎉 It passes all my tests on SZXX. However the impact on performance seems to be a slowdown of ~55%. I'd still support merging it, maybe along with #217 to (more than) cancel out the impact on performance?

@edwintorok
Copy link
Contributor

Lazy is not thread safe and can sometimes segfault on OCaml 4, see mirage/ocaml-uri#178.
I'm about to submit a PR that removes the existing Lazy from the code.
Please use a ref instead (or ensure that the lazy value is not observable from a concurrent/parallel context by immediately forcing it)

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