synchrone / sandstorm-radicale

A calendars and contacts app for Sandstorm.io
https://apps.sandstorm.io/app/8kr4rvyrggvzfvc160htzdt4u5rfvjc2dgdn27n5pt66mxa40m1h
13 stars 3 forks source link

Solved: Cannot be used on local Sandstorm installation / spinning forever #31

Closed code-chicken closed 6 years ago

code-chicken commented 6 years ago

After installing Radicale on a local Sandstorm installation and creating a new calendar or a new addressbook, there is nothing but a circle spinning forever.

ocdtrekkie commented 6 years ago

@code-chicken Is your issue only with this app? (Do other Sandstorm apps work well on your server?) Can you post any contents from the debug log available on the top bar? Are there any errors in your browser console? How much memory does your server have available?

code-chicken commented 6 years ago

@ocdtrekkie Hi Jacob, thank you for your response. Here are my answers:

Is your issue only with this app? Yes. I am using Wekan, Draw.io, Ethercalc and Etherpad without problems. I didn't check other apps so far.

Can you post any contents from the debug log available on the top bar? Yes, here it is:

...** SANDSTORM SUPERVISOR: Starting up grain. Sandbox type: privileged
Starting new instance (caldav)
waiting for uwsgi to be available at /var/run/uwsgi.sock
waiting for uwsgi to be available at /var/run/uwsgi.sock
*** Starting uWSGI 2.0.7-debian (64bit) on [Wed Aug 23 07:14:50 2017] ***
compiled with version: 4.9.1 on 25 October 2014 19:17:54
os: Linux-4.9.34-gentoo #1 SMP Fri Jul 28 13:35:16 CEST 2017
nodename: sandbox
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 2
current working directory: /
detected binary path: uwsgi
*** WARNING: you are running uWSGI without its master process manager ***
your processes number limit is 7823
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to UNIX address /var/run/uwsgi.sock fd 3
Python version: 3.4.2 (default, Oct  8 2014, 10:47:48)  [GCC 4.9.1]
Set PythonHome to /opt/app/env
Starting NGINX (caldav)
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x6cfc30
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 72768 bytes (71 KB) for 1 cores
*** Operational MODE: single process ***
added /opt/app/ to pythonpath.
nginx: [emerg] socket() [::]:8000 failed (97: Address family not supported by protocol)
** HTTP-BRIDGE: App server exited with status code: 1
** SANDSTORM SUPERVISOR: Starting up grain. Sandbox type: privileged
waiting for uwsgi to be available at /var/run/uwsgi.sock
*** Starting uWSGI 2.0.7-debian (64bit) on [Wed Aug 23 07:14:51 2017] ***
compiled with version: 4.9.1 on 25 October 2014 19:17:54
os: Linux-4.9.34-gentoo #1 SMP Fri Jul 28 13:35:16 CEST 2017
nodename: sandbox
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 2
current working directory: /
detected binary path: uwsgi
*** WARNING: you are running uWSGI without its master process manager ***
your processes number limit is 7823
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to UNIX address /var/run/uwsgi.sock fd 3
Python version: 3.4.2 (default, Oct  8 2014, 10:47:48)  [GCC 4.9.1]
Set PythonHome to /opt/app/env
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x6cfc40
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 72768 bytes (71 KB) for 1 cores
*** Operational MODE: single process ***
added /opt/app/ to pythonpath.
Starting NGINX (caldav)
nginx: [emerg] socket() [::]:8000 failed (97: Address family not supported by protocol)
WSGI app 0 (mountpoint='') ready in 2 seconds on interpreter 0x6cfc40 pid: 10 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI worker 1 (and the only) (pid: 10, cores: 1)
** SANDSTORM SUPERVISOR: Grain still in use; staying up for now.

Are there any errors in your browser console? Hmmm... after a few minutes only the following message appears: d6f9da7d58853a6307e70a509fff184f5d8cf84c.js?meteor_js_resource=true:79 GET http://baad7d1a00f291728db77dd419b1969f.sandstorm.fuchshuber.local/ net::ERR_EMPTY_RESPONSE

How much memory does your server have available? Hmmm... what do you mean? "free" gives the following output:

vm-sandstorm ~ # free
              total        used        free      shared  buff/cache   available
Mem:        2005580      257860     1029660         548      718060     1714464
Swap:       2097148           0     2097148

I hope this helps...

code-chicken commented 6 years ago

Eventually I found the reason for the problem. I got the solution because of your hint with the debug log. There was the following line:

nginx: [emerg] socket() [::]:8000 failed (97: Address family not supported by protocol)

My kernel didn't have ipv6-support. I changed that and also added ipv6 support to all installed tools. After that I was able to run the apps.

However, actually so far this was the only app which needs explicit ipv6 support.

Anyway, thank you for pointing me to the right direction.

ocdtrekkie commented 6 years ago

Strange, but glad you figured it out. The kernel is basically the only dependency for apps that doesn't come built into the package.

synchrone commented 6 years ago

Looks like it's closed then?

code-chicken commented 6 years ago

I am not sure. Wouldn't it make sense to make this app also independent from ipv6?

synchrone commented 6 years ago

Technically yes, since traffic comes through a captnproto proxy calling localhost anyway... I would merge a pull request removing binding to ipv6 interface then, with proper testing.