Linvst: hanging processes

Discuss running non-Linux applications and plugins on Linux, for example via wine

Moderators: MattKingUSA, khz

jonetsu
Established Member
Posts: 2036
Joined: Sat Jun 11, 2016 12:05 am
Has thanked: 10 times
Been thanked: 22 times

Linvst: hanging processes

Post by jonetsu »

After running Bitwig twice and terminating the last instance, the following processes are still running. This is running linvst from git, compiled locally for 64-bit support only.

Code: Select all

 
SLl  12:09   0:11 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/Voxengo/PrimeEQ.dll,1I6bvnER0y1KVyRf1o0SCJuIl96bpybg68fpjI5a6WIPlqTc
 SLl  12:09   0:33 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/Voxengo/Warmifier.dll,ER0y1KVyRf1o0SCJuIl96bpybg68fpjI5a6WIPlqTcEJU5ic
 SLl  12:09   0:32 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/Tone2/RayBlaster/RayBlasterX64.dll,VyRf1o0SCJuIl96bpybg68fpjI5a6WIPlqTcEJU5icBuaxvp
 SLl  12:09   0:26 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/Voxengo/Boogex.dll,kxIyoQhJJ0gtOKMtKsaPS3CzSfrL9LZj6xIkdNRKDY3fwGw6
 SLl  12:09   0:19 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/MeldaProduction/Reverb/MReverbMB.dll,hJJ0gtOKMtKsaPS3CzSfrL9LZj6xIkdNRKDY3fwGw6WwJCp9
 SLl  12:09   0:15 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/PsychicModulation/EchoMelt/EchoMelt2_x64.dll,q5hNLGrUv8mi4upqceMXDciR08pbq53GZ8jAFziYvu7pMkFM
 SLl  12:09   0:24 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/MeldaProduction/MUnison.dll,rUv8mi4upqceMXDciR08pbq53GZ8jAFziYvu7pMkFMogyQiG
 SLl  12:25   0:12 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/Voxengo/PrimeEQ.dll,gHdhk8FMgJvo4RLDqVLDhP0dH7bboaYuI2AQ05q6CJkuqTVE
 SLl  12:25   0:46 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/Voxengo/Warmifier.dll,FMgJvo4RLDqVLDhP0dH7bboaYuI2AQ05q6CJkuqTVECx8KcW
 SLl  12:25   0:49 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/Tone2/RayBlaster/RayBlasterX64.dll,4RLDqVLDhP0dH7bboaYuI2AQ05q6CJkuqTVECx8KcWLHUMH6
 SLl  12:25   0:35 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/Voxengo/Boogex.dll,TAgn7RETDfCVPCmafrEAf4WnG1irtPQcdWn9CSQ3VjOyJYzO
 SLl  12:25   0:21 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/MeldaProduction/Reverb/MReverbMB.dll,ETDfCVPCmafrEAf4WnG1irtPQcdWn9CSQ3VjOyJYzOf3fiVZ
 SLl  12:25   0:17 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/PsychicModulation/EchoMelt/EchoMelt2_x64.dll,iqOUaby028B7NbZsArlhaDN08wrTKByQPaAPbYF3V4Yy3MRu
 SLl  12:25   0:28 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/MeldaProduction/MUnison.dll,y028B7NbZsArlhaDN08wrTKByQPaAPbYF3V4Yy3MRu30z2tc
 SLl  12:44   2:29 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/Voxengo/Warmifier.dll,EarydEEss23eNcwZQNP3K3jILiUDkztMzIaAcDTtvMv6MRWq
 SLl  12:44   1:11 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/Tone2/RayBlaster/RayBlasterX64.dll,Ess23eNcwZQNP3K3jILiUDkztMzIaAcDTtvMv6MRWqszj2sq
 SLl  12:44   1:46 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/Voxengo/Boogex.dll,CU6kMZT5I0JGq4nTs1AhOeylbt5oCS12AXddKU6gKFLYzWHP
 SLl  12:44   0:45 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/MeldaProduction/Reverb/MReverbMB.dll,T5I0JGq4nTs1AhOeylbt5oCS12AXddKU6gKFLYzWHPN5Wpai
 SLl  12:44   0:44 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/PsychicModulation/EchoMelt/EchoMelt2_x64.dll,q4nTs1AhOeylbt5oCS12AXddKU6gKFLYzWHPN5WpaiA9Bwn2
 SLl  12:44   0:53 Z:\usr\bin\lin-vst-server.exe.so /B3/Windows-Xubuntu/MeldaProduction/MUnison.dll,Z2OfMMiMtisMDDaQVe1QTE0Kij90e5K1Vo4xZc8iioSKSToB
