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

Mixxx crashes on startup when FlexASIO is installed #182

Closed
dechamps opened this issue Feb 2, 2023 · 2 comments
Closed

Mixxx crashes on startup when FlexASIO is installed #182

dechamps opened this issue Feb 2, 2023 · 2 comments
Labels
asiohost Relates to a specific ASIO Host Application. bug
Milestone

Comments

@dechamps
Copy link
Owner

dechamps commented Feb 2, 2023

See mixxxdj/mixxx#10081, PortAudio/portaudio#766.

TL;DR: this appears to be the same problem as #47, i.e. FlexASIO is being linked against an already-loaded foreign PortAudio DLL instead of the PortAudio DLL that is bundled with FlexASIO; that foreign DLL has ASIO support built-in, resulting in FlexASIO and PortAudio re-entering itself upon initialization. Hilarity ensues in the form of infinite recursion.

We need to understand why the fix for #47, i.e. b5a24c8, doesn't seem to work in this case.

@dechamps
Copy link
Owner Author

dechamps commented Feb 2, 2023

I am able to reproduce on a fresh Windows 11 install, Mixxx 2.3.3, and FlexASIO 1.9.

The root cause is somewhat silly: the reason why b5a24c8 doesn't work anymore is because it's including portaudio_x86.dll and portaudio_x64.dll in the manifest, but the PortAudio DLL changed in the mean time, most likely as a side effect of PortAudio/portaudio@242a024 (first included in FlexASIO 1.8) - it's now called portaudio.dll. As a result the manifest has no effect, thus resurrecting #47.

@dechamps dechamps added the bug label Feb 2, 2023
@dechamps dechamps added this to the FlexASIO 1.10 milestone Feb 2, 2023
@dechamps dechamps pinned this issue Feb 2, 2023
@dechamps dechamps changed the title Mixxx crashes when FlexASIO is installed due to re-entering into PortAudio on initialization Mixxx crashes on startup when FlexASIO is installed Feb 2, 2023
@dechamps
Copy link
Owner Author

dechamps commented May 26, 2024

This is fixed in FlexASIO 1.10, which ships with a manifest that ensures the Windows DLL loader will not share FlexASIO's portaudio.dll with any other part of the host application.

@dechamps dechamps unpinned this issue May 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
asiohost Relates to a specific ASIO Host Application. bug
Projects
None yet
Development

No branches or pull requests

1 participant