Skip to content

Conversation

@redianthus
Copy link
Member

@redianthus redianthus commented Dec 12, 2025

I realized it was not a good idea to enable this when benchmarking because it makes performances so much worst that some tests we could solve in 4 secondes are now taking at least 30 seconds to solve and it makes benchmarking on Test-Comp leading to really poor results.

We should only enable this in debug mode.

While doing this, I also realized that something was wrong, and some programs would randomly give "All OK!" or find a bug.

After digging a little bit, I found there was an issue in Synchronizer: OCamlPro/synchronizer#5

After fixing it, I noticed the issue was still there. It was because of the crash in formalsec/smtml#481 ; but that was going unnoticed because of a second bug in Synchronizer + we would print exception only at the end of execution when calling Domain.join (which we would never reach actually).

I fixed all of this. Now we can properly avoid waiting for domains, exceptions get displayed early, and there is a fix for smtml and synchronizer. I can no longer reproduce the issue I was having. 🥳

1. leading to a deadlock
2. leading to some cases being missing because of a crash in a library
each one was hiding the other so it was quite hard to debug, now every
exception raised by a domain is displayed instantly which should make
things easier in the future
@redianthus redianthus merged commit bc1faef into OCamlPro:main Dec 13, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant