flathub / net.sonic_pi.SonicPi

https://flathub.org/apps/details/net.sonic_pi.SonicPi
1 stars 1 forks source link

Sonic Pi Boot Error with 3.3.1 (Ubuntu & Raspberry Pi OS) #3

Open mattsches opened 3 years ago

mattsches commented 3 years ago

I've just installed the flatpak for version 3.3.1 from flathub, but Sonic Pi could not boot succesfully. I'm attaching what I think are the relevant parts of the log output. If more info is needed, I can attach the full log.

Sonic Pi Boot Error Report

System Information

GUI Log
-------
[…snip…]

[GUI] - starting UDP OSC Server on port 51236...
[GUI] - starting UDP OSC Server on port 51236...
[GUI] - launching Sonic Pi Runtime Server:
[GUI] - UDP OSC Server ready and listening
[GUI] - Ruby server pid registered: 22
[GUI] - wait for sync
[GUI] - waiting for Sonic Pi Server to boot...
............................................................
[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

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

Ignoring executable-hooks-1.3.2 because its extensions are not built. Try: gem pristine executable-hooks --version 1.3.2
Ignoring ffi-1.9.25 because its extensions are not built. Try: gem pristine ffi --version 1.9.25
Ignoring gem-wrappers-1.2.7 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.2.7
sh: Zeile 1: exec: jackd: Nicht gefunden.
terminate called without an active exception
Ignoring executable-hooks-1.3.2 because its extensions are not built. Try: gem pristine executable-hooks --version 1.3.2
Ignoring ffi-1.9.25 because its extensions are not built. Try: gem pristine ffi --version 1.9.25
Ignoring gem-wrappers-1.2.7 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.2.7
Ignoring executable-hooks-1.3.2 because its extensions are not built. Try: gem pristine executable-hooks --version 1.3.2
Ignoring ffi-1.9.25 because its extensions are not built. Try: gem pristine ffi --version 1.9.25
Ignoring gem-wrappers-1.2.7 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.2.7
hfiguiere commented 3 years ago

I botched the update. Please try the next build (will be available in a couple of hours).

hfiguiere commented 3 years ago

(it should be available now)

vescovaccio commented 3 years ago

Tried this morning and it didn't get past the splash. Gui.log says all ok. Server-errors.log say "jack server is not running or cannot be started".

hfiguiere commented 3 years ago

It shouldn't even be trying to start jack (this won't work in the sandbox)

Which distro are you using? An which version of pipewire is installed?

mattsches commented 3 years ago

Still not working here, it's trying to start jackd but doesn't find it. I'm running Ubuntu 20.10 with x11, so no pipewire installed here. Does it expect pipewire to be running?

vescovaccio commented 3 years ago

I'm using Ubuntu 20.10. Pipewire isn't installed by default, with Ubuntu preferring to use PulseAudio instead, since the default session is X rather than Wayland. This may be why it isn't working. PulseAudio relies on audio and video user groups I believe, while Pipewire doesn't, as it uses PolKit security to ask Flatpack for permissions. So I imagine the Flatpak isn't working with PulseAudio, and for the same reasons is trying and failing to start jackd, all down to user groups. It simply can't get the permissions in the way it wants. I tried installing Pipewire, but Ubuntu on X always defaults to PulseAudio, and removing PulseAudio doesn't work either. I don't know ... perhaps the session needs to be Wayland to work nicely with Pipewire and Flatpak. I imagine if you are on a Fedora or an Arch-based distro, using Wayland, then it all goes swimmingly. I know Wayland as default is planned for Ubuntu 21.04, I don't know whether Pipewire is or not, but that should be the option for Ubuntu, because Pipewire allows for remote desktop on Wayland. Don't know whether this helps. Perhaps on Ubuntu we have to wait patiently and see ...

hfiguiere commented 3 years ago

Just to be clear.

I'm using Ubuntu 20.10. Pipewire isn't installed by default, with Ubuntu preferring to use PulseAudio instead, since the default session is X rather than Wayland. This may be why it isn't working.

The lack of Pipewire is why it isn't working.

The rest is irrelevant. Pipewire doesnt prevent PulseAudio or X11 or whatever. Pipewire doesn't require Wayland. It is just that some security hole of X11 don't exist in Wayland thus Pipewire fill the gaps here for, namely, screen recording.

Which version of pipewire? Because it needs 0.3.

I do not have Ubuntu to test anything.

hfiguiere commented 3 years ago

Still not working here, it's trying to start jackd but doesn't find it. I'm running Ubuntu 20.10 with x11, so no pipewire installed here. Does it expect pipewire to be running?

Pipewire is the only way to have JACK work from the Flatpak sandbox.

There is no jackd in the sandbox.

vescovaccio commented 3 years ago

Ok, thanks! Good to know that Pipewire doesn't require Wayland. Pipewire 0.3.0 is in the repo, so that's what I tried, but even uninstalling PulseAudio, I somehow can't get Ubuntu to use Pipewire. I simply don't know how to get it to work. I guess when Ubuntu moves to Wayland this year, they'll incorporate Pipewire to maintain screen-sharing capability.

hfiguiere commented 3 years ago

