Skip to content

Conversation

@posborne
Copy link
Collaborator

Spuriously, but more consistently in recent runs, we've seen crashes after successful benchmark runs on Windows. In truth, I don't have a windows PC to easily reproduce and diagnose the crash (reported segfault) that occur but they appeared to be related to lib unloading.

As part of diagnosing the problems I updated libloading to the lastest and added an explicit close() rather than relying on Drop, in part to try to get more info on what might be going wrong. Making the close() explicit seems to make CI happy so submitting this as-is to get CI running again, though I don't have an entirely satisfactory root cause to point to.

Failing CI Runs:

Which have this signature buried in other output from the parent process:

Executed successfully
Error: benchmark subprocess did not exit successfully: exit code: 0xc0000005

So output from the process writes that all is well but the process exits with code 0xc0000005 indicating an Access Violation under Windows.

We're seeing spurious crashes on windows after successful benchmark runs
when unloading the dll. Upgrade libloading to the latest as a first step
in diagnosing potential problems.

This updated version may just fix the issue; if not, it provides a way
to do an explicit close() where we can handle errors potentially.
Windows has been exhibiting crashes after completion. We hope to
explicilty control dll close in order to either prevent problems or get
more explicit information on problems.
Copy link
Member

@fitzgen fitzgen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@fitzgen fitzgen merged commit 458afb5 into bytecodealliance:main Dec 22, 2025
17 checks passed
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.

2 participants