Unrud/RadicaleInfCloud

Blank screen when RadicaleInfCloud is loaded

ayevee opened this issue · 5 comments

Radicale is running behind nginx revers proxy.

When I got to InfCloud link from radicale Web interface, I only get a blank page, no interface elements at all.

There are no error in radicale log, but I get the following errors in nginx error.log:

2017/08/22 22:39:49 [error] 20680#20680: *87890 upstream prematurely closed connection while reading upstream, client: 255.255.255.255, server: radicale.example.com, request: "GET /.web/infcloud/fonts/Roboto-Regular-webfont.woff HTTP/2.0", upstream: "http://127.0.0.1:5232/.web/infcloud/fonts/Roboto-Regular-webfont.woff", host: "radicale.example.com", referrer: "https://radicale.example.com/.web/infcloud/css/default.css"
2017/08/22 22:39:51 [error] 20680#20680: *87890 upstream prematurely closed connection while reading upstream, client: 255.255.255.255, server: radicale.example.com, request: "GET /.web/infcloud/localization.js HTTP/2.0", upstream: "http://127.0.0.1:5232/.web/infcloud/localization.js", host: "radicale.example.com", referrer: "https://radicale.example.com/.web/infcloud/"
2017/08/22 22:39:53 [error] 20680#20680: *87890 upstream prematurely closed connection while reading upstream, client: 255.255.255.255, server: radicale.example.com, request: "GET /.web/infcloud/fonts/Roboto-Regular-webfont.ttf HTTP/2.0", upstream: "http://127.0.0.1:5232/.web/infcloud/fonts/Roboto-Regular-webfont.ttf", host: "radicale.example.com", referrer: "https://radicale.example.com/.web/infcloud/css/default.css"
2017/08/22 22:39:53 [error] 20680#20680: *87890 upstream prematurely closed connection while reading upstream, client: 255.255.255.255, server: radicale.example.com, request: "GET /.web/infcloud/localization.js HTTP/2.0", upstream: "http://127.0.0.1:5232/.web/infcloud/localization.js", host: "example.example.com", referrer: "https://radicale.example.com/.web/infcloud/"
2017/08/22 22:39:57 [error] 20680#20680: *87890 upstream prematurely closed connection while reading upstream, client: 255.255.255.255, server: radicale.example.com, request: "GET /.web/infcloud/fonts/Roboto-Medium-webfont.woff HTTP/2.0", upstream: "http://127.0.0.1:5232/.web/infcloud/fonts/Roboto-Medium-webfont.woff", host: "radicale.example.com", referrer: "https://radicale.example.com/.web/infcloud/css/default.css"
2017/08/22 22:39:58 [error] 20680#20680: *87890 upstream prematurely closed connection while reading upstream, client: 255.255.255.255, server: radicale.example.com, request: "GET /.web/infcloud/fonts/Roboto-Medium-webfont.ttf HTTP/2.0", upstream: "http://127.0.0.1:5232/.web/infcloud/fonts/Roboto-Medium-webfont.ttf", host: "radicale.example.com", referrer: "https://radicale.example.com/.web/infcloud/css/default.css"
Unrud commented

There are no error in radicale log, but I get the following errors in nginx error.log:

Do you get the error every time? I can't reproduce the issue.

Can you provide your configuration file for nginx?

Do you get the error every time? I can't reproduce the issue.
Yes.

I'm runing built-in nginx reverse proxy on Synology NAS, found the following configuration:

$ cat /etc/nginx/app.d/server.ReverseProxy.conf

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name radicale.example.com;

    ssl_certificate /usr/syno/etc/certificate/ReverseProxy/....../fullchain.pem;

    ssl_certificate_key /usr/syno/etc/certificate/ReverseProxy/....../privkey.pem;

    add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload" always;

    location / {
        proxy_set_header        Host                $http_host;
        proxy_set_header        X-Real-IP           $remote_addr;
        proxy_set_header        X-Forwarded-For     $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto   $scheme;
        proxy_intercept_errors  on;
        proxy_http_version      1.1;

        proxy_pass http://localhost:5232;

    }

}

I tried direct connection - still have the same behaviour and no errors in radicale log.

I got the following errors and warnings in firefox console:

