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

Some plugins crash Reaper when opening preset after saving project #304

Open
1 task done
jmckernon opened this issue Jan 16, 2024 · 1 comment
Open
1 task done

Comments

@jmckernon
Copy link

Thanks for giving yabridge a shot!

  • I read through both the troubleshooting and the known issues sections, and my issue wasn't listed there

Problem description

It seems that most plugins by Xoxos crash in yabridge in Reaper when opening a preset from the list of builtin/factory presets. This occurs when using a preset after opening a saved project featuring the plugin; no issues in new projects. Haven't tried other synthedit VSTs yet to see whether the issue applies to them but it is possible.

Steps to reproduce: this seems to apply to all xoxos plugins, but let's take 'isnonu' as our example, obtainable at https://web.archive.org/web/20160807121016/http://www.xoxos.net/vst/isnonu.zip. (Perhaps it applies all synthedit plugins, I'm not sure, haven't tested with any others.) Sync the isnonu dll in yabridgectl. Open a new project in Reaper. Add an isnonu instance ('Insert virtual instrument on new track'). Save the project. Open a new, empty project (in order to close the first one), then reopen the first one. Open the VST gui and, using Reaper's list of presets above the GUI, select a different one. This should crash the DAW.

At first I thought this might be to do with #32, but I think not - that seems to be GUI-related, but I don't think this is. Seems to work without yabridge when Reaper itself is run in Wine. Seems to work in Carla.

It seems that a partial workaround involving avoiding presets or copying them to user presets is possible, but this is awkward.

What did you expect to happen?

Not to crash.

What actually happened?

Wine crash ('yabridge-host-32.exe has encountered a serious problem...') bringing down reaper.

Unhandled exception: page fault on read access to 0x7cf00438 in wow64 32-bit code (0x7cf00438).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7cf00438 ESP:06fdfc3c EBP:06fdfca8 EFLAGS:00010212(  R- --  I   -A- - )
 EAX:fa70bf04 EBX:06fdfce0 ECX:7cf00440 EDX:7cf00438
 ESI:06fdfce4 EDI:06fdfcdc
Stack dump:
0x06fdfc3c:  7e75b707 fa70bf04 06fdfd50 06fdfcdb
0x06fdfc4c:  7e75b6de 7d80badc 06fdfc7c f7e20e34
0x06fdfc5c:  f7c91cda 7da4a138 7da4a150 7da4a130
0x06fdfc6c:  7e2c3680 f7c91d70 7d80badc 00000001
0x06fdfc7c:  f7c91d40 06fdfc70 00000000 00000000
0x06fdfc8c:  1dfc8000 7cf00610 00000000 00000010
Backtrace:
=>0 0x7cf00438 (0x06fdfca8)
  1 0x7e66a1c8 in yabridge-host-32 (+0x3a1c8) (0x06fdff08)
  2 0x1dfc8000 (0x06fdff08)
  3 0x7e65f72a in yabridge-host-32 (+0x2f72a) (0x06fdff38)
  4 0x7bf08a70 in kernel32 (+0x28a70) (0x06fdff58)
  5 0x7bfa3c67 in ntdll (+0x53c67) (0x06fdff6c)
  6 0x7bfa5195 in ntdll (+0x55195) (0x06fdffec)