It's a matter of running 'killall lin-vst-server.exe.so' to get rid of them, though. Also, when Bitwig exits after running these processes, it crashes jackd which then needs to be restarted.

I ran jackd from the command line at that time so here's the output when Bitwig terminates (the Bitwig project was using linvst) with a few lines showing the regular connections first.

Code: Select all

[...]
JackGraphManager::Connect already connected port_src = 3 port_dst = 47
JackGraphManager::Connect already connected port_src = 48 port_dst = 13
JackGraphManager::Connect already connected port_src = 49 port_dst = 14
JackGraphManager::Connect already connected port_src = 50 port_dst = 15
JackGraphManager::Connect already connected port_src = 51 port_dst = 16
JackFreewheelDriver::ProcessSync: SuspendRefNum error
JackAudioDriver::ProcessGraphSync: ProcessWriteSlaves error, engine may now behave abnormally!!
JackAudioDriver::ProcessGraphSync: SuspendRefNum error, engine may now behave abnormally!!
JackFreewheelDriver::ProcessSync: SuspendRefNum error
JackAudioDriver::ProcessGraphSync: ProcessWriteSlaves error, engine may now behave abnormally!!
JackAudioDriver::ProcessGraphSync: SuspendRefNum error, engine may now behave abnormally!!
JackFreewheelDriver::ProcessSync: SuspendRefNum error
JackAudioDriver::ProcessGraphSync: ProcessWriteSlaves error, engine may now behave abnormally!!
JackAudioDriver::ProcessGraphSync: SuspendRefNum error, engine may now behave abnormally!!
JackFreewheelDriver::ProcessSync: SuspendRefNum error
JackAudioDriver::ProcessGraphSync: ProcessWriteSlaves error, engine may now behave abnormally!!
JackAudioDriver::ProcessGraphSync: SuspendRefNum error, engine may now behave abnormally!!
JackFreewheelDriver::ProcessSync: SuspendRefNum error
[...]
ubuntuuser
Established Member
Posts: 315
Joined: Mon Jan 02, 2017 9:46 am
Has thanked: 1 time
Been thanked: 5 times

Re: Linvst: hanging processes

Post by ubuntuuser »

I havn't seen that before.

What command are you using to list the processes?

Usually the wine process is terminated when an effClose command is sent to the (Linux) plugin by the DAW.
jonetsu
Established Member
Posts: 2036
Joined: Sat Jun 11, 2016 12:05 am
Has thanked: 10 times
Been thanked: 22 times

Re: Linvst: hanging processes

Post by jonetsu »

