Sonic-pi: Sonic Pi 2.11.1 failing to open on Windows 7

Created on 26 Jun 2017  路  11Comments  路  Source: sonic-pi-net/sonic-pi

Hello,

We are seeing an issue with Sonic Pi not opening on Windows 7 if a user other than the first person to open Sonic Pi attempts to open the program on the same computer on the same day.

This seems to be the same issue as #1598 and one way of fixing it seems to be to delete the file structure from the affected PC:

C:\ProgramData\boost_interprocess\xxxxxxxxxx\SuperColliderServer_4556

First user:

debug.log

blank

processes.log

Clearing pids: []
No pids to clear :-)
Started [2392] [-] "C:\Program Files (x86)\Sonic Pi\app\gui\qt\release\..\..\..\..\app\server\native\win\ruby\bin\ruby.exe"  --enable-frozen-string-literal -E utf-8 "C:\Program Files (x86)\Sonic Pi\app\gui\qt\release\..\..\..\..\app\server\bin\sonic-pi-server.rb" -u 4557 4558 4556 4556 4559 [-] C:/Users/TEST~1.SOT/AppData/Local/Temp/sonic-pi-pids/2392
Started [6016] [-] "C:\Program Files (x86)\Sonic Pi\app\server\native\win\scsynth.exe" -u 4556 -a 1024 -m 131072 -D 0 -R 0 -l 1 -i 16 -o 16 -b 4096 -U "C:/Program Files (x86)/Sonic Pi/app/server/native/win/plugins/" -B 127.0.0.1 [-] C:/Users/TEST~1.SOT/AppData/Local/Temp/sonic-pi-pids/6016


Clearing pids: ["2392", "6016"]

Clearing [2392]
  -- command "C:\Program Files (x86)\Sonic Pi\app\gui\qt\release\..\..\..\..\app\server\native\win\ruby\bin\ruby.exe"  --enable-frozen-string-literal -E utf-8 "C:\Program Files (x86)\Sonic Pi\app\gui\qt\release\..\..\..\..\app\server\bin\sonic-pi-server.rb" -u 4557 4558 4556 4556 4559
  -- removing C:/Users/TEST~1.SOT/AppData/Local/Temp/sonic-pi-pids/2392
  -- unable to get ProcTable info for: 2392
  -- process: 2392 not running

Clearing [6016]
  -- command "C:\Program Files (x86)\Sonic Pi\app\server\native\win\scsynth.exe" -u 4556 -a 1024 -m 131072 -D 0 -R 0 -l 1 -i 16 -o 16 -b 4096 -U "C:/Program Files (x86)/Sonic Pi/app/server/native/win/plugins/" -B 127.0.0.1
  -- removing C:/Users/TEST~1.SOT/AppData/Local/Temp/sonic-pi-pids/6016
  -- unable to get ProcTable info for: 6016
  -- process: 6016 not running

Finished clearing pids

scsynth.log

# Starting SuperCollider 2017-06-26 14:20:54
SC FFT global init: cosTable initialised.

