Dashboard not working after upgrade from 5.3.2 to 5.4.0


#1

After I upgraded version from 5.3.2 to 5.4.0 one dashboard out of all the dashboards is not working.
The log file under /var/log/grafana/grafana.log shows no error on page load.

Browser console shows two errors on page load:

react-dom.production.min.js:171 TypeError: Cannot read property 'exports' of undefined
    at e.loadPlugin (DashboardGrid.tsx:166)
    at e.componentDidMount (DashboardGrid.tsx:208)
    at da (react-dom.production.min.js:213)
    at ca (react-dom.production.min.js:205)
    at la (react-dom.production.min.js:204)
    at Fo (react-dom.production.min.js:200)
    at Object.enqueueSetState (react-dom.production.min.js:130)
    at r.y.setState (react.production.min.js:13)
    at r.i.strategisedSetState (react-sizeme.js:308)
    at react-sizeme.js:336
io @ react-dom.production.min.js:171
n.callback @ react-dom.production.min.js:179
ri @ react-dom.production.min.js:125
ni @ react-dom.production.min.js:125
da @ react-dom.production.min.js:214
ca @ react-dom.production.min.js:205
la @ react-dom.production.min.js:204
Fo @ react-dom.production.min.js:200
enqueueSetState @ react-dom.production.min.js:130
y.setState @ react.production.min.js:13
i.strategisedSetState @ react-sizeme.js:308
(anonymous) @ react-sizeme.js:336
v @ index.js:160
(anonymous) @ index.js:170
x @ index.js:235
a @ element-resize-detector.js:161
(anonymous) @ element-resize-detector.js:236
C @ scroll.js:587
process @ batch-processor.js:123
l @ batch-processor.js:37
setTimeout (async)
(anonymous) @ batch-processor.js:82
(anonymous) @ batch-processor.js:83
c @ batch-processor.js:64
add @ batch-processor.js:24
A @ scroll.js:595
makeDetectable @ scroll.js:616
(anonymous) @ element-resize-detector.js:229
forEach @ collection-utils.js:14
listenTo @ element-resize-detector.js:197
value @ react-sizeme.js:395
value @ react-sizeme.js:346
da @ react-dom.production.min.js:213
ca @ react-dom.production.min.js:205
la @ react-dom.production.min.js:204
Fo @ react-dom.production.min.js:200
va @ react-dom.production.min.js:218
ya @ react-dom.production.min.js:218
ka.render @ react-dom.production.min.js:227
(anonymous) @ react-dom.production.min.js:230
ma @ react-dom.production.min.js:216
Ea @ react-dom.production.min.js:230
render @ react-dom.production.min.js:232
(anonymous) @ ng_react.ts:167
$digest @ angular.js:18232
$apply @ angular.js:18531
(anonymous) @ angular.js:18832
h @ angular.js:6362
(anonymous) @ angular.js:6642
setTimeout (async)
i.defer @ angular.js:6640
$applyAsync @ angular.js:18831
(anonymous) @ angular.js:12544
w @ angular.js:12785
y.onload @ angular.js:12702
load (async)
(anonymous) @ angular.js:12685
(anonymous) @ angular.js:12492
(anonymous) @ angular.js:12244
(anonymous) @ angular.js:17051
(anonymous) @ angular.js:17095
$digest @ angular.js:18232
$apply @ angular.js:18531
(anonymous) @ angular.js:14431
dispatch @ jquery.js:5183
g.handle @ jquery.js:4991
react-dom.production.min.js:204 Uncaught TypeError: Cannot read property 'exports' of undefined
    at e.loadPlugin (DashboardGrid.tsx:166)
    at e.componentDidMount (DashboardGrid.tsx:208)
    at da (react-dom.production.min.js:213)
    at ca (react-dom.production.min.js:205)
    at la (react-dom.production.min.js:204)
    at Fo (react-dom.production.min.js:200)
    at Object.enqueueSetState (react-dom.production.min.js:130)
    at r.y.setState (react.production.min.js:13)
    at r.i.strategisedSetState (react-sizeme.js:308)
    at react-sizeme.js:336
