sonic-pi-net / sonic-pi

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

Fedora 32 server boot error #2556

Closed rubensfig closed 2 years ago

rubensfig commented 3 years ago

Trying to run sonic-pi in fedora 32, obtained from the copr repo: https://copr.fedorainfracloud.org/coprs/ycollet/linuxmao/package/sonic-pi/

results in a hanging splash screen and this

Sonic Pi Boot Error Report

System Information

GUI Log

/root/.sonic-pi/log/gui.log

[GUI] - Welcome to the Sonic Pi GUI
[GUI] - ===========================
[GUI] -                            
[GUI] - {1e2244db-1de9-42a7-92d3-39dd2d327d8e}
[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: 12838
[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 51236...
[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

/root/.sonic-pi/log/server-errors.log

Cannot connect to server socket err = Connection refused
Cannot connect to server request channel
no message buffer overruns
no message buffer overruns
no message buffer overruns
lsof: WARNING: can't stat() fuse.portal file system /run/user/1000/doc
      Output information may be incomplete.

ATTENTION: The playback device "hw:0" is already in use. Please stop the application using it and run JACK again
JackTemporaryException : now quits...
Cannot initialize driver
JackServer::Open failed with -1
Failed to open server
Cannot connect to server socket err = Connection refused
Cannot connect to server request channel
Cannot connect to server socket err = Connection refused
Cannot connect to server request channel
Cannot connect to server socket err = Connection refused
Cannot connect to server request channel
Cannot connect to server socket err = Connection refused
Cannot connect to server request channel
Cannot connect to server socket err = Connection refused
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
terminate called without an active exception

Server Output

/root/.sonic-pi/log/server-output.log

Sonic Pi server booting...
This is version 3.2.0 running on Ruby 2.7.2.
The time is 2020-11-24 10:26:06 +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 already running. Not starting another server...
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 [12855] [-] 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/12855
Failed to start server: SIGTERM
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/util.rb:599:in `wait'
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/util.rb:599:in `kill_and_deregister_process'
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/scsynthexternal.rb:224:in `rescue in boot_and_wait'
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/scsynthexternal.rb:221:in `boot_and_wait'
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/scsynthexternal.rb:443:in `boot_server_linux'
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/scsynthexternal.rb:151:in `boot'
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/scsynthexternal.rb:37:in `initialize'
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/server.rb:78:in `new'
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/server.rb:78:in `initialize'
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/studio.rb:192:in `new'
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/studio.rb:192:in `init_scsynth'
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/studio.rb:57:in `initialize'
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/lang/sound.rb:89:in `new'
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/lang/sound.rb:89:in `block (2 levels) in included'
/usr/share/sonic-pi/app/server/ruby/lib/sonicpi/lang/ixi.rb:72:in `block (2 levels) in included'
/usr/share/sonic-pi/app/server/ruby/bin/sonic-pi-server.rb:302:in `new'
/usr/share/sonic-pi/app/server/ruby/bin/sonic-pi-server.rb:302:in `<main>'

Scsynth Output

/root/.sonic-pi/log/scsynth.log

# Starting SuperCollider 2020-11-24 10:26:06
Found 0 LADSPA plugins
jackdmp 1.9.14
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2019 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 20
self-connect-mode is "Don't restrict self connect requests"
audio_reservation_init
Acquire audio card Audio0
creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
Released audio card Audio0
audio_reservation_finish
could not initialize audio.

Process Log

/root/.sonic-pi/log/processes.log


Clearing pids: []
No pids to clear :-)
Started [12838] [-] /usr/bin/ruby-mri --enable-frozen-string-literal -E utf-8 /usr/share/sonic-pi/app/server/ruby/bin/sonic-pi-server.rb -u 51235 51236 51237 51237 4560 51240 51238 51239 51241 [-] /tmp/sonic-pi-pids/12838
Started [12855] [-] 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/12855

Clearing pids: ["12855", "12838"]

Clearing [12855]
  -- 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/12855

Clearing [12838]
  -- command /usr/bin/ruby-mri --enable-frozen-string-literal -E utf-8 /usr/share/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/12838
  -- politely killing 12838
rubensfig commented 3 years ago

Fixed by closing pulseaudio.

systemctl --user stop pulseaudio.service
systemctl --user pulseaudio.socket

And starting a qjackctl instance before opening sonic-pi.

Leaving the ticket open for comments on the issue.