Yes, the processes are closed when everything goes fine. Like inside Bitwig, having a project with several Windows VSTs with audio activated. All linvst processes will be lsited. Disabling audio for that project then all linvst processes will be terminated. However, when Bitwig terminates with an active project there's a jackd crash and in that case only, there'll be several linvst processes (i'd all that were used in the project) that will not be terminated. Why is there a crash ? I did not see that on the previous system Linux Mint 18.1 running wine-staging and linvst from about April 2018.

I simply use 'ps aux | grep vst' to list those processes.

Wait, I'll try something.

I load a Bitwig project with several Windows VSTs, with active audio. I list the linvst processes, there are there.

I disable audio for that project. The linvst processes are gone.

I exit Bitwig. No jackd crash.

However there's always a jackd crash if Bitwig terminates with the audio active and the linvst processes running.

We could say that there's somethign wrong going one when Bitwig exits with the linvst processes running. This is linvst with the Melda fix compiled from git.

No show stopper though. It's simply a matter of disactiving audio before exiting Bitwig. Or if not, restarting jackd after exiting Bitwig.
ubuntuuser
Established Member
Posts: 315
Joined: Mon Jan 02, 2017 9:46 am
Has thanked: 1 time
Been thanked: 5 times

Re: Linvst: hanging processes

Post by ubuntuuser »

I tested MBassador with Bitwig and Jack and I can't seem to reproduce the error on MX Linux.

It seems like from what you are describing that there is some sort of Bitwig exit crash (involving jackd and maybe wine) and Bitwig therefore doesn't send an effClose command to the LinVst plugins and so their processes don't finish.

If it is that, then something like that might be system dependent, like that systems wine libraries causing a clash of some sort or some other thing etc etc.

Maybe if you could start Bitwig from a terminal and then look at the terminal output to see if there is any clue from Bitwig about the exit besides the above jack error output.
jonetsu
Established Member
Posts: 2036
Joined: Sat Jun 11, 2016 12:05 am
Has thanked: 10 times
Been thanked: 22 times

Re: Linvst: hanging processes

Post by jonetsu »

Same here when loading only one MBassador in a new project (a template). It exits cleanly. I tried with a full project and it crashed at the exit. So I tried to isolate the plugin that would cause that so I loaded one in a template then exited: no crash. I did that for all plugins found in the project that crashed: no crash.

So I tried for fun with 7 MBassador, one on each track and nothing else, using a template : It crashed at exit. It seems that the number of them makes a difference.

And so I tried with 3. No crash.

Then with 5 MBassador. Crash. The following is output to the console from Bitwig:

Code: Select all

[2019-02-10 13:07:42 ramona-server error] Connection broken with client:
	java.io.EOFException
	at com.bitwig.ramona.serial.QdQ.wOw(SourceFile:263)
	at com.bitwig.ramona.serial.QdQ.izw(SourceFile:413)
	at bqr.kL(SourceFile:885)
	at bqr.ytz(SourceFile:707)
	at bqr.ytz(SourceFile:688)
	at com.bitwig.ramona.protocol.rM.ytz(SourceFile:88)
	at brn.jPq(SourceFile:387)
	at bro.run(SourceFile:278)
ubuntuuser
Established Member
Posts: 315
Joined: Mon Jan 02, 2017 9:46 am
Has thanked: 1 time
Been thanked: 5 times

Re: Linvst: hanging processes

Post by ubuntuuser »

I tried with 5 instances of MBassador and it was all ok.

I would guess that it's some sort of wine connected problem.
jonetsu
Established Member
Posts: 2036
Joined: Sat Jun 11, 2016 12:05 am
Has thanked: 10 times
Been thanked: 22 times

Re: Linvst: hanging processes

Post by jonetsu »

Which version of wine(-staging ?) are you using ?
ubuntuuser
Established Member
Posts: 315
Joined: Mon Jan 02, 2017 9:46 am
Has thanked: 1 time
Been thanked: 5 times

Re: Linvst: hanging processes

Post by ubuntuuser »

Wine Staging 4.1.

It's the Debian Wine binary build from WineHQ used with MX Linux.
ubuntuuser
Established Member
Posts: 315
Joined: Mon Jan 02, 2017 9:46 am
Has thanked: 1 time
Been thanked: 5 times

Re: Linvst: hanging processes

Post by ubuntuuser »

What I did do a while ago (to get rid of zombie processes) was to change something in remotevstclient.cpp

Maybe that causes problems with some systems, I don't know.

On the systems I tend to use (Debian based systems), the zombies are automatically collected and destroyed automagicly.

If // is put in front of the wait(NULL); line, then it will be back to what it was.

RemoteVSTClient::~RemoteVSTClient()
{
wait(NULL);
// while (waitpid(-1, NULL, WNOHANG) > 0) {}
/*
for (int i=0;i<5000;i++)
{
if (waitpid(-1, NULL, WNOHANG))
break;
usleep(100);
}
*/
}
Mk2
Established Member
Posts: 193
Joined: Sat Sep 10, 2016 8:28 pm
Has thanked: 3 times
Been thanked: 2 times
Contact:

Re: Linvst: hanging processes

Post by Mk2 »

jonetsu wrote:Same here when loading only one MBassador in a new project (a template). It exits cleanly. I tried with a full project and it crashed at the exit. So I tried to isolate the plugin that would cause that so I loaded one in a template then exited: no crash. I did that for all plugins found in the project that crashed: no crash.
same on bitwig :

there is 3 plugins host choices. (bit-bridge, 32/64 bits bridge, all plugins bridge)

on windows i left 32/64 bridge coz too many processes otherwize...

but on my newx linux, i set to "bridge all plugins" : i also removed crashing plugs, but with it settings it seems i no crashes anymore. :D

through, maybe the zombie lin-vst processes are still here, i not verified if not, but i dunno how to compile, i always lack dpendances.. so i get the remleased binaries, or i type sudo install.. lol.
jonetsu
Established Member
Posts: 2036
Joined: Sat Jun 11, 2016 12:05 am
Has thanked: 10 times
Been thanked: 22 times

Re: Linvst: hanging processes

Post by jonetsu »

Mk2 wrote:through, maybe the zombie lin-vst processes are still here, i not verified if not, but i dunno how to compile, i always lack dpendances.. so i get the remleased binaries, or i type sudo install.. lol.
It's rather easy to compile. The only thing is that the Steinberg VST SDK (and not DSK ! ah ah ah :) that's another kind of development) files must be copied into the linvst source directory.

