Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unable to start on linux: Assertion `(ctrl_data->m_value_bytes % table.size) == 0' failed. #1805

Closed
faebser opened this issue Jan 23, 2018 · 7 comments

Comments

@faebser
Copy link

faebser commented Jan 23, 2018

Hi,

Sadly I'm unable to start sonic-pi on my computer:

System Information

OS: Arch Linux 4.14.14-1-ARCH
Sonic-Pi: 3.0.1

Command line Output

$ sonic-pi
Remember to start jackd (using qjackctl or some other program) before launching!
Fontconfig error: "/etc/fonts/conf.d/44-source-han-sans-otc.conf", line 1: no element found
Fontconfig error: "/etc/fonts/conf.d/44-source-han-serif-otc.conf", line 1: no element found
                                ╘
                         ─       ╛▒╛
                          ▐╫       ▄█├
                   ─╟╛      █▄      ╪▓▀
         ╓┤┤┤┤┤┤┤┤┤  ╩▌      ██      ▀▓▌
          ▐▒   ╬▒     ╟▓╘    ─▓█      ▓▓├
          ▒╫   ▒╪      ▓█     ▓▓─     ▓▓▄
         ╒▒─  │▒       ▓█     ▓▓     ─▓▓─
         ╬▒   ▄▒ ╒    ╪▓═    ╬▓╬     ▌▓▄
         ╥╒   ╦╥     ╕█╒    ╙▓▐     ▄▓╫
                    ▐╩     ▒▒      ▀▀
                         ╒╪      ▐▄

       _____             __        ____  __
      / ___/____  ____  /_/____   / __ \/_/
      \__ \/ __ \/ __ \/ / ___/  / /_/ / /
     ___/ / /_/ / / / / / /__   / ____/ /
    /____/\____/_/ /_/_/\___/  /_/   /_/

   The Live Coding Music Synth for Everyone

            http://sonic-pi.net

sonic-pi: /usr/include/boost/interprocess/segment_manager.hpp:861: void* boost::interprocess::segment_manager<CharType, MemoryAlgorithm, IndexType>::priv_generic_find(const CharT*, IndexType<boost::interprocess::ipcdetail::index_config<CharT, MemoryAlgorithm> >&, boost::interprocess::ipcdetail::in_place_interface&, boost::interprocess::segment_manager<CharType, MemoryAlgorithm, IndexType>::size_type&, boost::interprocess::ipcdetail::true_, bool) [with CharT = char; CharType = char; MemoryAlgorithm = boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>; IndexType = boost::interprocess::iset_index; boost::interprocess::segment_manager<CharType, MemoryAlgorithm, IndexType>::size_type = long unsigned int; boost::interprocess::ipcdetail::true_ = boost::interprocess::ipcdetail::bool_<true>]: Assertion `(ctrl_data->m_value_bytes % table.size) == 0' failed.
/usr/bin/sonic-pi: line 3: 23134 Aborted                 (core dumped) /opt/sonic-pi/app/gui/qt/sonic-pi

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: 23168
[GUI] - waiting for Sonic Pi Server to boot...
...
[GUI] - Sonic Pi Server successfully booted.
[GUI] - waiting for Sonic Pi Server to respond...
..
[GUI] - Sonic Pi Server connection established
[GUI] - loading workspaces

Server Logs

/opt/sonic-pi/app/server/vendor/sys-proctable-1.1.3/lib/linux/sys/proctable.rb:112: warning: constant ::Fixnum is deprecated
ERROR system_capture_1 not a valid port
ERROR system_capture_2 not a valid port
/opt/sonic-pi/app/server/vendor/sys-proctable-1.1.3/lib/linux/sys/proctable.rb:112: warning: constant ::Fixnum is deprecated
/opt/sonic-pi/app/server/vendor/sys-proctable-1.1.3/lib/linux/sys/proctable.rb:112: warning: constant ::Fixnum is deprecated
/opt/sonic-pi/app/server/vendor/sys-proctable-1.1.3/lib/linux/sys/proctable.rb:112: warning: constant ::Fixnum is deprecated

Server Output

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
Booting server...


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

Booting on Linux
Jackd already running. Not starting another server...
Boot - Starting the SuperCollider server...
Boot - scsynth -u 4556 -m 131072 -a 1024 -D 0 -R 0 -l 1 -i 16 -o 16 -b 4096
Started [23189] [-] scsynth -u 4556 -m 131072 -a 1024 -D 0 -R 0 -l 1 -i 16 -o 16 -b 4096 [-] /tmp/sonic-pi-pids/23189
Boot - SuperCollider booted successfully.
Boot - Connecting to the SuperCollider server...
Boot - Sending /status to server: 127.0.0.1:4556
Boot - Receiving ack from scsynth
Boot - Server connection established
Studio - Initialised SuperCollider Audio Server v3.9.0
Studio - Resetting server
Studio - Studio - clearing scsynth
Studio - Studio - allocating audio bus
Studio - Studio - Create Base Synth Groups
Studio - Starting mixer
Studio - Starting scope
erl -pz "/opt/sonic-pi/app/server/erlang" -s pi_server start 4560
Started [23216] [-] /usr/lib/erlang/erts-9.2/bin/beam.smp -- -root /usr/lib/erlang -progname erl -- -home /home/faebser -- -pz /opt/sonic-pi/app/server/erlang -s pi_server start 4560 [-] /tmp/sonic-pi-pids/23216
Studio - Spawning o2m with:
    '/opt/sonic-pi/app/server/native/linux/osmid/o2m' -b -i 4561 -O 4562 -m 6
