Hanging waiting for permissions

Hello, I tried this with the latest 0.35.0 and 0.35.1.

If I go to Admin, then permission and I click on “View tables”, the page updates but no data is displayed and it only displays the spinning circle forever.

Any thoughts?

Right now I have to go back to 0.34.3 to change permissions.

BR,
Alex

Hi @gatalec
Please post “Diagnostic Info” from Admin > Troubleshooting.
Without any logs or steps-to-reproduce, it’s difficult going to be difficult to know what’s going on.
Check your browser console and Admin > Troubleshooting > Logs.

{
“browser-info”: {
“language”: “en-US”,
“platform”: “Win32”,
“userAgent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36”,
“vendor”: “Google Inc.”
},
“system-info”: {
“file.encoding”: “UTF-8”,
“java.runtime.name”: “OpenJDK Runtime Environment”,
“java.runtime.version”: “1.8.0_242-b08”,
“java.vendor”: “Oracle Corporation”,
“java.vendor.url”: “http://java.oracle.com/”,
“java.version”: “1.8.0_242”,
“java.vm.name”: “OpenJDK 64-Bit Server VM”,
“java.vm.version”: “25.242-b08”,
“os.name”: “Linux”,
“os.version”: “3.10.0-1062.18.1.el7.x86_64”,
“user.language”: “en”,
“user.timezone”: “UTC”
},
“metabase-info”: {
“databases”: [
“mysql”
],
“hosting-env”: “unknown”,
“application-database”: “h2”,
“application-database-details”: {
“database”: {
“name”: “H2”,
“version”: “1.4.197 (2018-03-18)”
},
“jdbc-driver”: {
“name”: “H2 JDBC Driver”,
“version”: “1.4.197 (2018-03-18)”
}
},
“run-mode”: “prod”,
“version”: {
“tag”: “v0.35.1”,
“date”: “2020-04-02”,
“branch”: “release-0.35.x”,
“hash”: “e67f169”
},
“settings”: {
“report-timezone”: null
}
}
}

and…

[fbaa560b-4845-471a-8019-9f8c7110e3ff] 2020-04-04T08:56:11-07:00 DEBUG metabase.middleware.log GET /api/user/current 200 2.1 ms (3 DB calls) App DB connections: 3/13 Jetty threads: 3/50 (4 idle, 0 queued) (56 total active threads) Queries in flight: 0 (0 queued)
[fbaa560b-4845-471a-8019-9f8c7110e3ff] 2020-04-04T08:56:11-07:00 DEBUG metabase.middleware.log GET /api/session/properties 200 5.9 ms (2 DB calls) App DB connections: 3/13 Jetty threads: 3/50 (4 idle, 0 queued) (56 total active threads) Queries in flight: 0 (0 queued)
[fbaa560b-4845-471a-8019-9f8c7110e3ff] 2020-04-04T08:56:11-07:00 DEBUG metabase.middleware.log GET /api/database 200 5.2 ms (3 DB calls) App DB connections: 0/13 Jetty threads: 3/50 (4 idle, 0 queued) (56 total active threads) Queries in flight: 0 (0 queued)
[fbaa560b-4845-471a-8019-9f8c7110e3ff] 2020-04-04T08:56:11-07:00 DEBUG metabase.middleware.log GET /api/database 200 19.4 ms (4 DB calls) App DB connections: 5/13 Jetty threads: 4/50 (3 idle, 0 queued) (56 total active threads) Queries in flight: 0 (0 queued)
[fbaa560b-4845-471a-8019-9f8c7110e3ff] 2020-04-04T08:56:11-07:00 DEBUG metabase.middleware.log GET /api/permissions/group 200 3.9 ms (2 DB calls) App DB connections: 4/13 Jetty threads: 5/50 (2 idle, 0 queued) (56 total active threads) Queries in flight: 0 (0 queued)
[fbaa560b-4845-471a-8019-9f8c7110e3ff] 2020-04-04T08:56:12-07:00 DEBUG metabase.middleware.log GET /api/permissions/graph 200 54.0 ms (3 DB calls) App DB connections: 0/13 Jetty threads: 3/50 (3 idle, 0 queued) (58 total active threads) Queries in flight: 0 (0 queued)
[fbaa560b-4845-471a-8019-9f8c7110e3ff] 2020-04-04T08:56:35-07:00 DEBUG metabase.middleware.log GET /api/user/current 200 2.7 ms (3 DB calls) App DB connections: 4/13 Jetty threads: 5/50 (3 idle, 0 queued) (58 total active threads) Queries in flight: 0 (0 queued)
[fbaa560b-4845-471a-8019-9f8c7110e3ff] 2020-04-04T08:56:35-07:00 DEBUG metabase.middleware.log GET /api/session/properties 200 13.0 ms (2 DB calls) App DB connections: 0/13 Jetty threads: 3/50 (3 idle, 0 queued) (58 total active threads) Queries in flight: 0 (0 queued)
[fbaa560b-4845-471a-8019-9f8c7110e3ff] 2020-04-04T08:56:35-07:00 DEBUG metabase.middleware.log GET /api/database 200 3.2 ms (3 DB calls) App DB connections: 3/13 Jetty threads: 3/50 (4 idle, 0 queued) (58 total active threads) Queries in flight: 0 (0 queued)
[fbaa560b-4845-471a-8019-9f8c7110e3ff] 2020-04-04T08:56:35-07:00 DEBUG metabase.middleware.log GET /api/database 200 11.7 ms (4 DB calls) App DB connections: 5/13 Jetty threads: 6/50 (1 idle, 0 queued) (58 total active threads) Queries in flight: 0 (0 queued)
[fbaa560b-4845-471a-8019-9f8c7110e3ff] 2020-04-04T08:56:35-07:00 DEBUG metabase.middleware.log GET /api/permissions/group 200 3.3 ms (2 DB calls) App DB connections: 4/13 Jetty threads: 5/50 (1 idle, 0 queued) (58 total active threads) Queries in flight: 0 (0 queued)
[fbaa560b-4845-471a-8019-9f8c7110e3ff] 2020-04-04T08:56:35-07:00 DEBUG metabase.middleware.log GET /api/permissions/graph 200 49.2 ms (3 DB calls) App DB connections: 0/13 Jetty threads: 3/50 (3 idle, 0 queued) (58 total active threads) Queries in flight: 0 (0 queued)

@gatalec You should look into migrating away from H2 at some point if you’re using that installation in production:
https://www.metabase.com/docs/latest/operations-guide/migrating-from-h2.html

@gatalec I don’t see any errors, so I guess the errors must all be in the frontend, which is available in your browser developer console.

Hummm… strange. If I switch back to 0.34.3 and just refresh my browser page it works fine.

I did try moving to a local MySQL dB but I was able to get it working. I am using an NGINX front end to support HTTPS using instructions like these: https://www.cloudbooklet.com/install-metabase-on-ubuntu-18-04-with-nginx-and-ssl-google-cloud/.

Service config:

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true

[Install]
WantedBy=multi-user.target

NGINX site conf file:
server {
listen 80;
listen [::]:80;
server_name xyz.com;
return 301 https://xyz.com$request_uri;
}server {
listen 443 http2 ssl;server_name xyz.com;ssl_certificate /etc/letsencrypt/live/xyz.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xyz.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”; ssl_ecdh_curve secp384r1; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 5s; add_header Strict-Transport-Security “max-age=63072000; includeSubdomains”; add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff; location / { proxy_set_header Host $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_pass http://localhost:3000; proxy_read_timeout 90; proxy_redirect http://localhost:3000 https://xyz.com; } }

@gatalec When you can supply the logs for 0.35.1, then please do.
I’m not sure what Nginx has to do with migration away from H2. Search the forum or create a new topic about that and include the logs.

Hello flamber - those were the logs with 0.35.1… are there any other logs?

I don’t understand either why NGINX get in the way of connecting to MySQL, but I can connect to MySQL OK without NGINX…

@gatalec Let’s keep it separate. If you need help with migrating away from H2, then open a new topic about that and write exactly the commands you use and what errors you see.

As for hanging-problem, like I said. I need the errors from your browser developer console:
https://www.metabase.com/docs/latest/troubleshooting-guide/bugs.html#checking-for-javascript-console-errors

Agreed.

Sorry, Didn’t realize you needed the browser logs. I am attaching one for Edge. Chrome (and Brave) behave the same way.

  1. HTML1300: Navigation occurred.

tables (1,1)
2. 2

CSP14309: Unknown directive ‘manifest-src’ in Content-Security-Policy - directive will be ignored.

  1. DEPRECATED: metabase/redux/metadata fetchRealDatabases

app-main.bundle.js (5,101668)
4. 2

CSP14312: Resource violated directive ‘font-src ‘self’’ in Content-Security-Policy: data:font/woff;base64,d09GRgABAAAAAIw4ABEAAAABQcAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHUE9TAAABgAAACU8AABMOD1XXMEdTVUIAAArQAAAAUwAAAHCOOI56T1MvMgAACyQAAABbAAAAYNrnrZBjbWFwAAALgAAAAIEAAAC0jBiQAGN2dCAAAAwEAAAAKgAAAC4HyBmgZnBnbQAADDAAAAOBAAAG5XJackBnYXNwAAAPtAAAAAwAAAAMAA0AGGdseWYAAA/AAABViQAAvQzAr6AGaGVhZAAAZUwAAAA2AAAANvzd8kdoaGVhAABlhAAAAB8AAAAkD/YHpGhtdHgAAGWkAAACFAAAA26BW0HVa2VybgAAZ7gAAB/3AABeRKoEucNsb2NhAACHsAAAAb4AAAG+1eip6m1heHAAAIlwAAAAIAAAACAByAf2bmFtZQAAiZAAAADEAAABYBoFNRJwb3N0AACKVAAAAZYAAAJBVvgNX

[… truncated because it’s too big… ]

uQgACABjILABI0QgsAMjcLAURSAgsChgZiCKVViwAiVhsAFFYyNisAIjRLMJCgMCK7MLEAMCK7MRFgMCK1myBCgGRVJEswsQBAIrAA==. Resource will be blocked.

  1. 2

CSS3119: No fonts available for @font-face rule

Grammarly-popup.styles.css (75,5)
6. Unhandled promise rejection TypeError: Unable to get property ‘tables’ of undefined or null reference

  1. vendor.bundle.js (1,2158668)

[object Error]: {description: “Unable to get property ‘tables’ of undefined or null reference”, message: “Unable to get property ‘tables’ of undefined or null reference”, number: -2146823281, stack: “TypeError: Unable to get property ‘tables’ of undefined or null reference at Anonymous function (https://mon.tabletmedia.com/app/dist/app-main.bundle.js?edf30a198cc9250a4cbd:5:875144) at Anonymous function (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:280275) at Anonymous function (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:279555) at Anonymous function (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:280409) at Anonymous function (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:279555) at Anonymous function (https://mon.tabletmedia.com/app/dist/app-main.bundle.js?edf30a198cc9250a4cbd:5:2902444) at i (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:1335663) at p (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:2260038) at Anonymous function (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:2260259) at r.run (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:1331784)”}

  1. Unhandled promise rejection TypeError: Unable to get property ‘tables’ of undefined or null reference

  2. vendor.bundle.js (1,2158668)

[object Error]: {description: “Unable to get property ‘tables’ of undefined or null reference”, message: “Unable to get property ‘tables’ of undefined or null reference”, number: -2146823281, stack: “TypeError: Unable to get property ‘tables’ of undefined or null reference at Anonymous function (https://mon.tabletmedia.com/app/dist/app-main.bundle.js?edf30a198cc9250a4cbd:5:875144) at Anonymous function (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:280275) at Anonymous function (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:279555) at Anonymous function (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:280409) at Anonymous function (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:279555) at Anonymous function (https://mon.tabletmedia.com/app/dist/app-main.bundle.js?edf30a198cc9250a4cbd:5:2902444) at i (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:1335663) at p (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:2260038) at Anonymous function (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:2260259) at r.run (https://mon.tabletmedia.com/app/dist/vendor.bundle.js?edf30a198cc9250a4cbd:1:1331784)”}

  1. 3

0: Unable to get property ‘tables’ of undefined or null reference

vendor.bundle.js (1,1332976)

@gatalec
Is this the error you’re seeing in the console, when trying to view Admin > Permissions?
TypeError: Unable to get property 'tables' of undefined or null reference

It seems like this is not happening when going to Admin > Permissions, but specifically when trying to view tables of database ID 2 - is that correct?

@gatalec There’s a bug - it will be fixed in 0.35.2:
https://github.com/metabase/metabase/issues/12269 - upvote by clicking :+1: on the first post

That’s correct. When I click on Permissions, it shows me the one database. I then click on “View tables”, it updates the page and then sits there waiting for data.

Thank you!

I just updated to 0.35.2 and it’s working again - thank you flamber!

1 Like