e.loadPlugin @ DashboardGrid.tsx:166
e.componentDidMount @ DashboardGrid.tsx:208
da @ react-dom.production.min.js:213
ca @ react-dom.production.min.js:205
la @ react-dom.production.min.js:204
Fo @ react-dom.production.min.js:200
enqueueSetState @ react-dom.production.min.js:130
y.setState @ react.production.min.js:13
i.strategisedSetState @ react-sizeme.js:308
(anonymous) @ react-sizeme.js:336
v @ index.js:160
(anonymous) @ index.js:170
x @ index.js:235
a @ element-resize-detector.js:161
(anonymous) @ element-resize-detector.js:236
C @ scroll.js:587
process @ batch-processor.js:123
l @ batch-processor.js:37
setTimeout (async)
(anonymous) @ batch-processor.js:82
(anonymous) @ batch-processor.js:83
c @ batch-processor.js:64
add @ batch-processor.js:24
A @ scroll.js:595
makeDetectable @ scroll.js:616
(anonymous) @ element-resize-detector.js:229
forEach @ collection-utils.js:14
listenTo @ element-resize-detector.js:197
value @ react-sizeme.js:395
value @ react-sizeme.js:346
da @ react-dom.production.min.js:213
ca @ react-dom.production.min.js:205
la @ react-dom.production.min.js:204
Fo @ react-dom.production.min.js:200
va @ react-dom.production.min.js:218
ya @ react-dom.production.min.js:218
ka.render @ react-dom.production.min.js:227
(anonymous) @ react-dom.production.min.js:230
ma @ react-dom.production.min.js:216
Ea @ react-dom.production.min.js:230
render @ react-dom.production.min.js:232
(anonymous) @ ng_react.ts:167
$digest @ angular.js:18232
$apply @ angular.js:18531
(anonymous) @ angular.js:18832
h @ angular.js:6362
(anonymous) @ angular.js:6642
setTimeout (async)
i.defer @ angular.js:6640
$applyAsync @ angular.js:18831
(anonymous) @ angular.js:12544
w @ angular.js:12785
y.onload @ angular.js:12702
load (async)
(anonymous) @ angular.js:12685
(anonymous) @ angular.js:12492
(anonymous) @ angular.js:12244
(anonymous) @ angular.js:17051
(anonymous) @ angular.js:17095
$digest @ angular.js:18232
$apply @ angular.js:18531
(anonymous) @ angular.js:14431
dispatch @ jquery.js:5183
g.handle @ jquery.js:4991

Can anyone help?
More info: Downgrading back to 5.3.2 loads the dashboard just fine.


#2

What plugins have you installed?


#4

PANEL
AJAX
By ryantxu
2.
PANEL
Alert List
By Grafana Project
3.
DATASOURCE
CloudWatch
By Grafana Project
4.
PANEL
Dashboard list
By Grafana Project
5.
PANEL
Datatable Panel
By Brian Gann (bkgann@gmail.com)
6.
DATASOURCE
Elasticsearch
By Grafana Project
7.
DATASOURCE
Finance
By Michael Young
8.
PANEL
Getting Started
By Grafana Project
9.
DATASOURCE
Grafana Logging
By Grafana Project
10.
PANEL
Graph
By Grafana Project
11.
DATASOURCE
Graphite
By Grafana Project
12.
PANEL
Heatmap
By Grafana Project
13.
DATASOURCE
InfluxDB
By Grafana Project
14.
DATASOURCE
Microsoft SQL Server
By Grafana Project
15.
DATASOURCE
MySQL
By Grafana Project
16.
DATASOURCE
OpenTSDB
By Grafana Project
17.
PANEL
Update available!
Pie Chart
By Grafana Labs
18.
PANEL
Plotly
By Natel Energy
19.
PANEL
Plugin list
By Grafana Project
20.
DATASOURCE
PostgreSQL
By Grafana Project
21.
DATASOURCE
Prometheus
By Grafana Project
22.
PANEL
Radar Graph
By snuids
23.
DATASOURCE
SimpleJson
By Grafana Labs
24.
PANEL
Singlestat
By Grafana Project
25.
DATASOURCE
Stackdriver
By Grafana Project
26.
PANEL
Table
By Grafana Project
27.
DATASOURCE
TestData DB
By Grafana Project
28.
PANEL
Text
By Grafana Project
29.
PANEL
Worldmap Panel
By Grafana Labs
30.
APP
Zabbix
By Alexander Zobnin
31.
APP
worldPing
By Grafana Labs


#5

It looks I have a similar problem.
It is also since upgrading from 5.3.2:

TypeError: Cannot read property 'exports' of undefined
at e.loadPlugin (DashboardGrid.tsx:166)
at e.componentDidMount (DashboardGrid.tsx:208)
at da (react-dom.production.min.js:213)
at ca (react-dom.production.min.js:205)
at la (react-dom.production.min.js:204)
at Fo (react-dom.production.min.js:200)
at Object.enqueueSetState (react-dom.production.min.js:130)
at r.y.setState (react.production.min.js:13)
at r.i.strategisedSetState (react-sizeme.js:308)
at react-sizeme.js:336

The dashboard which has this problem is this one: https://github.com/percona/grafana-dashboards/blob/master/dashboards/MySQL_Overview.json
Other Dashboards work fine like all the time :wink:


#6

Upgraded to Grafana v5.4.2 (d812109). That also did not change the state of the issue.


#7

Hi, problem still persists in latest Grafana v5.4.3 and this dashboard https://grafana.com/dashboards/8162


#8

Hi again,

I found the issue on my dashboard. I removed panel by panel from the dashboard json and found the panel which causes the problem. After that I compared the json of the broken panel with a working one.
The broken panel had pmm-singlestat-panel set as type, which does not exist.
I changed it to singlestat directly in the dashboard json, after that the dashboard was rendered again.
So the problem is fixed for me now.
However I think it would be good to improve error handling/logging here as the only indication for the error is from web console which says absolutely nothing about the actual cause.