-
Notifications
You must be signed in to change notification settings - Fork 404
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
Cleaner error around missing windows.wt on linux and elsewhere (was Surge hard crashes in Renoise / Debian 10) #1247
Comments
Huh that only happens when reading wav files goes crazy. I’ve only seen it in the wild when reading a mis-formatted wav on windows and have never been able to capture it reliably. Do you have all the factory defaults in the right place? Most importantly, is your “windows.wt” file in the correct spot? They need to be in right share location - either global or local - for the synth to start up properly. My guess (guess) from your other note is that you are trying to run the synth with the assets in a non-standard location, you haven’t changed the location in the code though, and the load of window.wt in SurgeStorage which is needed to set up the window oscillator interpolation samples is failing. But that’s just a guess. |
surge/src/common/SurgeStorage.cpp Line 306 in 88755fe
That line is where the data path + “windows.wt” is loaded. We probably want to do some error checking on that file existing (but you would think the configuration.xml check would have already failed if the windows.wt file isn’t in the data path). |
Oh on linux we bake in configuration.xml so you actually won’t get an error message if your /usr/share is broken. So I bet that’s it. I think you either need to
And when I’m next in the code, for defensive purposes, I’ll
|
Oh also: if this is what’s reliably causing the crit section ref count runaway it’s great to have an example of that breakage so i can fix the code to do something more reasonable. I’m away from my laptop this weekend but will definitely look. I may end up splitting this into a couple of issues but for now I’ll tag this one 1.6.3 to at least make sure the defense goes into the next release. |
And finally finally as you can see here surge/src/common/SurgeStorage.cpp Line 180 in 88755fe
The path from which the files are read are controlled by XDG_DATA_PATH if set, and tries a local copy before resorting to global. that should answer your question over in the issue as to whether they can be somewhere else. I suppose that same code could also check SURGE_SHARE_LOCATION env or something and default to the behavior we currently have if not set. If you want to make it do that and fire in a PR I’d be happy to review and merge that sort of functionality. |
Hi Paul, thanks for the comments. I´m not a C programmer, so I really can´t help here. I didn´t install Surge by the installer, but just put surge.so and the surge presets folder into my home folder. If I undertand correctly surge wants to have the surge preset folder also in /usr/share . So the solution would be to copy the appropriate folder with root priveleges by hand into /usr/share. Right? Is the installer doing anything else? |
Yes the contents of resources/data need to be in /use/share/Surge or ~/.local/share/Surge Both the installer and the build-linux.sh script will do this for you Best |
I will try to put them in ~/.local/share/Surge. IIRC I tried this and it didn´t work. At least there was still an error message window popping up. Maybe this can be deactivated? |
Surge needs all that content laid out properly to work. It needs to be laid out correctly also (which is why we have the build script and the deb file to do so). So there’s sort of not anything to deactivate if you know what I mean! |
The deb installation was not working in Debian 10 due to a missing library. That´s why I had to compile it by myself. So, I guess I have to use the sh script afterwards to install it. I have to check if I have it in the folder when I´m back home. |
Oh and if you build with build Linux you can also install with it build-linux.sh install —project=vst2 —local Should do it |
Great, I do that then. Stupid question, but I need root privileges for that, right? |
The local option puts everything in your home directory so no not if you include local Without local yes you would |
Perfect. Thanks! |
to build only the VST2
to install local
to remove locally installed files |
If Windows.wt is missing, surge can go horribly awry. We issued no error message in this case. So do so now. Closes surge-synthesizer#1247
OK I'm pushing a change to make the windows.wt fail to load a much noisier error. That will close this issue. I'll open a separate issue not in the 1.6.3 pipeline for why this failure causes the criticsection overflow. |
If Windows.wt is missing, surge can go horribly awry. We issued no error message in this case. So do so now. Closes surge-synthesizer#1247
If Windows.wt is missing, surge can go horribly awry. We issued no error message in this case. So do so now. Closes #1247
Surge crashes Renoise in Debian 10 / XFCE with the following window:
https://i.imgur.com/0j5P27D.png
Version Build Oct. 6, VST2, 64 Bit
To Reproduce
Happens spontaneously
Desktop (please complete the following information):
Last line in Renoise terminal:
The text was updated successfully, but these errors were encountered: