I updated my main NAS from 24.04.2.5 to 24.10.1 today.
Opening the UI, the homescreen displays a lot of blank reporting elements. Reports for CPU and pools are empty.
After looking in the browser dev tools, I saw that some Javascript function that processes the websocket data throws following error:
TypeError: Cannot read properties of undefined (reading 'usage')
at e.parseCpuData (cpu-core-bar.component.ts:121:32)
at Object.computation (cpu-core-bar.component.ts:38:23)
at Object.producerRecomputeValue (signals.mjs:375:25)
at PW (signals.mjs:131:8)
[... callstack goes on for a lot longer ...]
When stopping the script at line 121 in this component, I see following object:
cpuData Object
cpuData: {
"0": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"1": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 99,
"iowait": 1,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"2": {
"user": 0,
"nice": 0,
"system": 1,
"idle": 99,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 1
},
"3": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"4": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"5": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"6": {
"user": 0,
"nice": 0,
"system": 0.990099,
"idle": 99.009901,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0.9900990000000007
},
"7": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"8": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"9": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"10": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"11": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"12": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"13": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"14": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"15": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"16": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"17": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"18": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"19": {
"user": 0,
"nice": 0,
"system": 0,
"idle": 100,
"iowait": 0,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0
},
"average": {
"user": 0,
"nice": 0.05,
"system": 0.2,
"idle": 99.65,
"iowait": 0.1,
"irq": 0,
"softirq": 0,
"steal": 0,
"guest": 0,
"guest_nice": 0,
"usage": 0.24999999999999434
},
"temperature_celsius": {
"0": 29,
"1": 30,
"2": 29,
"3": 30,
"4": 30,
"5": 27,
"6": 27,
"7": 28,
"8": 28,
"9": 28,
"10": 30,
"11": 31,
"12": 30,
"13": 30
}
}
I couldnāt find out how this object could be empty, when used like this int he code (marked in bold is the part that causes the issue):
const usageCore = this.hyperthread()
? **(cpuData[usageIndex].usage** + cpuData[usageIndex + 1].usage).toFixed(1)
: cpuData[usageIndex].usage.toFixed(1);
What could cause this? I just get a blank screen for these parts in the main UI.
This error also happens in combination with this one:
error-handler.service.ts:72
POST https://sentry.ixsystems.com/api/4/store/?sentry_key=7ac3e76ā¦&sentry_version=7 net::ERR_CONNECTION_RESET
I have a second TrueNAS machine with a fresh install of 24.10. There these reports just work as intended.