Bev Posted November 10, 2020 Posted November 10, 2020 (edited) I am trying to install sonic-pi on 32 machines in an ict suite, it works great on some and on others it fails with an Critical error, could not boot sonic pi server. It was originally installed using an MSI / group policy if that makes a difference. I've tried all the usual things, made sure there is sufficient space on the hard drive, uninstalled and reinstalled, and always the same error. The portable version won't run either. Any ideas? I'm baffled as 2/3rds of the machines are fine and they are all essentially identical machines. - - - Updated - - - Sonic Pi Boot Error Report ================== System Information ---------------- * Sonic Pi version: 3.2.2 * OS: Windows 10 Version 1809 GUI Log ------- **`C:\Users\bev.stephenson\.sonic-pi\log\gui.log`** ``` [GUI] - Welcome to the Sonic Pi GUI [GUI] - =========================== [GUI] - [GUI] - {a7781240-fa7c-4e84-b3b1-9ac1427ca830} [GUI] - Discovering port numbers... [GUI] - Port entry server-listen-to-gui : 51236 : 51236 [GUI] - Port entry gui-send-to-server : 51236 : 51236 [GUI] - Port entry gui-listen-to-server : 51237 : 51237 [GUI] - Port entry server-send-to-gui : 51237 : 51237 [GUI] - Port entry scsynth : 51238 : 51238 [GUI] - Port entry scsynth-send : 51238 : 51238 [GUI] - Port entry osc-midi-out : 51239 : 51239 [GUI] - Port entry osc-midi-in : 51240 : 51240 [GUI] - Port entry server-osc-cues : 4560 : 4560 [GUI] - Port entry erlang-router : 51241 : 51241 [GUI] - Port entry websocket : 51242 : 51242 [GUI] - Detecting port numbers... [GUI] - GUI listen to server port 51237 [GUI] - port: 51237 [OK] [GUI] - Server listen to gui port 51236 [GUI] - port: 51236 [OK] [GUI] - Server incoming OSC cues port 4560 [GUI] - port: 4560 [OK] [GUI] - Scsynth port 51238 [GUI] - port: 51238 [OK] [GUI] - Server send to GUI port 51237 [GUI] - port: 51237 [OK] [GUI] - GUI send to server port 51236 [GUI] - port: 51236 [OK] [GUI] - Scsynth send port 51238 [GUI] - port: 51238 [OK] [GUI] - Erlang router port 51241 [GUI] - port: 51241 [OK] [GUI] - OSC MIDI out port 51239 [GUI] - port: 51239 [OK] [GUI] - OSC MIDI in port 51240 [GUI] - port: 51240 [OK] [GUI] - Websocket port 51242 [GUI] - port: 51242 [OK] [GUI] - All ports OK [GUI] - launching Sonic Pi Runtime Server: [GUI] - Ruby server pid registered: 799380 [GUI] - hiding main window [GUI] - initialising toolbar icons [GUI] - setting up window structure [GUI] - restoring scope states [GUI] - creating status bar [GUI] - creating info panel [GUI] - creating shortcuts [GUI] - creating tool bar [GUI] - initialising documentation window [GUI] - wait for sync [GUI] - waiting for Sonic Pi Server to boot... [GUI] - starting UDP OSC Server on port 51237... [GUI] - UDP OSC Server ready and listening ............................................................ [GUI] - Critical error! Could not boot Sonic Pi Server. [GUI] - stopping UDP OSC Server... [GUI] - Critical Error. Unable to connect to server.. [GUI] - UDP OSC Server no longer listening ``` Server Errors ------------- **`C:\Users\bev.stephenson\.sonic-pi\log\server-errors.log`** ``` ``` Server Output ------------- **`C:\Users\bev.stephenson\.sonic-pi\log\server-output.log`** ``` Sonic Pi server booting... This is version 3.2.0 running on Ruby 2.7.1. The time is 2020-11-10 09:42:12 +0000 Using primary protocol: udp Detecting port numbers... Listen port: 51236 - OK Scsynth port: 51238 - OK Scsynth send port: 51238 - OK OSC cues port: 4560 - OK Erlang port: 51241 - OK OSC MIDI out port: 51239 - OK OSC MIDI in port: 51240 - OK Websocket port: 51242 - OK Opening UDP Server to listen to GUI on port: 51236 ``` Scsynth Output -------------- **`C:\Users\bev.stephenson\.sonic-pi\log\scsynth.log`** ``` ``` Process Log -------------- **`C:\Users\bev.stephenson\.sonic-pi\log\processes.log`** ``` ssynth.log # Starting SuperCollider 2020-11-10 09:43:38 Exception in World_New: Access is denied. ``` processes log Clearing pids: [] No pids to clear :-) Started [937692] [-] "C:\Program Files\Sonic Pi\app\gui\qt\build\Release\..\..\..\..\..\app\server\native\ruby\bin\ruby.exe" --enable-frozen-string-literal -E utf-8 "C:\Program Files\Sonic Pi\app\gui\qt\build\Release\..\..\..\..\..\app\server\ruby\bin\sonic-pi-server.rb" -u 51235 51236 51237 51237 4560 51240 51238 51239 51241 [-] C:/Users/BEV~1.STE/AppData/Local/Temp/sonic-pi-pids/937692 Started [938168] [-] "C:\Program Files\Sonic Pi\app\server\native\scsynth.exe" -u 51237 -m 131072 -a 1024 -D 0 -R 0 -l 1 -i 16 -o 16 -U "C:/Program Files/Sonic Pi/app/server/native/plugins/" -b 4096 -B 127.0.0.1 [-] C:/Users/BEV~1.STE/AppData/Local/Temp/sonic-pi-pids/938168 Clearing pids: ["937692", "938168"] Clearing [937692] -- command "C:\Program Files\Sonic Pi\app\gui\qt\build\Release\..\..\..\..\..\app\server\native\ruby\bin\ruby.exe" --enable-frozen-string-literal -E utf-8 "C:\Program Files\Sonic Pi\app\gui\qt\build\Release\..\..\..\..\..\app\server\ruby\bin\sonic-pi-server.rb" -u 51235 51236 51237 51237 4560 51240 51238 51239 51241 -- removing C:/Users/BEV~1.STE/AppData/Local/Temp/sonic-pi-pids/937692 -- force killing 937692 -- killed 937692 Clearing [938168] -- command "C:\Program Files\Sonic Pi\app\server\native\scsynth.exe" -u 51237 -m 131072 -a 1024 -D 0 -R 0 -l 1 -i 16 -o 16 -U "C:/Program Files/Sonic Pi/app/server/native/plugins/" -b 4096 -B 127.0.0.1 -- removing C:/Users/BEV~1.STE/AppData/Local/Temp/sonic-pi-pids/938168 -- unable to get ProcTable info for: 938168 -- process: 938168 not running Finished clearing pids Servererrors.log doesn't exist Edited November 10, 2020 by Bev
BOOT Posted November 10, 2020 Posted November 10, 2020 Check the permissions on: C:\ProgramData\boost_interprocess and delete any files within. Check that scsynth.exe isn't still running. 1
Bev Posted November 10, 2020 Author Posted November 10, 2020 Thank you! It looks like permission on the boost process file. If I delete the folder then it works. Just checking if it works for different students, or if the folder will need deleting each time, but it looks like I'm getting somewhere.
samaaron Posted November 10, 2020 Posted November 10, 2020 Great that this was a fix. @BOOT3988 - do you know if there's anything we could do to improve Sonic Pi's boot process to avoid this in the future? Do you know what might be causing it? Is this perhaps because other apps are using Boost's interprocess stuff - or is it somehow Boost getting confused with itself? Also, if there any other things you think we could do to improve Sonic Pi's boot stability then I'd love to hear.
Bev Posted November 10, 2020 Author Posted November 10, 2020 The error returns for each new student that logs in, however, I have created a GPO to delete the folder on login and that does seem to have fixed it, barring that causing any unforeseen issues.
samaaron Posted November 10, 2020 Posted November 10, 2020 Interesting. Could you let me know the name(s) of the file(s) in that interprocess directory? Also, who is the owner? Is it the user that last logged in?
samaaron Posted November 10, 2020 Posted November 10, 2020 One solution would be to set the BOOST_INTERPROCESS_SHARED_DIR_PATH to something that's in a directory only the current user can access. Would the location that the .sonic-pi directory currently resides in be a good spot for that? This might fix this issue (which we've seen flare up quite a bit as Boost uses a pretty error-prone process to determine the name of this file).
BOOT Posted November 10, 2020 Posted November 10, 2020 @samaaron I use a custom launcher that does the following: Stops any scsynth or or sonic-pi processes running for that user Clears the contents of the numbered folder in boost_interprocess Runs sonic-pi This works pretty well, though I do occasionally have to clear the users .sonic-pi folder completely.
Bev Posted November 11, 2020 Author Posted November 11, 2020 The folder gets created with no permissions, it has the owner set to the person who ran sonic-pi, but no other permissions are displayed. That's my username, and not a student, so i haven't hidden it.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now