-
Notifications
You must be signed in to change notification settings - Fork 23
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
Strange errors when loading (win32) VSTs #16
Comments
More tests, this time they occur after loading a couple other VSTs before: http://www.vst4free.com/free_vst.php?id=1342 msvc debug output: debugger shows this line as where it happens (again): http://www.acustica-audio.com/index.php?option=com_virtuemart&page=shop.product_details&flypage=flypage.tpl&product_id=72&Itemid=53 msvc debug output: crash in same line as above, after FreeLibrary() Electri-Q (posihfopit edition) Exception thrown at 0x0055532D (Electri-Q (posihfopit edition).dll) in vstscan.exe: 0xC0000005: Access violation reading location 0x00000424. msvc debugger points at this line: Tone2 Firebird 'vstscan.exe' (Win32): Loaded 'D:\VstPlugins\Firebird\FireBird.dll'. Module was built without symbols. The program '[23456] vstscan.exe' has exited with code 0 (0x0). msvc debugger points to: |
Can anyone reproduce this behavior? |
So I tried testing this out with the plugins that have 64bit versions:
It seems that Azurite crashes upon unloading due to EDIT: These tests were run with the default rustup install on Win10, perhaps the results differ with |
I was writing a VST scanner that goes over all VSTs in my VST folder and calls get_info() on them.
Btw, all my VSTs are Win32 and mostly free ones.
After my scanner has processed a couple of VSTs, it crashes on some VSTs, but not always the same one on different runs. Also the way it crashes is different. Sometimes I get
thread panicked at 'Error code 126'
(ERROR_MOD_NOT_FOUND
), sometimes I getthread panicked at 'Error code 1411'
upon unloading (which isERROR_CLASS_DOES_NOT_EXIST
according to MSDN).It looks like these are maybe 2 different problems: One that occurs directly when loading a plugin (error 126), and one that only occurs after loading and unloading a couple of plugins, and then it occurs when unloading another plugin (but it happens on different plugins on different runs).
The second problem seems to be related to the way plugins are unloaded. E.g. the access violation happened on line 959 (right after FreeLibrary) here: http://pastebin.com/NQpUd3sm
Sometimes it freezes (like in an infinite loop), sometimes I get an access violation right after FreeLibrary on the plugin was called. (When it's frozen / in an infinite loop and I kill it, it's still visible in process explorer as suspended. Probably until I reboot. (So now I have like 12 instances there.))
(I then changed my scanner code to start a new thread for loading each VST but it didn't change the behavior.)
Below are some tests I did with free VSTs, you can download the VSTs if you want to reproduce this:
http://www.fullbucket.de/music/kern.html (the version on vst4free is an older one.)
http://www.acoustica.com/plugins/vst-directx.htm or http://www.vst4free.com/free_vst.php?plugin=Classic_Auto-Filter&id=505 (not sure if it's the same version as in the installer. I used the installer)
http://www.yohng.com/software/piano.html
http://www.yohng.com/software/rpiano.html
All tests are done with the win32 version of these VSTs.
All of these VSTs have been tested with common DAWs like Ableton Live, Reaper and VSThost and they work.
This is the line referenced in the error output:
https://github.com/Earlz/rust-dylib/blob/master/src/lib.rs#L37
The text was updated successfully, but these errors were encountered: