Web UI won't load

We updated the VM are running cryosparcm on, not a major version, and suddenly it doesn’t load. Just a blank white screen, no error message. If I curl the URL:39000, we get this:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
    <link rel="manifest" href="/site.webmanifest" crossorigin="use-credentials" />
    <meta name="theme-color" content="#2563eb" />
    <title>CryoSPARC</title>
    <script>
      if (localStorage.getItem('cryosparc_dark') === 'true') {
        document.querySelector('html').classList.add('dark');
      } else {
        document.querySelector('html').classList.remove('dark');
      }
    </script>
    <script type="module" crossorigin src="/assets/index.c53ca7a6.js"></script>
    <link rel="modulepreload" href="/assets/vendor.3ae73048.js">
    <link rel="stylesheet" href="/assets/index.9e3aaa50.css">
  </head>
  <body>
    <div id="app"></div>
    <noscript>You need to enable JavaScript to run this app.</noscript>
    <script id="state">__CRYOSPARC__={user:null,ddpToken:null,runningVersion:null,jobTypesAvailable:null,lanes:null,targets:null,keycloakAuthEnabled:undefined}</script>
    
  </body>
</html>

I ran cryosparcm status and verified everything was running. Then I ran cryosparcm log <service> for each service and didn’t see any error messages.

We are on Rocky Linux, trying to find out from IT exactly what version, at which point I’ll update the post.

The weird thing is, I completely re-installed CryoSPARC from scratch, with a new DB, and encounter the same problem.

EDIT: The same error about Javascript appears if I inspect source on the blank page, in both Chrome and Firefox.

@ccgauvin94 The html code you posted looks indistinguishable from a functioning CryoSPARC instance to me.

Accessing the GUI via a url of the format
http://URL:39000, as opposed to
https://URL (reverse proxy) or http://localhost:39000 (port forwarding or local workstation access), can result in disruptions, as discussed, for example, under Webapp get really unresponsive on heavy load.

  1. Does the page load properly if you access the UI via local port forwarding and a http://localhost:<localport> url?
  2. Does the Network tab (see UI debugging) indicate any problems during a page reload?

OK, thanks for letting me know.

This is so odd. We’ve been running CryoSPARC for years with no issues until this OS reboot (we didn’t even update CryoSPARC!) and yet SSH tunneling as described did resolve the issue - the UI now loads and I can login.

Thanks so much for the help. I’ll chat with our IT folks and see if we can come up with a more permanent solution. Sounds like reverse proxy is the way to go?

The reverse proxy may be more user friendly than the ssh tunnel.