Device options:
  - MME : Microsoft Sound Mapper - Output   (device #0 with 0 ins 2 outs)
  - MME : Speakers (Realtek High Definiti   (device #1 with 0 ins 8 outs)
  - Windows WASAPI : Speakers (Realtek High Definition Audio)   (device #2 with 0 ins 2 outs)
  - Windows WDM-KS : Speakers (Realtek HD Audio output)   (device #3 with 0 ins 8 outs)
  - Windows WDM-KS : Line In (Realtek HD Audio Line input)   (device #4 with 2 ins 0 outs)
  - Windows WDM-KS : Microphone (Realtek HD Audio Mic input)   (device #5 with 2 ins 0 outs)
  - Windows WDM-KS : Stereo Mix (Realtek HD Audio Stereo input)   (device #6 with 2 ins 0 outs)

Booting with:
  Out: MME : Speakers (Realtek High Definiti
  Sample rate: 44100.000
  Latency (in/out): 0.000 / 0.091 sec
SC_AudioDriver: sample rate = 44100.000000, driver's block size = 64
SuperCollider 3 server ready.

Second user:

debug.log

blank

processes.log

Clearing pids: ["2256"]

Clearing [2256]
  -- command "C:\Program Files (x86)\Sonic Pi\app\gui\qt\release\..\..\..\..\app\server\native\win\ruby\bin\ruby.exe"  --enable-frozen-string-literal -E utf-8 "C:\Program Files (x86)\Sonic Pi\app\gui\qt\release\..\..\..\..\app\server\bin\sonic-pi-server.rb" -u 4557 4558 4556 4556 4559
  -- removing C:/Users/TESTPU~1/AppData/Local/Temp/sonic-pi-pids/2256
  -- unable to get ProcTable info for: 2256
  -- process: 2256 not running

Finished clearing pids

Started [648] [-] "C:\Program Files (x86)\Sonic Pi\app\gui\qt\release\..\..\..\..\app\server\native\win\ruby\bin\ruby.exe"  --enable-frozen-string-literal -E utf-8 "C:\Program Files (x86)\Sonic Pi\app\gui\qt\release\..\..\..\..\app\server\bin\sonic-pi-server.rb" -u 4557 4558 4556 4556 4559 [-] C:/Users/TESTPU~1/AppData/Local/Temp/sonic-pi-pids/648

scsynth.log

# Starting SuperCollider 2017-06-26 14:39:29
SC FFT global init: cosTable initialised.
Exception in World_New: Access is denied.

As a fix, would it be possible for Sonic Pi to delete the boost_interprocess folder as part of the sonic-pi/app/server/bin/task-clear.rb job?

I know this is more of an issue with SuperCollider/boost, but I thought I would post here as I am unfortunately seeing this issue when using Sonic Pi.

Kind regards,

Sota

EDIT - Formatting.

Windows boot

Most helpful comment

Hi, @samaaron, yes, I have started looking into the Windows packaging, but
I'm having some issues with the VM I had set up for that... I'll keep you
posted.

All 11 comments

@llloret - what do you think about this? :)

I've tried adding a cleanup process in the task-clear.rb, but it is failing to delete the folder due to some oddities with the _FileUtils.rm_r_ command.

Code added after line 128 of sonic-pi/app/server/bin/task-clear.rb.

# Let's tidy up the boost_interprocess folder
if File.exists? 'C:/ProgramData/boost_interprocess'
  log_process_info "  -- boost_interprocess exists. Let's try to tidy it."
    begin
      FileUtils.rm_r 'C:/ProgramData/boost_interprocess'
    rescue Exception => e
      log_process_info e.message
    end
else
  log_process_info "  -- boost_interprocess does not exist."
end

processes.log

Clearing pids: []
No pids to clear :-)
Started [4664] [-] "C:\Program Files (x86)\Sonic Pi\app\gui\qt\release\..\..\..\..\app\server\native\win\ruby\bin\ruby.exe"  --enable-frozen-string-literal -E utf-8 "C:\Program Files (x86)\Sonic Pi\app\gui\qt\release\..\..\..\..\app\server\bin\sonic-pi-server.rb" -u 4557 4558 4556 4556 4559 [-] C:/Users/TEST~1.SOT/AppData/Local/Temp/sonic-pi-pids/4664
Started [1916] [-] "C:\Program Files (x86)\Sonic Pi\app\server\native\win\scsynth.exe" -u 4556 -a 1024 -m 131072 -D 0 -R 0 -l 1 -i 16 -o 16 -b 4096 -U "C:/Program Files (x86)/Sonic Pi/app/server/native/win/plugins/" -B 127.0.0.1 [-] C:/Users/TEST~1.SOT/AppData/Local/Temp/sonic-pi-pids/1916


Clearing pids: ["1916", "4664"]

Clearing [1916]
  -- command "C:\Program Files (x86)\Sonic Pi\app\server\native\win\scsynth.exe" -u 4556 -a 1024 -m 131072 -D 0 -R 0 -l 1 -i 16 -o 16 -b 4096 -U "C:/Program Files (x86)/Sonic Pi/app/server/native/win/plugins/" -B 127.0.0.1
  -- removing C:/Users/TEST~1.SOT/AppData/Local/Temp/sonic-pi-pids/1916
  -- unable to get ProcTable info for: 1916
  -- process: 1916 not running

Clearing [4664]
  -- command "C:\Program Files (x86)\Sonic Pi\app\gui\qt\release\..\..\..\..\app\server\native\win\ruby\bin\ruby.exe"  --enable-frozen-string-literal -E utf-8 "C:\Program Files (x86)\Sonic Pi\app\gui\qt\release\..\..\..\..\app\server\bin\sonic-pi-server.rb" -u 4557 4558 4556 4556 4559
  -- removing C:/Users/TEST~1.SOT/AppData/Local/Temp/sonic-pi-pids/4664
  -- unable to get ProcTable info for: 4664
  -- process: 4664 not running
  -- boost_interprocess exists. Let's try to tidy it.
Directory not empty @ dir_s_rmdir - C:/ProgramData/boost_interprocess

Finished clearing pids


icacls C:\ProgramData\boost_interprocess

C:\ProgramData\boost_interprocess  No permissions are set. All users have full control.
Successfully processed 1 files; Failed processing 0 files

I did find one mention of a similar issue with _FileUtils.rm_r_ returning a "Directory not empty" error message at https://github.com/libgit2/rugged/issues/601, but I'm not sure how I'd apply their fix here :(

@samaaron do you think it might be worth posting this as an issue under the SuperCollider or boost repo instead? I would need to find a way of reproducing the issue first though, I think.

Kind regards,

Sota

Good question!

I am still adding the final touches to the documentation and then, unless @llloret beats me to it, I'll start working on packaging Windows - and work on this issue at the same time.

Hi, @samaaron, yes, I have started looking into the Windows packaging, but
I'm having some issues with the VM I had set up for that... I'll keep you
posted.

Thank you both for taking the time to support the Windows side of Sonic Pi.
Please let me know if there's anything else I can offer in regards to resolving this issue.

We're getting something at our school which may be related to this. @samaaron asked me to join in the conversation here. I'll be testing a couple versions of supercollider on Monday. And our IT guy says he's had some success today by creating user accounts with extra privelages. But, in short - our teacher accounts will generally run sonicpi fine, but for the students it crashes. Here's a log from the last time I tried to run the sonicpi 3 beta.

Sonic Pi Boot Error Report
==================


System Information
----------------

* Sonic Pi version: 3.0.1
* OS: Windows 7


GUI Log
-------

**`C:\Users\archer.broadway.MEO\.sonic-pi\log\gui.log`**

[GUI] - Detecting port numbers...
[GUI] - GUI OSC listen port 4558
[GUI] - port: 4558 [OK]
[GUI] - Server OSC listen port 4557
[GUI] - port: 4557 [OK]
[GUI] - Server incoming OSC cues port 4559
[GUI] - port: 4559 [OK]
[GUI] - Scsynth port 4556
[GUI] - port: 4556 [OK]
[GUI] - Server OSC out port 4558
[GUI] - GUI OSC out port 4557
[GUI] - Scsynth send port 4556
[GUI] - Erlang router port 4560
[GUI] - port: 4560 [OK]
[GUI] - OSC MIDI out port 4561
[GUI] - port: 4561 [OK]
[GUI] - OSC MIDI in port 4562
[GUI] - port: 4562 [OK]
[GUI] - Init script completed
[GUI] - using default editor colours
[GUI] - launching Sonic Pi Server:
[GUI] - starting UDP OSC Server on port 4558...
[GUI] - UDP OSC Server ready and listening
[GUI] - Ruby server pid registered: 3680
[GUI] - waiting for Sonic Pi Server to boot...
............................................................
[GUI] - Critical error! Could not boot Sonic Pi Server.
[GUI] - stopping UDP OSC Server...
[GUI] - UDP OSC Server no longer listening



Server Errors
-------------

**`C:\Users\archer.broadway.MEO\.sonic-pi\log\server-errors.log`**

Failed to load the fast_osc c-extension, falling back to pure Ruby version
Overriding fast_osc c-extension FastOsc::decode_single_message, falling back to pure Ruby version



Server Output
-------------

**`C:\Users\archer.broadway.MEO\.sonic-pi\log\server-output.log`**

Sonic Pi server booting...
Using protocol: udp
Detecting port numbers...
Send port: 4558
Listen port: 4557
- OK
Scsynth port: 4556
- OK
Scsynth send port: 4556
- OK
OSC cues port: 4559
- OK
Erlang port: 4560
- OK
OSC MIDI out port: 4561
- OK
OSC MIDI in port: 4562
- OK



Scsynth Output
--------------

**`C:\Users\archer.broadway.MEO\.sonic-pi\log\scsynth.log`**

# Starting SuperCollider 2017-11-29 15:01:52
SC FFT global init: cosTable initialised.
Exception in World_New: Access is denied.



Process Log
--------------

**`C:\Users\archer.broadway.MEO\.sonic-pi\log\processes.log`**

No pids store found here: C:/Users/ARCHER~1.MEO/AppData/Local/Temp/sonic-pi-pids
Exiting
Creating pids store: C:/Users/ARCHER~1.MEO/AppData/Local/Temp/sonic-pi-pids
Started [3680] [-] "C:\Program Files (x86)\Sonic Pi\app\gui\qt\release\..\..\..\..\app\server\native\win\ruby\bin\ruby.exe" --enable-frozen-string-literal -E utf-8 "C:\Program Files (x86)\Sonic Pi\app\gui\qt\release\..\..\..\..\app\server\bin\sonic-pi-server.rb" -u 4557 4558 4556 4556 4559 4560 4561 4562 [-] C:/Users/ARCHER~1.MEO/AppData/Local/Temp/sonic-pi-pids/3680

@glennbroadway did you make any progress here?

Also, did you see that v3.1.0 is available for Windows now? It would be wonderful if you could try that to see if it fixes your issue :-)

https://github.com/samaaron/sonic-pi/releases/tag/v3.1.0

glennbroadway

Thank you

No luck Sam - I will definitely try v3.1.0 as soon as possible, but I fear the problem is not within your purview.

Glenn

@glennbroadway I think you may be correct. However, Sonic Pi v3.1.0 is packaged with the latest SuperCollider 3.9 so that may have possibly improved things for you so it's worth a quick try :-)

Closing this here as it's a duplicate of #959 - let's continue the discussion over there :-)

Was this page helpful?
0 / 5 - 0 ratings