maxhawkins / sc_radio

SuperCollider Internet Radio Station
77 stars 12 forks source link

Trying on OS X #1

Closed crucialfelix closed 6 years ago

crucialfelix commented 7 years ago

I'm not sure that this failure is related to OS X at all.

Installed fine.

sc_radio ❯ docker run -p 5000:5000 scradio
forego     | starting icecast2.1 on port 5000
forego     | starting jackd.1 on port 5100
forego     | starting darkice.1 on port 5300
forego     | starting sclang.1 on port 5600
darkice.1  | DarkIce 1.2 live audio streamer, http://code.google.com/p/darkice/
darkice.1  | Copyright (c) 2000-2007, Tyrell Hungary, http://tyrell.hu/
darkice.1  | Copyright (c) 2008-2013, Akos Maroy and Rafael Diniz
darkice.1  | This is free software, and you are welcome to redistribute it
darkice.1  | under the terms of The GNU General Public License version 3 or
darkice.1  | any later version.
darkice.1  |
darkice.1  | Using config file: /etc/darkice.cfg
darkice.1  | Using JACK audio server as input device.
darkice.1  | Cannot connect to server socket err = No such file or directory
darkice.1  | Cannot connect to server request channel
jackd.1    | Cannot create RT messagebuffer thread: Operation not permitted (1)
jackd.1    | Retrying messagebuffer thread without RT scheduling
jackd.1    | Messagebuffer not realtime; consider enabling RT scheduling for user
darkice.1  | Cannot create RT messagebuffer thread: Operation not permitted (1)
darkice.1  | Retrying messagebuffer thread without RT scheduling
darkice.1  | Messagebuffer not realtime; consider enabling RT scheduling for user
jackd.1    | no message buffer overruns
darkice.1  | no message buffer overruns
jackd.1    | Cannot create RT messagebuffer thread: Operation not permitted (1)
jackd.1    | Retrying messagebuffer thread without RT scheduling
jackd.1    | Messagebuffer not realtime; consider enabling RT scheduling for user
darkice.1  | Cannot create RT messagebuffer thread: Operation not permitted (1)
darkice.1  | Retrying messagebuffer thread without RT scheduling
darkice.1  | Messagebuffer not realtime; consider enabling RT scheduling for user
jackd.1    | no message buffer overruns
darkice.1  | no message buffer overruns
icecast2.1 | [2017-01-17  13:37:22] INFO main/main Icecast 2.4.0 server started
icecast2.1 | [2017-01-17  13:37:22] INFO connection/get_ssl_certificate No SSL capability
icecast2.1 | [2017-01-17  13:37:22] INFO yp/yp_update_thread YP update thread started
darkice.1  | Cannot create RT messagebuffer thread: Operation not permitted (1)
darkice.1  | Retrying messagebuffer thread without RT scheduling
jackd.1    | Cannot create RT messagebuffer thread: Operation not permitted (1)
jackd.1    | Retrying messagebuffer thread without RT scheduling
jackd.1    | Messagebuffer not realtime; consider enabling RT scheduling for user
darkice.1  | Messagebuffer not realtime; consider enabling RT scheduling for user
jackd.1    | no message buffer overruns
darkice.1  | no message buffer overruns
jackd.1    | `default' server already active
jackd.1    | Failed to open server
jackd.1    | jackdmp 1.9.10
jackd.1    | Copyright 2001-2005 Paul Davis and others.
jackd.1    | Copyright 2004-2014 Grame.
jackd.1    | jackdmp comes with ABSOLUTELY NO WARRANTY
jackd.1    | This is free software, and you are welcome to redistribute it
jackd.1    | under certain conditions; see the file COPYING for details
forego     | sending SIGTERM to sclang.1
forego     | sending SIGTERM to icecast2.1
forego     | sending SIGTERM to darkice.1
icecast2.1 | [2017-01-17  13:37:22] INFO sighandler/_sig_die Caught signal 15, shutting down...
icecast2.1 | [2017-01-17  13:37:22] INFO main/main Shutting down
icecast2.1 | [2017-01-17  13:37:22] INFO fserve/fserve_shutdown file serving stopped
darkice.1  | jackdmp 1.9.10
darkice.1  | Copyright 2001-2005 Paul Davis and others.
darkice.1  | Copyright 2004-2014 Grame.
darkice.1  | jackdmp comes with ABSOLUTELY NO WARRANTY
darkice.1  | This is free software, and you are welcome to redistribute it
darkice.1  | under certain conditions; see the file COPYING for details
darkice.1  | JACK server starting in realtime mode with priority 10
darkice.1  | self-connect-mode is "Don't restrict self connect requests"
darkice.1  | Cannot lock down 82274202 byte memory area (Cannot allocate memory)
icecast2.1 | [2017-01-17  13:37:23] INFO slave/_slave_thread shutting down current relays
icecast2.1 | [2017-01-17  13:37:23] INFO slave/_slave_thread Slave thread shutdown complete
icecast2.1 | [2017-01-17  13:37:23] INFO auth/auth_shutdown Auth shutdown
icecast2.1 | [2017-01-17  13:37:24] INFO yp/yp_shutdown YP thread down
icecast2.1 | [2017-01-17  13:37:24] INFO stats/stats_shutdown stats thread finished
icecast2.1 | Changed groupid to 111.
icecast2.1 | Changed supplementary groups based on user: icecast2.
icecast2.1 | Changed userid to 105.
sc_radio ❯

Cannot allocate memory - It's got 3GB

So it doesn't even keep the docker container running:

sc_radio ❯ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
sc_radio ❯

Not sure what causes the whole container to be stopped.

maxhawkins commented 7 years ago

I'm also having trouble with this on OSX. It has something to do with jackd and ulimits I think. Seems to work fine on Linux.

I don't have time to fix it right now. Please let me know if you're able to find a solution.

azimut commented 7 years ago

might be trying using the "--privileged" flag on the docker run? with that on unix SC stop complaining about not being able to have realtime scheduling

mrtnmgs commented 6 years ago

Did any of you find a solution? I'm having the same issue on OSX and on an Ubuntu server...

artemkloko commented 6 years ago

The current release was not working for me even on Ubuntu, so I did some minor upgrades/fixes. Here is the PR https://github.com/maxhawkins/sc_radio/pull/2

Please check it out, maybe the issues was not related to OSX, but to misconfiguration.

maxhawkins commented 6 years ago

@artemkloko's PR fixed it for me. Please re-open if you're still running into trouble.

osetinsky commented 6 years ago

@artemkloko glad you brought this up just a couple of days ago–what did you think your misconfiguration problems were? I'm still having issues (the same you listed, which I pasted below):

forego     | starting icecast2.1 on port 5000
forego     | starting jackd.1 on port 5100
forego     | starting darkice.1 on port 5300
forego     | starting sclang.1 on port 5600
darkice.1  | DarkIce 1.3 live audio streamer, http://code.google.com/p/darkice/
darkice.1  | Copyright (c) 2000-2007, Tyrell Hungary, http://tyrell.hu/
darkice.1  | Copyright (c) 2008-2013, Akos Maroy and Rafael Diniz
darkice.1  | This is free software, and you are welcome to redistribute it
darkice.1  | under the terms of The GNU General Public License version 3 or
darkice.1  | any later version.
darkice.1  |
darkice.1  | Using config file: /etc/darkice.cfg
darkice.1  | Using JACK audio server as input device.
darkice.1  | Cannot connect to server socket err = No such file or directory
darkice.1  | Cannot connect to server request channel
icecast2.1 | [2018-08-16  01:15:45] WARN CONFIG/_parse_root Warning, server version string override detected. This may lead to unexpected client software behavior.
icecast2.1 | [2018-08-16  01:15:45] WARN CONFIG/_parse_root Warning, serving of static files has been disabled in the config, this will also affect files used by the web interface (stylesheets, images).
icecast2.1 | [2018-08-16  01:15:45] WARN CONFIG/_parse_root Warning, <hostname> not configured, using default value "localhost". This will cause problems, e.g. with YP directory listings.
icecast2.1 | [2018-08-16  01:15:45] INFO main/main Icecast 2.4.3 server started
icecast2.1 | [2018-08-16  01:15:45] INFO connection/get_ssl_certificate No SSL capability
icecast2.1 | [2018-08-16  01:15:45] INFO stats/_stats_thread stats thread started
darkice.1  | Cannot create RT messagebuffer thread: Operation not permitted (1)
darkice.1  | Retrying messagebuffer thread without RT scheduling
darkice.1  | Messagebuffer not realtime; consider enabling RT scheduling for user
icecast2.1 | [2018-08-16  01:15:45] INFO yp/yp_update_thread YP update thread started
darkice.1  | no message buffer overruns
jackd.1    | Cannot create RT messagebuffer thread: Operation not permitted (1)
jackd.1    | Retrying messagebuffer thread without RT scheduling
jackd.1    | Messagebuffer not realtime; consider enabling RT scheduling for user
jackd.1    | no message buffer overruns
darkice.1  | Cannot create RT messagebuffer thread: Operation not permitted (1)
darkice.1  | Retrying messagebuffer thread without RT scheduling
darkice.1  | Messagebuffer not realtime; consider enabling RT scheduling for user
darkice.1  | no message buffer overruns
darkice.1  | Cannot create RT messagebuffer thread: Operation not permitted (1)
darkice.1  | Retrying messagebuffer thread without RT scheduling
darkice.1  | Messagebuffer not realtime; consider enabling RT scheduling for user
darkice.1  | no message buffer overruns
jackd.1    | Cannot create RT messagebuffer thread: Operation not permitted (1)
jackd.1    | Retrying messagebuffer thread without RT scheduling
jackd.1    | Messagebuffer not realtime; consider enabling RT scheduling for user
jackd.1    | no message buffer overruns
darkice.1  | jackdmp 1.9.12
darkice.1  | Copyright 2001-2005 Paul Davis and others.
darkice.1  | Copyright 2004-2016 Grame.
darkice.1  | Copyright 2016-2017 Filipe Coelho.
darkice.1  | jackdmp comes with ABSOLUTELY NO WARRANTY
darkice.1  | This is free software, and you are welcome to redistribute it
darkice.1  | under certain conditions; see the file COPYING for details
darkice.1  | JACK server starting in realtime mode with priority 10
darkice.1  | self-connect-mode is "Don't restrict self connect requests"
jackd.1    | Cannot create RT messagebuffer thread: Operation not permitted (1)
jackd.1    | Retrying messagebuffer thread without RT scheduling
jackd.1    | Messagebuffer not realtime; consider enabling RT scheduling for user
jackd.1    | no message buffer overruns
jackd.1    | `default' server already active
jackd.1    | Failed to open server
jackd.1    | jackdmp 1.9.12
jackd.1    | Copyright 2001-2005 Paul Davis and others.
jackd.1    | Copyright 2004-2016 Grame.
jackd.1    | Copyright 2016-2017 Filipe Coelho.
jackd.1    | jackdmp comes with ABSOLUTELY NO WARRANTY
jackd.1    | This is free software, and you are welcome to redistribute it
jackd.1    | under certain conditions; see the file COPYING for details
forego     | sending SIGTERM to icecast2.1
forego     | sending SIGTERM to sclang.1
forego     | sending SIGTERM to darkice.1
icecast2.1 | [2018-08-16  01:15:45] INFO sighandler/_sig_die Caught signal 15, shutting down...
icecast2.1 | [2018-08-16  01:15:45] INFO main/main Shutting down
icecast2.1 | [2018-08-16  01:15:45] INFO fserve/fserve_shutdown file serving stopped
darkice.1  | Cannot lock down 82280346 byte memory area (Cannot allocate memory)
icecast2.1 | [2018-08-16  01:15:46] INFO slave/_slave_thread shutting down current relays
icecast2.1 | [2018-08-16  01:15:46] INFO slave/_slave_thread Slave thread shutdown complete
icecast2.1 | [2018-08-16  01:15:46] INFO auth/auth_shutdown Auth shutdown
icecast2.1 | [2018-08-16  01:15:46] INFO yp/yp_shutdown YP thread down
icecast2.1 | Changed groupid to 108.
icecast2.1 | Changed supplementary groups based on user: icecast2.
icecast2.1 | Changed userid to 104.
icecast2.1 | [2018-08-16  01:15:47] INFO stats/stats_shutdown stats thread finished

Thanks guys for the help.

mrtnmgs commented 6 years ago

@osetinsky I got it to work but it's a bit clunky. It always fails the first time I run the docker image (with similar messages as what you just pasted). Then I run it again and it works... Didn't have the time to investigate further yet.

artemkloko commented 6 years ago

@osetinsky Unfortunately I could reproduce the same error on a freshly installed docker only in the first run. After that, all the consecutive builds/runs were working as mrtnmgs suggests.

The only thing I can recommend for you to try is to add jackd1. So the line 11 in Dockerfile would look like:

    apt-get install -y icecast2 darkice libasound2 libasound2-plugins alsa-utils alsa-oss jackd1 jack-tools supercollider xvfb curl && \

Also many thanks to @maxhawkins for the idealization of this repo.

osetinsky commented 6 years ago

@artemkloko still a little clunky here, but I got it to run with audio. Thanks @maxhawkins for this, it's interesting.