Started [23265] [-] /opt/sonic-pi/app/server/native/linux/osmid/o2m -b -i 4561 -O 4562 -m 6 [-] /tmp/sonic-pi-pids/23265
Studio - Spawning m2o with:
    '/opt/sonic-pi/app/server/native/linux/osmid/m2o' -b -o 4562 -m 6 'Sonic Pi'
Started [23269] [-] /opt/sonic-pi/app/server/native/linux/osmid/m2o -b -o 4562 -m 6 Sonic Pi [-] /tmp/sonic-pi-pids/23269
Studio - Initialised MIDI subsystems
This is Sonic Pi v3.0.1 running on linux with ruby api 2.5.0.
Sonic Pi Server successfully booted.

Scsynth Output

# Starting SuperCollider 2018-01-23 19:30:22
Found 10 LADSPA plugins
JackDriver: client name is 'SuperCollider'
SC_AudioDriver: sample rate = 48000.000000, driver's block size = 1024
SuperCollider 3 server ready.
JackDriver: max output latency 42.7 ms

Processes Output


Clearing pids: ["23050", "23046", "22997", "22970", "22949"]

Clearing [23050]
  -- command /opt/sonic-pi/app/server/native/linux/osmid/m2o -b -o 4562 -m 6 Sonic Pi
  -- removing /tmp/sonic-pi-pids/23050
  -- politely killing 23050
  -- politely killing 23050
  -- politely killing 23050
  -- force killing 23050
  -- force killing 23050
  -- force killing 23050
  -- force killing 23050
  -- force killing 23050
  -- unable to kill 23050

Clearing [23046]
  -- command /opt/sonic-pi/app/server/native/linux/osmid/o2m -b -i 4561 -O 4562 -m 6
  -- removing /tmp/sonic-pi-pids/23046
  -- politely killing 23046
  -- politely killing 23046
  -- politely killing 23046
  -- force killing 23046
  -- force killing 23046
  -- force killing 23046
  -- force killing 23046
  -- force killing 23046
  -- unable to kill 23046

Clearing [22997]
  -- command /usr/lib/erlang/erts-9.2/bin/beam.smp -- -root /usr/lib/erlang -progname erl -- -home /home/faebser -- -pz /opt/sonic-pi/app/server/erlang -s pi_server start 4560
  -- removing /tmp/sonic-pi-pids/22997

Clearing [22970]
  -- command scsynth -u 4556 -m 131072 -a 1024 -D 0 -R 0 -l 1 -i 16 -o 16 -b 4096
  -- removing /tmp/sonic-pi-pids/22970
  -- politely killing 22970
  -- politely killing 22970
  -- politely killing 22970
  -- force killing 22970
  -- force killing 22970
  -- force killing 22970
  -- force killing 22970
  -- force killing 22970
  -- unable to kill 22970

Clearing [22949]
  -- command /usr/bin/ruby -E utf-8 /opt/sonic-pi/app/gui/qt/../../../app/server/bin/sonic-pi-server.rb -u 4557 4558 4556 4556 4559 4560 4561 4562
  -- removing /tmp/sonic-pi-pids/22949
  -- politely killing 22949
  -- killed 22949

Finished clearing pids

Started [23168] [-] /usr/bin/ruby -E utf-8 /opt/sonic-pi/app/gui/qt/../../../app/server/bin/sonic-pi-server.rb -u 4557 4558 4556 4556 4559 4560 4561 4562 [-] /tmp/sonic-pi-pids/23168
Started [23189] [-] scsynth -u 4556 -m 131072 -a 1024 -D 0 -R 0 -l 1 -i 16 -o 16 -b 4096 [-] /tmp/sonic-pi-pids/23189
Started [23216] [-] /usr/lib/erlang/erts-9.2/bin/beam.smp -- -root /usr/lib/erlang -progname erl -- -home /home/faebser -- -pz /opt/sonic-pi/app/server/erlang -s pi_server start 4560 [-] /tmp/sonic-pi-pids/23216
Started [23265] [-] /opt/sonic-pi/app/server/native/linux/osmid/o2m -b -i 4561 -O 4562 -m 6 [-] /tmp/sonic-pi-pids/23265
Started [23269] [-] /opt/sonic-pi/app/server/native/linux/osmid/m2o -b -o 4562 -m 6 Sonic Pi [-] /tmp/sonic-pi-pids/23269
@itsdeadguy
Copy link

I am also getting this error but on 3.1.0.
3.0.1 worked fine.

@faebser
Copy link
Author

faebser commented Jan 28, 2018

I downgraded from 3.1.0 to 3.0.1 hoping that it would help but sadly it didn't. maybe the error is in one of the dependencies?

@samaaron
Copy link
Collaborator

Apologies - we don't currently have the capacity to support generic Linux.

Quickly looking at your logs it appears that SuperCollider didn't start. I would first play around with that independently to see if you can get it working.

@samaaron
Copy link
Collaborator

Another thing to try is to ensure you have the latest SuperCollider version (3.9)

@samaaron
Copy link
Collaborator

Sorry, closing this issue due to our inability to support generic linux at this point.

If you're able to solve this issue please to let us know. Similarly if others are able to either help with this issue or help us provide support to other Linux users and/or maintain packages for the various distros do let us know!

@cmaughan
Copy link
Contributor

Note that the core issue here is that the shared memory interface between supercollider and sonic pi is broken due to different sizes of the published memory data. A way to get this problem is to build a debug version of Supercollider and a release of Sonic Pi, or vice-versa. You might also get this if your version of Supercollider is built against a significantly different version of boost than the version you build sonic pi against....

@cmaughan
Copy link
Contributor

Filed against supercollider:
supercollider/supercollider#4748

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants