osxmidi / LinVst

Linux Windows vst wrapper/bridge
GNU General Public License v3.0
682 stars 41 forks source link

lin-vst-servertrack.exe.so 100% CPU in reaper Linux opening UI #125

Closed dj9pz closed 4 years ago

dj9pz commented 4 years ago

I'm successfully using LinVst (2.7.4) and LinVst3 (1.7.3) with a variety on Windows VSTs (Plugin Alliance, D16, AudioThing, ...) in Ardour (5.12) and Carla. OS is openSUSE 15.1 (kernel 5.3.9) and Wine staging 4.19.

I now tried to evaluate reaper (Linux build), but adding the same LinVst treated VSTs fails in most cases. Adding the VST leads to lin-vst-servertrack.exe.so to consume 100% CPU, but the log output does not look different from Ardour or Carla.

What is the proper way to debug? Debug information seems to be present in lin-vst-servertrack.exe.so, but it seems not be sufficient to show any more details in gdb

osxmidi commented 4 years ago

That's strange because I use Reaper Linux for testing.

I've never seen it do the above.

Is it for all plugins?

Is there a difference between the LinVst binaries on the releases page and the LinVst that you build on your system?

As for debugging, lin-vst-servertrack.exe.so is a Wine shared library and lin-vst-servertrack.exe is the loader and it would need to be debugged using winedbg.

dj9pz commented 4 years ago

It happens for all plugins, but in the meantime I discovered that it sometimes (very seldomly) does work somehow, ie. adding a plugin opens the GUI, but next time (second invocation of the same GUI) hangs again.

This weekend I will try to use the binaries on the releases page as well as debugging by winedbg...

dj9pz commented 4 years ago

I tried both the current LinVst binaries from the release page as well as a current recompile from git (2.8.0) and the problem persists. I also tried debugging with winedbg, but the output did not show any hints. I will continue to debug...

dj9pz commented 4 years ago

Debugging approach:

Output from reaper

DSSI VST plugin server v0.986
Copyright (c) 2012-2013 Filipe Coelho
Copyright (c) 2010-2011 Kristian Amlie
Copyright (c) 2004-2006 Chris Cannam
LinVst version 2.8.0
Loading  /home/arnd/.wine_winvst/drive_c/Program Files/Common Files/VST2/Plugin Alliance/bx_meter.dll
wine: Read access denied for device L"\\??\\Z:\\", FS volume label and serial are not available.
0043:fixme:d2d:d2d_factory_init Ignoring factory type 0x1.
0043:fixme:dxgi:DXGID3D10CreateDevice Ignoring flags 0x20.

Output from winedbg:

Wine-dbg>info process
 pid      threads  executable (all id:s are in hex)
 00000042 6        'lin-vst-servertrack.exe'
 00000044 4        \_ 'explorer.exe'
 0000003b 1        'winedbg.exe'
 0000000e 6        'services.exe'
 00000022 4        \_ 'winedevice.exe'
 0000001a 5        \_ 'winedevice.exe'
 00000011 3        \_ 'plugplay.exe'
Wine-dbg>attach 0x42
003f:fixme:dbghelp:elf_search_auxv can't find symbol in module
003f:fixme:dbghelp:elf_search_auxv can't find symbol in module
[line repeated multiple times]

Notes:

osxmidi commented 4 years ago

What about wineserver and what it's doing.