Raspberry Pi OS (64-bits) ship with pipewire 0.2 (from Debian Buster), and has the same problem.... :-/

RilDev commented 2 years ago

Has someone found a solution to this issue? I'm still unable to start sonic-pi.

Sonic Pi Boot Error

Apologies, a critical error occurred during startup:

 Critical error! - Could not boot Sonic Pi Server.

Please consider reporting a bug at
http://github.com/samaaron/sonic-pi/issues

Here is the error's log in case it helps:

Sonic Pi Boot Error Report

System Information

GUI Log

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

[GUI] -                            
[GUI] -                            
[GUI] -                            
[GUI] - Welcome to the Sonic Pi GUI
[GUI] - ===========================
[GUI] -                            
[GUI] - {f5e8b7f6-6670-4e1a-9d8a-b3e3e16bfcf7}
[GUI] - ui locale:  en-US
[GUI] - sys locale: en_US
[GUI] - translations available 
[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 server-osc-cues : 4560 : 4560
[GUI] - Port entry erlang-router : 51238 : 51238
[GUI] - Port entry websocket : 51239 : 51239
[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 51238
[GUI] -    port: 51238 [OK]
[GUI] - Websocket port 51239
[GUI] -    port: 51239 [OK]
[GUI] - All ports OK
[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] - launching Sonic Pi Runtime Server:
[GUI] - starting UDP OSC Server on port 51236...
[GUI] - UDP OSC Server ready and listening
[GUI] - Ruby server pid registered: 29
[GUI] - wait for sync
[GUI] - waiting for Sonic Pi Server to boot...
............................................................
[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

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

sh: line 1: exec: jackd: not found
terminate called without an active exception

Server Output

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

Sonic Pi server booting...
The time is 2022-03-10 16:57:37 +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: 51238
  - OK
Websocket port: 4562
  - 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...
Boot - Starting the SuperCollider server...
Started [42] [-] sh [-] /var/tmp/sonic-pi-pids/42
Started [44] [-] scsynth [-] /var/tmp/sonic-pi-pids/44
Failed to start server: SIGTERM
/app/app/server/ruby/lib/sonicpi/util.rb:685:in `wait'
/app/app/server/ruby/lib/sonicpi/util.rb:685:in `kill_and_deregister_process'
/app/app/server/ruby/lib/sonicpi/scsynthexternal.rb:253:in `rescue in boot_and_wait'
/app/app/server/ruby/lib/sonicpi/scsynthexternal.rb:250:in `boot_and_wait'
/app/app/server/ruby/lib/sonicpi/scsynthexternal.rb:462:in `boot_server_linux'
/app/app/server/ruby/lib/sonicpi/scsynthexternal.rb:172:in `boot'
/app/app/server/ruby/lib/sonicpi/scsynthexternal.rb:58:in `initialize'
/app/app/server/ruby/lib/sonicpi/server.rb:80:in `new'
/app/app/server/ruby/lib/sonicpi/server.rb:80:in `initialize'
/app/app/server/ruby/lib/sonicpi/studio.rb:117:in `new'
/app/app/server/ruby/lib/sonicpi/studio.rb:117:in `init_scsynth'
/app/app/server/ruby/lib/sonicpi/studio.rb:52:in `initialize'
/app/app/server/ruby/lib/sonicpi/lang/sound.rb:89:in `new'
/app/app/server/ruby/lib/sonicpi/lang/sound.rb:89:in `block (2 levels) in included'
/app/app/server/ruby/lib/sonicpi/lang/ixi.rb:72:in `block (2 levels) in included'
/app/app/build/gui/qt/../../../../app/server/ruby/bin/sonic-pi-server.rb:344:in `new'
/app/app/build/gui/qt/../../../../app/server/ruby/bin/sonic-pi-server.rb:344:in `<main>'

Scsynth Output

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

# Starting SuperCollider 2022-03-10 16:57:37
Found 0 LADSPA plugins
could not initialize audio.

Process Log

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


    ask-clear.rb

Clearing pids: []
No pids to clear :-)
Started [29] [-] /app/bin/ruby --enable-frozen-string-literal -E utf-8 /app/app/build/gui/qt/../../../../app/server/ruby/bin/sonic-pi-server.rb -u 51235 51236 51237 51237 4560 51238 51239 [-] /var/tmp/sonic-pi-pids/29
Started [42] [-] sh [-] /var/tmp/sonic-pi-pids/42
Started [44] [-] scsynth [-] /var/tmp/sonic-pi-pids/44

    ask-clear.rb

Clearing pids: ["29", "44", "42"]

Clearing [29]
  -- command /app/bin/ruby --enable-frozen-string-literal -E utf-8 /app/app/build/gui/qt/../../../../app/server/ruby/bin/sonic-pi-server.rb -u 51235 51236 51237 51237 4560 51238 51239
  -- removing /var/tmp/sonic-pi-pids/29
  -- politely killing 29
RilDev commented 2 years ago

I got it working on Ubuntu:

It should launch and work as expected!

image image image

Here is how to use flatpak: https://docs.flatpak.org/en/latest/using-flatpak.html

It makes years I have been trying on and off to make this work on Ubuntu! I'm so glad! Praise the Lord Jesus! He gives good gifts to those that never give up!