Unknown property 'zoom'.  Declaration dropped.  jquery-ui.custom.css:15:26
Unknown property 'zoom'.  Declaration dropped.  jquery-ui.custom.css:106:5
Unknown property 'zoom'.  Declaration dropped.  jquery-ui.custom.css:116:5
Unknown property 'user-select'.  Declaration dropped.  jquery-ui.custom.css:173:100
Expected declaration but found '*'.  Skipped to next declaration.  spectrum.custom.css:13:1
Expected declaration but found '*'.  Skipped to next declaration.  spectrum.custom.css:14:1
Unknown property 'user-select'.  Declaration dropped.  spectrum.custom.css:133:12
Error in parsing value for 'background-image'.  Declaration dropped.  spectrum.custom.css:159:19
Error in parsing value for 'background-image'.  Declaration dropped.  spectrum.custom.css:160:19
Expected 'none', URL, or filter function but found 'progid'.  Error in parsing value for 'filter'.  Declaration dropped.  spectrum.custom.css:163:10
Error in parsing value for 'background-image'.  Declaration dropped.  spectrum.custom.css:169:19
Error in parsing value for 'background-image'.  Declaration dropped.  spectrum.custom.css:170:19
Expected 'none', URL, or filter function but found 'progid'.  Error in parsing value for 'filter'.  Declaration dropped.  spectrum.custom.css:173:10
Error in parsing value for 'background'.  Declaration dropped.  spectrum.custom.css:178:13
Error in parsing value for 'background'.  Declaration dropped.  spectrum.custom.css:179:13
Expected 'none', URL, or filter function but found 'progid'.  Error in parsing value for 'filter'.  Declaration dropped.  spectrum.custom.css:190:9
Expected 'none', URL, or filter function but found 'progid'.  Error in parsing value for 'filter'.  Declaration dropped.  spectrum.custom.css:194:9
Expected 'none', URL, or filter function but found 'progid'.  Error in parsing value for 'filter'.  Declaration dropped.  spectrum.custom.css:198:9
Expected 'none', URL, or filter function but found 'progid'.  Error in parsing value for 'filter'.  Declaration dropped.  spectrum.custom.css:202:9
Expected 'none', URL, or filter function but found 'progid'.  Error in parsing value for 'filter'.  Declaration dropped.  spectrum.custom.css:206:9
Expected 'none', URL, or filter function but found 'progid'.  Error in parsing value for 'filter'.  Declaration dropped.  spectrum.custom.css:210:9
Expected declaration but found '*'.  Skipped to next declaration.  spectrum.custom.css:220:9
Expected declaration but found '*'.  Skipped to next declaration.  spectrum.custom.css:384:1
Expected declaration but found '*'.  Skipped to next declaration.  spectrum.custom.css:385:1
Expected declaration but found '*'.  Skipped to next declaration.  spectrum.custom.css:420:1
Unknown property 'user-select'.  Declaration dropped.  default.css:181:12
Unknown property 'user-select'.  Declaration dropped.  default.css:216:12
Unknown property 'user-select'.  Declaration dropped.  default.css:256:12
Unknown property 'user-select'.  Declaration dropped.  default.css:288:12
Unknown property 'user-select'.  Declaration dropped.  default.css:306:12
Unknown property 'user-select'.  Declaration dropped.  default.css:332:12
Unknown property 'user-select'.  Declaration dropped.  default.css:348:12
Unknown property 'user-select'.  Declaration dropped.  default.css:366:12
Unknown property 'appearance'.  Declaration dropped.  default.css:431:11
Unknown property '-moz-border-radius'.  Declaration dropped.  default.css:436:19
Unknown property '-moz-outline'.  Declaration dropped.  default.css:439:13
Unknown property 'appearance'.  Declaration dropped.  default.css:483:11
Unknown property 'appearance'.  Declaration dropped.  default.css:507:11
Unknown property 'appearance'.  Declaration dropped.  default.css:526:11
Unknown property 'appearance'.  Declaration dropped.  default.css:545:11
Unknown property '-moz-border-radius'.  Declaration dropped.  default.css:633:19
Unknown pseudo-class or pseudo-element '-webkit-input-placeholder'.  Ruleset ignored due to bad selector.  default.css:660:7
Unknown pseudo-class or pseudo-element '-webkit-input-placeholder'.  Ruleset ignored due to bad selector.  default.css:666:17
Unknown pseudo-class or pseudo-element '-webkit-input-placeholder'.  Ruleset ignored due to bad selector.  default.css:672:17
Unknown pseudo-class or pseudo-element '-webkit-input-placeholder'.  Ruleset ignored due to bad selector.  default.css:678:10
Unknown pseudo-class or pseudo-element '-webkit-input-placeholder'.  Ruleset ignored due to bad selector.  default.css:684:20
Unknown pseudo-class or pseudo-element '-ms-input-placeholder'.  Ruleset ignored due to bad selector.  default.css:731:6
Unknown pseudo-class or pseudo-element '-ms-input-placeholder'.  Ruleset ignored due to bad selector.  default.css:735:16
Unknown pseudo-class or pseudo-element '-ms-input-placeholder'.  Ruleset ignored due to bad selector.  default.css:739:16
Unknown pseudo-class or pseudo-element '-ms-input-placeholder'.  Ruleset ignored due to bad selector.  default.css:743:9
Unknown pseudo-class or pseudo-element '-ms-input-placeholder'.  Ruleset ignored due to bad selector.  default.css:747:19
Unknown pseudo-class or pseudo-element '-ms-clear'.  Ruleset ignored due to bad selector.  default.css:752:18
Unknown pseudo-class or pseudo-element '-ms-clear'.  Ruleset ignored due to bad selector.  default.css:755:22
Unknown property '-moz-outline'.  Declaration dropped.  default.css:830:13
Unknown property '-moz-border-radius'.  Declaration dropped.  default.css:831:19
Unknown property 'user-select'.  Declaration dropped.  default.css:873:12
Unknown property 'user-select'.  Declaration dropped.  default.css:946:12
Unknown property 'user-select'.  Declaration dropped.  default.css:988:12
Unknown property 'user-select'.  Declaration dropped.  default.css:1032:12
Unknown property 'user-select'.  Declaration dropped.  default.css:1149:12
Unknown property 'user-select'.  Declaration dropped.  default.css:1191:12
Unknown property 'user-select'.  Declaration dropped.  default.css:1210:12
Unknown property 'user-select'.  Declaration dropped.  default.css:1229:12
Error in parsing value for 'margin-top'.  Declaration dropped.  default.css:1599:14
Error in parsing value for 'text-align'.  Declaration dropped.  default.css:1774:13
Unknown property 'user-select'.  Declaration dropped.  default.css:1853:12
Error in parsing value for 'margin-top'.  Declaration dropped.  default.css:1950:14
Unknown property 'user-select'.  Declaration dropped.  default.css:2003:12
Unknown property 'user-select'.  Declaration dropped.  default.css:2083:12
Unknown property 'user-select'.  Declaration dropped.  default.css:2102:12
Unknown property 'user-select'.  Declaration dropped.  default.css:2212:12
Unknown property 'user-select'.  Declaration dropped.  default.css:2290:12
Unknown property 'user-select'.  Declaration dropped.  default.css:2430:12
Unknown property 'user-select'.  Declaration dropped.  default.css:2479:12
Unknown property 'user-select'.  Declaration dropped.  default.css:2504:12
Unknown property 'user-select'.  Declaration dropped.  default.css:2540:12
Unknown property 'user-select'.  Declaration dropped.  default.css:2585:12
Expected 'none', URL, or filter function but found 'alpha('.  Error in parsing value for 'filter'.  Declaration dropped.  default.css:2618:9
Unknown property 'user-select'.  Declaration dropped.  default.css:2625:12
Expected 'none', URL, or filter function but found 'alpha('.  Error in parsing value for 'filter'.  Declaration dropped.  default.css:2635:9
Unknown property 'user-select'.  Declaration dropped.  default.css:2644:12
Expected 'none', URL, or filter function but found 'alpha('.  Error in parsing value for 'filter'.  Declaration dropped.  default.css:2656:9
Unknown property 'user-select'.  Declaration dropped.  default.css:2663:12
Unknown property 'user-select'.  Declaration dropped.  default.css:2851:12
Unknown property 'user-select'.  Declaration dropped.  default.css:2884:12
Unknown property 'user-select'.  Declaration dropped.  default.css:2907:12
Unknown property '-moz-border-top-left-radius'.  Declaration dropped.  default.css:2915:28
Unknown property '-moz-border-top-right-radius'.  Declaration dropped.  default.css:2918:29
Unknown property '-moz-border-top-left-radius'.  Declaration dropped.  default.css:3287:28
Unknown property '-moz-border-top-right-radius'.  Declaration dropped.  default.css:3290:29
Unknown property 'user-select'.  Declaration dropped.  default.css:3585:12
Expected 'none', URL, or filter function but found 'alpha('.  Error in parsing value for 'filter'.  Declaration dropped.  fullcalendar.css:163:9
Expected 'none', URL, or filter function but found 'alpha('.  Error in parsing value for 'filter'.  Declaration dropped.  fullcalendar.css:231:9
Error in parsing value for 'background-image'.  Declaration dropped.  fullcalendar.css:337:19
Unknown property '-moz-background-size'.  Declaration dropped.  fullcalendar.css:341:21
Unknown property '-moz-border-radius-topleft'.  Declaration dropped.  fullcalendar.css:412:27
Unknown property '-moz-border-radius-bottomleft'.  Declaration dropped.  fullcalendar.css:415:30
Unknown property '-moz-border-radius-topright'.  Declaration dropped.  fullcalendar.css:435:28
Unknown property '-moz-border-radius-bottomright'.  Declaration dropped.  fullcalendar.css:438:31
Expected 'none', URL, or filter function but found 'alpha('.  Error in parsing value for 'filter'.  Declaration dropped.  fullcalendar.css:541:9
Expected declaration but found '*'.  Skipped to next declaration.  fullcalendar.css:676:1
Unknown property '-moz-border-radius'.  Declaration dropped.  fullcalendar.css:695:19
Unknown property '-moz-border-radius'.  Declaration dropped.  fullcalendar.css:714:19
Expected 'none', URL, or filter function but found 'alpha('.  Error in parsing value for 'filter'.  Declaration dropped.  fullcalendar.css:752:9
Expected 'none', URL, or filter function but found 'alpha('.  Error in parsing value for 'filter'.  Declaration dropped.  fullcalendar.css:757:9
Error in parsing value for 'display'.  Declaration dropped.  fullcalendar.css:763:10
Unknown property 'user-select'.  Declaration dropped.  fullcalendar.css:1078:12
Unknown property 'user-select'.  Declaration dropped.  fullcalendar.css:1090:12
Unknown property 'user-select'.  Declaration dropped.  default_integration.css:17:12
SyntaxError: expected expression, got end of script[Learn More]  jquery-ui-1.11.4.custom.js:4922:3
SyntaxError: expected expression, got end of script[Learn More]  fullcalendar.js:5456:7
SyntaxError: missing } after function body[Learn More]  webdav_protocol.js:4956:4
SyntaxError: unterminated string literal[Learn More]  localization.js:4850:25
SyntaxError: missing ) after argument list[Learn More]  interface.js:5205:51
SyntaxError: unterminated string literal[Learn More]  data_process.js:6413:27
ReferenceError: localization is not defined[Learn More]  main.js:31:29
SyntaxError: unterminated string literal[Learn More]  timezones.js:15596:18
Error in parsing value for 'position'.  Declaration dropped. infcloud
Expected declaration but found ''''.  Skipped to next declaration.  infcloud
Password fields present on an insecure (http://) page. This is a security risk that allows user login credentials to be stolen.[Learn More]  infcloud
downloadable font: incorrect file size in WOFF header (font-family: "Roboto" style:normal weight:500 stretch:normal src index:1) source: http://example.com:5232/.web/infcloud/fonts/Roboto-Medium-webfont.woff  default.css:45:1
downloadable font: rejected by sanitizer (font-family: "Roboto" style:normal weight:500 stretch:normal src index:1) source: http://example.com:5232/.web/infcloud/fonts/Roboto-Medium-webfont.woff  default.css:45:1
downloadable font: incorrect file size in WOFF header (font-family: "Roboto" style:normal weight:normal stretch:normal src index:1) source: http://example.com:5232/.web/infcloud/fonts/Roboto-Regular-webfont.woff  default.css:34:1
downloadable font: rejected by sanitizer (font-family: "Roboto" style:normal weight:normal stretch:normal src index:1) source: http://example.com:5232/.web/infcloud/fonts/Roboto-Regular-webfont.woff  default.css:34:1
downloadable font: glyf: table overruns end of file (font-family: "Roboto" style:normal weight:500 stretch:normal src index:2) source: http://example.com:5232/.web/infcloud/fonts/Roboto-Medium-webfont.ttf  default.css:45:1
downloadable font: rejected by sanitizer (font-family: "Roboto" style:normal weight:500 stretch:normal src index:2) source: http://example.com:5232/.web/infcloud/fonts/Roboto-Medium-webfont.ttf  default.css:45:1
downloadable font: no supported format found (font-family: "Roboto" style:normal weight:500 stretch:normal src index:4) source: (end of source list)  default.css:45:1
downloadable font: glyf: table overruns end of file (font-family: "Roboto" style:normal weight:normal stretch:normal src index:2) source: http://example.com:5232/.web/infcloud/fonts/Roboto-Regular-webfont.ttf  default.css:34:1
downloadable font: rejected by sanitizer (font-family: "Roboto" style:normal weight:normal stretch:normal src index:2) source: http://example.com:5232/.web/infcloud/fonts/Roboto-Regular-webfont.ttf  default.css:34:1
downloadable font: no supported format found (font-family: "Roboto" style:normal weight:normal stretch:normal src index:4) source: (end of source list)  default.css:34:1
Unrud commented

This is a duplicate of Kozea/Radicale#687. Update to Python >= 3.5 or try the workaround in the issue.

@Unrud,

I was already using Python 3.5.1, so updating doesn't seem to solve the issue. However, workaround with --server-timeout 0 argument helped. Are there any downsides in running radicale with this argument?

Also, is it possible to define this as an option in radicale configuration file instead of command line argument?

Unrud commented

I was already using Python 3.5.1, so updating doesn't seem to solve the issue.

I only tested Python 3.5.2.

Are there any downsides in running radicale with this argument?

Yes, it will take a long time before stall connections are closed and you might run out of available connections (can be configured with --server-max-connections).

Also, is it possible to define this as an option in radicale configuration file instead of command line argument?

[server]
timeout = 0