Get the 'VST Module Architecture SDK' and unarchive it somewhere:

https://www.steinberg.net/en/company/developers.html

Get the linvst sources from git. Let's say they are put in /Share/src/Audio/LinVst-master/

Copy the VST2 development files:

cd ~/VST2_SDK
cp -R pluginterfaces/ /Share/src/Audio/LinVst-master/

Then in the linvst source directory:

make clean
make
(as root) make install
Mk2
Established Member
Posts: 193
Joined: Sat Sep 10, 2016 8:28 pm
Has thanked: 3 times
Been thanked: 2 times
Contact:

Re: Linvst: hanging processes

Post by Mk2 »

still got zombies on my linux AAAAAAAAAAAAAAH, COZ THAT'S A THRILLER !!!!!!!!!!!! :lol:

i will try later to compile but dunno how it works when it misses a dependance, i mean the commands to add required dependances...
jonetsu
Established Member
Posts: 2036
Joined: Sat Jun 11, 2016 12:05 am
Has thanked: 10 times
Been thanked: 22 times

Re: Linvst: hanging processes

Post by jonetsu »

Mk2 wrote:still got zombies on my linux AAAAAAAAAAAAAAH, COZ THAT'S A THRILLER !!!!!!!!!!!! :lol:

i will try later to compile but dunno how it works when it misses a dependance, i mean the commands to add required dependances...
Use the package manager. On Ubuntu it's Synaptic. If the compile says can't find libasound, then do a search with Synaptic for libasound and install it. Et ainsi de suite. There shouldn't be that many.
User avatar
Linuxmusician01
Established Member
Posts: 1523
Joined: Mon Feb 23, 2015 2:38 pm
Location: Holland
Has thanked: 756 times
Been thanked: 134 times

Re: Linvst: hanging processes

Post by Linuxmusician01 »

jonetsu wrote:It's rather easy to compile. [...] Get the 'VST Module Architecture SDK' and unarchive it somewhere: https://www.steinberg.net/en/company/developers.html

Get the linvst sources from git. Let's say they are put in /Share/src/Audio/LinVst-master/

Copy the VST2 development files:

cd ~/VST2_SDK
cp -R pluginterfaces/ /Share/src/Audio/LinVst-master/

Then in the linvst source directory:

make clean
make
(as root) make install
I compiled LinVST from source and I didn't download the VST2 dev files from Steinberg. LinVST's readme also says that you don't have to do that. What you do need to do, however, for LinVST to work w/ 32 bit as well as 64 bit Windows VST's is:
  • Rename the file "Makefile-embed-6432" to "Makefile"
  • Install via your package manager the so called multilib versions of gcc and g++.
And then. like said, make clean; make; sudo make install. Good luck! :)
jonetsu
Established Member
Posts: 2036
Joined: Sat Jun 11, 2016 12:05 am
Has thanked: 10 times
Been thanked: 22 times

Re: Linvst: hanging processes

Post by jonetsu »

Linuxmusician01 wrote:I compiled LinVST from source and I didn't download the VST2 dev files from Steinberg. LinVST's readme also says that you don't have to do that.
From the linvst online documentation:

"Remove -DVESTIGE from the makefiles to use the VST2 SDK (by default the VST2 SDK is not required). If using the VST2 SDK then the plugininterfaces folder contained within the VST2_SDK folder, needs to be placed in the LinVst files folder. https://www.steinberg.net/en/company/developers.html"

It's saying that is not required but then immediately mentions using it. I've chosen the latter, a sentence away. Maybe ubuntuuser can tell what is the difference in building it with or without the SDK. As far as I'm concerned if it's not needed then the description stops at the first sentence.
Post Reply