sonic-pi-net / sonic-pi

Code. Music. Live.
https://sonic-pi.net
Other
10.74k stars 918 forks source link

Sonic Pi v3.2.2 Boot Error: Critical error! - Could not boot Sonic Pi Server #3372

Open rufailimantawa opened 7 months ago

rufailimantawa commented 7 months ago

Sonic Pi Boot Error Report

System Information

GUI Log

/home/pipper/.sonic-pi/log/gui.log

[GUI] - Welcome to the Sonic Pi GUI
[GUI] - ===========================
[GUI] -                            
[GUI] - {1bb0a947-65ff-47ab-98b9-ed1d24dac702}
[GUI] - Discovering port numbers...
[GUI] - Port entry server-listen-to-gui : 51235 : 51235
[GUI] - Port entry gui-send-to-server : 51235 : 51235
[GUI] - Port entry gui-listen-to-server : 51236 : 51236
[GUI] - Port entry server-send-to-gui : 51236 : 51236
[GUI] - Port entry scsynth : 51237 : 51237
[GUI] - Port entry scsynth-send : 51237 : 51237
[GUI] - Port entry osc-midi-out : 51238 : 51238
[GUI] - Port entry osc-midi-in : 51239 : 51239
[GUI] - Port entry server-osc-cues : 4560 : 4560
[GUI] - Port entry erlang-router : 51240 : 51240
[GUI] - Port entry websocket : 51241 : 51241
[GUI] - Detecting port numbers...
[GUI] - GUI listen to server port 51236
[GUI] -    port: 51236 [OK]
[GUI] - Server listen to gui port 51235
[GUI] -    port: 51235 [OK]
[GUI] - Server incoming OSC cues port 4560
[GUI] -    port: 4560 [OK]
[GUI] - Scsynth port 51237
[GUI] -    port: 51237 [OK]
[GUI] - Server send to GUI port 51236
[GUI] -    port: 51236 [OK]
[GUI] - GUI send to server port 51235
[GUI] -    port: 51235 [OK]
[GUI] - Scsynth send port 51237
[GUI] -    port: 51237 [OK]
[GUI] - Erlang router port 51240
[GUI] -    port: 51240 [OK]
[GUI] - OSC MIDI out port 51238
[GUI] -    port: 51238 [OK]
[GUI] - OSC MIDI in port 51239
[GUI] -    port: 51239 [OK]
[GUI] - Websocket port 51241
[GUI] -    port: 51241 [OK]
[GUI] - All ports OK
[GUI] - launching Sonic Pi Runtime Server:
[GUI] - Ruby server pid registered: 22574
[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...
Server on port 51236...
[GUI] - waiting for Sonic Pi Server to boot...
[GUI] - UDP OSC Server ready and listening
...............................
[GUI] - Sonic Pi Server failed to start with this error message: 
      > Server Exception:
 Boot - Unable to connect to SuperCollider
 ["/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/scsynthexternal.rb:267:in `boot_and_wait'", "/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/scsynthexternal.rb:443:in `boot_server_linux'", "/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/scsynthexternal.rb:151:in `boot'", "/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/scsynthexternal.rb:37:in `initialize'", "/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/server.rb:78:in `new'", "/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/server.rb:78:in `initialize'", "/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/studio.rb:192:in `new'", "/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/studio.rb:192:in `init_scsynth'", "/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/studio.rb:57:in `initialize'", "/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/lang/sound.rb:89:in `new'", "/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/lang/sound.rb:89:in `block (2 levels) in included'", "/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/lang/ixi.rb:72:in `block (2 levels) in included'", "/usr/lib/sonic-pi/app/server/ruby/bin/sonic-pi-server.rb:302:in `new'", "/usr/lib/sonic-pi/app/server/ruby/bin/sonic-pi-server.rb:302:in `<main>'"]
[GUI] - UDP OSC Server no longer listening
.............................
[GUI] - Critical error! Could not boot Sonic Pi Server.
[GUI] - stopping UDP OSC Server...
[GUI] - Critical Error. Unable to connect to server..

Server Errors

/home/pipper/.sonic-pi/log/server-errors.log

no message buffer overruns
no message buffer overruns
no message buffer overruns
jack_port_get_buffer called with an incorrect port 0
Cannot read socket fd = 14 err = Connection reset by peer
Could not read notification result
ClientNotify fails name = SuperCollider notification = 18 val1 = 0 val2 = 0
Cannot write socket fd = 14 err = Broken pipe
CheckRes error
Could not write notification
ClientNotify fails name = SuperCollider notification = 18 val1 = 1 val2 = 0
Cannot write socket fd = 14 err = Broken pipe
CheckRes error
Could not write notification
ClientNotify fails name = SuperCollider notification = 4 val1 = 0 val2 = 0
Unknown error...
terminate called after throwing an instance of 'Jack::JackTemporaryException'
  what():  

Server Output

/home/pipper/.sonic-pi/log/server-output.log

Sonic Pi server booting...
This is version 3.2.0 running on Ruby 2.7.4.
The time is 2024-02-10 14:31:51 +0100
Using primary protocol: udp
Detecting port numbers...
Listen port: 51235
  - OK
Scsynth port: 51237
  - OK
Scsynth send port: 51237
  - OK
OSC cues port: 4560
  - OK
Erlang port: 51240
  - OK
OSC MIDI out port: 51238
  - OK
OSC MIDI in port: 51239
  - OK
Websocket port: 51241
  - OK
Opening UDP Server to listen to GUI on port: 51235
Starting Server Runtime
Booting server...

Booting Sonic Pi
----------------

Booting on Linux
Jackd not running on system. Starting...
jackdmp 1.9.17
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2021 Filipe Coelho.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
audio_reservation_init
Acquire audio card Audio0
creating alsa driver ... hw:0|hw:0|2048|3|44100|0|0|nomon|swmeter|-|32bit
configuring for 44100Hz, period = 2048 frames (46.4 ms), buffer = 3 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 3 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 3 periods for playback
Started [22587] [-] jackd -R -T -p 32 -d alsa -n 3 -p 2048 -r 44100 [-] /tmp/sonic-pi-pids/22587
Boot - Starting the SuperCollider server...
Boot - scsynth -u 51237 -m 131072 -a 1024 -D 0 -R 0 -l 1 -i 16 -o 16 -b 4096 -B 127.0.0.1
Started [22597] [-] scsynth -u 51237 -m 131072 -a 1024 -D 0 -R 0 -l 1 -i 16 -o 16 -b 4096 -B 127.0.0.1 [-] /tmp/sonic-pi-pids/22597
Boot - SuperCollider booted successfully.
Boot - Connecting to the SuperCollider server...
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Sending /status to server: 127.0.0.1:51237
Boot - Unable to connect to SuperCollider
Failed to start server: Boot - Unable to connect to SuperCollider
/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/scsynthexternal.rb:267:in `boot_and_wait'
/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/scsynthexternal.rb:443:in `boot_server_linux'
/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/scsynthexternal.rb:151:in `boot'
/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/scsynthexternal.rb:37:in `initialize'
/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/server.rb:78:in `new'
/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/server.rb:78:in `initialize'
/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/studio.rb:192:in `new'
/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/studio.rb:192:in `init_scsynth'
/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/studio.rb:57:in `initialize'
/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/lang/sound.rb:89:in `new'
/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/lang/sound.rb:89:in `block (2 levels) in included'
/usr/lib/sonic-pi/app/server/ruby/lib/sonicpi/lang/ixi.rb:72:in `block (2 levels) in included'
/usr/lib/sonic-pi/app/server/ruby/bin/sonic-pi-server.rb:302:in `new'
/usr/lib/sonic-pi/app/server/ruby/bin/sonic-pi-server.rb:302:in `<main>'

Scsynth Output

/home/pipper/.sonic-pi/log/scsynth.log

# Starting SuperCollider 2024-02-10 14:31:52
Found 0 LADSPA plugins
JackDriver: client name is 'SuperCollider'
SC_AudioDriver: sample rate = 44100.000000, driver's block size = 2048
SuperCollider 3 server ready.

Process Log

/home/pipper/.sonic-pi/log/processes.log


Clearing pids: ["21780", "21798", "21805"]

Clearing [21780]
  -- command /usr/bin/ruby -E utf-8 /usr/lib/sonic-pi/app/server/ruby/bin/sonic-pi-server.rb -u 51235 51236 51237 51237 4560 51240 51238 51239 51241
  -- removing /tmp/sonic-pi-pids/21780
  -- unable to get ProcTable info for: 21780
  -- process: 21780 not running

Clearing [21798]
  -- command jackd -R -T -p 32 -d alsa -n 3 -p 2048 -r 44100
  -- removing /tmp/sonic-pi-pids/21798
  -- unable to get ProcTable info for: 21798
  -- process: 21798 not running

Clearing [21805]
  -- command scsynth -u 51237 -m 131072 -a 1024 -D 0 -R 0 -l 1 -i 16 -o 16 -b 4096 -B 127.0.0.1
  -- removing /tmp/sonic-pi-pids/21805
  -- unable to get ProcTable info for: 21805
  -- process: 21805 not running

Finished clearing pids

Started [22574] [-] /usr/bin/ruby -E utf-8 /usr/lib/sonic-pi/app/server/ruby/bin/sonic-pi-server.rb -u 51235 51236 51237 51237 4560 51240 51238 51239 51241 [-] /tmp/sonic-pi-pids/22574
Started [22587] [-] jackd -R -T -p 32 -d alsa -n 3 -p 2048 -r 44100 [-] /tmp/sonic-pi-pids/22587
Started [22597] [-] scsynth -u 51237 -m 131072 -a 1024 -D 0 -R 0 -l 1 -i 16 -o 16 -b 4096 -B 127.0.0.1 [-] /tmp/sonic-pi-pids/22597
idommason commented 3 months ago

Not sure if you've fixed this yet or not

If you are trying to run on linux on a x86 computer (Parrot OS seems to have versions for raspberry PIs on arm, too)

then forget the version 3.2.2

Download the am64 .deb version of 3.3.1 from referenced in

https://in-thread.sonic-pi.net/t/binary-deb-for-ubuntu-20-04-and-20-1-for-sp-3-3-1/5141

and when you get the .deb file

sudo dkpg -i filename.deb

and then you have to fix missing dependencies

sudo apt update –fix-missing

You also have to be a member of the audio group, and you have to have Real Time Priority

You can do

sudo usermod -aG audio $USER

that adds you to the "audio" user group

and if RT priority is not enabled, do this

sudo dpkg-reconfigure jackd2

This creates /etc/security/limits.d/audio.conf

and gives members of the audio group Real Time Priority

This should allow you to run Sonic-Pi 3.3.1 rather than 3.2.2

Not sure exactly what Parrot OS is, other than it is Debian based - but Parrot OS can be on an amd64 CPU, as well as an arm based raspberry pi cpu

I think it is now becoming important to declare whether your OS is amd64 or arm based, because it does make a difference, and the linux amd64 versions are not explicitly supported

I hope this helps