0x7cf00438: xor %al, (%eax,%esi,8)
Modules:
Module	Address			Debug info	Name (80 modules)
PE	01840000-01857000	Deferred        ck_envelope_32.sep
PE	01c60000-01c75000	Deferred        kdl_v2gl.sem
PE	01cb0000-01cc3000	Deferred        ck_auto_active_switch.sep
PE	02a90000-02aa3000	Deferred        kdl_v2gb.sem
PE	02ad0000-02aee000	Deferred        ck_gui_multi_level_x32.sep
PE	02ef0000-02f06000	Deferred        ck_host_super_x8_clock.sep
PE	03310000-03323000	Deferred        kdl_v2gf.sem
PE	03360000-03375000	Deferred        ck_scaler_2^x.sep
PE	03780000-03793000	Deferred        ck_stepper.sep
PE	03ba0000-03bb3000	Deferred        latch.sem
PE	03fc0000-03fe4000	Deferred        ck_unison_osc_a2.sep
PE	043f0000-04404000	Deferred        ck_x_mix.sep
PE	04810000-04825000	Deferred        ck_svar_filter_cascade_spread.sep
PE	04c30000-04c45000	Deferred        ck_pitch_to_svarcutoff.sep
PE	05050000-0506b000	Deferred        ck_chorus_driver.sep
PE	05470000-05483000	Deferred        wakeimpulse.sem
PE	10000000-103cb000	Deferred        isnonu
PE	7a5a0000-7a627000	Deferred        gdiplus
PE	7a630000-7a73e000	Deferred        oleaut32
PE	7a740000-7a755000	Deferred        compstui
PE	7a760000-7a7fc000	Deferred        winspool
PE	7a800000-7a951000	Deferred        comctl32
PE	7a960000-7aa5e000	Deferred        comdlg32
PE	7aa60000-7aa82000	Deferred        msacm32
PE	7aa90000-7ab53000	Deferred        winmm
PE	7ab60000-7ab96000	Deferred        uxtheme
PE	7aba0000-7abf6000	Deferred        winex11
PE	7ac00000-7ac1c000	Deferred        imm32
PE	7ac20000-7ac36000	Deferred        shcore
PE	7ac40000-7ac8a000	Deferred        shlwapi
PE	7ac90000-7b5b4000	Deferred        shell32
PE	7b5c0000-7b63d000	Deferred        rpcrt4
PE	7b640000-7b66f000	Deferred        win32u
PE	7b670000-7b826000	Deferred        user32
PE	7b830000-7b8b7000	Deferred        gdi32
PE	7b8c0000-7b90c000	Deferred        combase
PE	7b910000-7b9eb000	Deferred        ucrtbase
PE	7b9f0000-7ba18000	Deferred        sechost
PE	7ba20000-7bacb000	Deferred        msvcrt
PE	7bad0000-7bb12000	Deferred        advapi32
PE	7bb20000-7bc37000	Deferred        ole32
PE	7bc40000-7beda000	Deferred        kernelbase
PE	7bee0000-7bf44000	Dwarf           kernel32
PE	7bf50000-7bffb000	Dwarf           ntdll
ELF	7d94d000-7d95a000	Deferred        libxcursor.so.1
ELF	7d95a000-7d96f000	Deferred        libxi.so.6
ELF	7d96f000-7d97f000	Deferred        libxrandr.so.2
ELF	7da7f000-7dbd1000	Deferred        libx11.so.6
ELF	7dc79000-7dc81000	Deferred        libxfixes.so.3
ELF	7dc81000-7dc97000	Deferred        libxext.so.6
ELF	7dcc3000-7dd4f000	Deferred        winex11.so
ELF	7dde0000-7de0b000	Deferred        libexpat.so.1
ELF	7de0b000-7deac000	Deferred        libpcre2-8.so.0
ELF	7deac000-7e012000	Deferred        libglib-2.0.so.0
ELF	7e012000-7e132000	Deferred        libharfbuzz.so.0
ELF	7e132000-7e200000	Deferred        libfreetype.so.6
ELF	7e47e000-7e600000	Deferred        win32u.so
ELF	7e600000-7e91f000	Dwarf           yabridge-host-32<elf>
  \-PE	7e630000-7e91f000	\               yabridge-host-32
