Skip to content

Conversation

@notaz
Copy link
Contributor

@notaz notaz commented Jun 11, 2024

When launching the wine Vst process various wrappers may be involved, when they exit the Vst process becomes orphaned. This breaks the PollParentThread mechanism which is responsible for cleaning up processes in case of a crash. Because of this 64bit Vst process exits prematurely, in other words 64bit Vst is currently broken in a typical wine configuration.

A solution suggested by Lukas W is to set the PR_SET_CHILD_SUBREAPER flag which makes the kernel reparent such process to lmms and PollParentThread then works as intended.

@notaz
Copy link
Contributor Author

notaz commented Jun 11, 2024

This is an alternative solution to #7310 to fix the broken 64bit Vst on Linux.

@Rossmaxx
Copy link
Contributor

I believe this will fix #6570.

@Rossmaxx
Copy link
Contributor

Nvm, these seem to be seperate but linked issues.

When launching the wine VST process various wrappers may be involved,
when they exit the VST process becomes orphaned. This breaks the
PollParentThread mechanism which is responsible for cleaning up
processes in case of a crash. Because of this 64bit VST process exits
prematurely, in other words 64bit VST is currently broken in a typical
wine configuration.

A solution suggested by Lukas W is to set the PR_SET_CHILD_SUBREAPER
flag which makes the kernel reparent such process to lmms and
PollParentThread then works as intended.

Co-authored-by: Lukas W <[email protected]>
@Rossmaxx
Copy link
Contributor

I believe this will fix #6570.

@notaz can you check just in case.

@notaz
Copy link
Contributor Author

notaz commented Jun 18, 2024

I believe this will fix #6570.

@notaz can you check just in case.

That doesn't happen for me with the VST plugins I use, regardless of this PR. The code added in #6366 works and the plugin exists once lmms is SIGKILLed.

@Rossmaxx
Copy link
Contributor

So they might be seperate issues.

Copy link
Contributor

@Rossmaxx Rossmaxx left a comment

Choose a reason for hiding this comment

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

LGTM.

@Rossmaxx Rossmaxx merged commit e400d81 into LMMS:master Jun 18, 2024
Rossmaxx pushed a commit to Reflexe/lmms that referenced this pull request Jul 16, 2024
When launching the wine VST process various wrappers may be involved,
when they exit the VST process becomes orphaned. This breaks the
PollParentThread mechanism which is responsible for cleaning up
processes in case of a crash. Because of this 64bit VST process exits
prematurely, in other words 64bit VST is currently broken in a typical
wine configuration.

A solution suggested by Lukas W is to set the PR_SET_CHILD_SUBREAPER
flag which makes the kernel reparent such process to lmms and
PollParentThread then works as intended.

Co-authored-by: Lukas W <[email protected]>
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