ELF	7e91f000-7e925000	Deferred        winspool.so
ELF	7e925000-7e933000	Deferred        libxrender.so.1
ELF	7e933000-7e986000	Deferred        libfontconfig.so.1
ELF	7ee04000-7ee27000	Deferred        libbrotlicommon.so.1
ELF	7ee27000-7ee36000	Deferred        libbrotlidec.so.1
ELF	7ee36000-7ee73000	Deferred        libpng16.so.16
ELF	7ee73000-7ee85000	Deferred        libbz2.so.1.0
ELF	7ee85000-7ee9e000	Deferred        libz.so.1
ELF	7ee9e000-7eea5000	Deferred        libxdmcp.so.6
ELF	7eea5000-7eeaa000	Deferred        libxau.so.6
ELF	7eeaa000-7eed3000	Deferred        libgcc_s.so.1
ELF	7eed3000-7efa7000	Deferred        libm.so.6
ELF	7efa7000-7efd4000	Deferred        libxcb.so.1
ELF	7efd8000-7efe0000	Deferred        libxxf86vm.so.1
ELF	f7c00000-f7e27000	Deferred        libc.so.6
ELF	f7e2b000-f7e30000	Deferred        libdl.so.2
ELF	f7ef3000-f7ef8000	Deferred        libpthread.so.0
ELF	f7ef8000-f7efd000	Deferred        librt.so.1
ELF	f7efd000-f7fb4000	Dwarf           ntdll.so
ELF	f7fb6000-f7feb000	Deferred        ld-linux.so.2
ELF	f7feb000-f7ff0000	Deferred        <wine-loader>
Threads:
process  tid      prio    name (all IDs are in hex)
00000020 (D) Z:\usr\bin\yabridge-host-32.exe
	00000024    0     
	0000010c    0     
	00000110    0     
	00000114    0     
	00000118    0     
	0000011c    0     
	00000120    0 <== 
	00000134    0     
00000038 services.exe
	0000003c    0     
	00000040    0     wine_rpcrt4_server
	0000004c    0     wine_rpcrt4_io
	00000070    0     wine_rpcrt4_io
	00000090    0     wine_rpcrt4_io
	000000c0    0     wine_rpcrt4_io
	000000d4    0     
	000000ec    0     wine_rpcrt4_io
00000044 winedevice.exe
	00000048    0     
	00000054    0     
	00000058    0     wine_sechost_service
	0000005c    0     
	00000060    0     
	00000064    0     
	000000cc    0     
	000000d0    0     
00000068 winedevice.exe
	0000006c    0     
	00000074    0     
	00000078    0     wine_sechost_service
	0000007c    0     
	00000080    0     
	00000084    0     
	00000094    0     
	000000a0    0     
00000088 plugplay.exe
	0000008c    0     
	00000098    0     
	0000009c    0     wine_sechost_service
	000000a4    0     wine_rpcrt4_server
	000000b0    0     wine_rpcrt4_io
000000a8 svchost.exe
	000000ac    0     
	000000c4    0     
	000000c8    0     wine_sechost_service
000000b8 explorer.exe
	000000bc    0     
	000000d8    0     
	000000dc    0     wine_rpcrt4_server
000000e4 rpcss.exe
	000000e8    0     
	000000f4    0     
	000000f8    0     wine_sechost_service
	000000fc    0     wine_rpcrt4_server
	00000100    0     wine_rpcrt4_server
	00000104    0     wine_rpcrt4_io
0000012c conhost.exe
	00000130    0     
System information:
    Wine build: wine-8.19
    Platform: x86_64 (guest: i386)
    Version: Windows 10
    Host system: Linux
    Host version: 6.6.1-arch1-1

Operating system

Arch

How did you install yabridge?

yabridge-bin in the AUR

yabridge version

5.1.0-1 (at least, that's the AUR package version)

yabridgectl version

5.1.0

Wine version

wine-8.19

Plugin

xoxos isnonu

Plugin type

VST2

Plugin architecture

32-bit

Host

Reaper 7.03

Desktop environment or WM

No response

GPU model

No response

GPU drivers and kernel

No response

Debug log

yabridge.log

Anything else?

These plugins are a significant part of my practice, so I would appreciate any attention you are able to give to this. Thankyou!

@jmckernon
Copy link
Author

Unchecking 'save state as VST bank (default)', under the VST's 'compatibility settings' menu in Reaper, seems to resolve this.

I won't close this issue as it is technically a bug and doesn't occur under windows or reaper-in-wine, so I'll leave it up to your discretion as to what to do about it. But in any case I think it has significantly less urgency from me now that I've found a workaround.

Thanks.

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

No branches or pull requests

1 participant