We updated the prometheus library in 3.4. It looks like the new update does not allow metric name starting with number and thus "10g" is causing it to panic (i am assuming you have a temperature controller with name 10g). For the time being changing it to something else that does not starts with a number might fix it (e,g. TenG or IOg) or just disable prometheus from the preferences. Meanwhile I'll check if we can prevent this in reef-pi side , i.e check if the metric name is valid or not, and error instead of panic if its invalid.Starting to get a little frustrated, grumble, grumble....Looks like my existing reef-pi unit that has been running for a year plus corrupted the SD card, I really don't like SD cards. I took this as an opportunity to rebuild with the latest version, easy enough and I got it back up an working, using 3.4. Either I have run into a bug or I am doing something wrong, but I get a portion of the way through configuring and if I reboot the service will not start up, here are the journalctl lines:
Code:Started raspberry pi based reef tank controller. May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 driver-subsystem: registering driver id: rpi Name: Raspberry Pi May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 INFO: equipment subsystem: Finished syncing all equipment May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Successfully started subsystem: equipment May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Successfully started subsystem: temperature May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Successfully started subsystem: lightings May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Successfully started subsystem: macro May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Successfully started subsystem: timers May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Successfully started subsystem: system May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 reef-pi is up and running May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Starting https server at: 0.0.0.0:443 May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Starting health checker May 28 22:04:36 tankpi reef-pi[1147]: Methods: [GET] May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 API Doc path: /api/settings May 28 22:05:36 tankpi reef-pi[1147]: 2020/05/28 22:05:36 Reading temperature from device: 28-011938443c3c May 28 22:05:36 tankpi reef-pi[1147]: 2020/05/28 22:05:36 Reading temperature from device: 28-00000a9aeb40 May 28 22:05:36 tankpi reef-pi[1147]: 2020/05/28 22:05:36 health check: Used memory: 11.42 Load5: 0.24 May 28 22:05:37 tankpi reef-pi[1147]: 2020/05/28 22:05:37 temperature sub-system: sensor 10g-green value: 78.24 May 28 22:05:37 tankpi reef-pi[1147]: panic: descriptor Desc{fqName: "10g_green_reading", help: "Module:10g-green Item:reading", constLabels: {}, variableLabels: []} is invalid: "10g_green_reading" is not a valid metric name May 28 22:05:37 tankpi reef-pi[1147]: goroutine 44 [running]: May 28 22:05:37 tankpi reef-pi[1147]: github.com/prometheus/client_golang/prometheus.(*Registry).MustRegister(0x2176380, 0x200fd18, 0x1, 0x1) May 28 22:05:37 tankpi reef-pi[1147]: /home/ranjib/gocode/pkg/mod/github.com/prometheus/[email protected]/prometheus/registry.go:400 +0x80 May 28 22:05:37 tankpi reef-pi[1147]: github.com/prometheus/client_golang/prometheus/promauto.Factory.NewGauge(0x767ce0, 0x2176380, 0x0, 0x0, 0x0, 0x0, 0x202bd20, 0x11, 0x202bd40, 0x1d, ...) May 28 22:05:37 tankpi reef-pi[1147]: /home/ranjib/gocode/pkg/mod/github.com/prometheus/[email protected]/prometheus/promauto/auto.go:295 +0xc0 May 28 22:05:37 tankpi reef-pi[1147]: github.com/prometheus/client_golang/prometheus/promauto.NewGauge(...) May 28 22:05:37 tankpi reef-pi[1147]: /home/ranjib/gocode/pkg/mod/github.com/prometheus/[email protected]/prometheus/promauto/auto.go:190 May 28 22:05:37 tankpi reef-pi[1147]: github.com/reef-pi/reef-pi/controller/telemetry.(*telemetry).EmitMetric(0x21b8180, 0x21a19c0, 0x9, 0x6742ce, 0x7, 0x28f5c28f, 0x40538f5c) May 28 22:05:37 tankpi reef-pi[1147]: /home/ranjib/gocode/src/github.com/reef-pi/reef-pi/controller/telemetry/stats.go:175 +0x464 May 28 22:05:37 tankpi reef-pi[1147]: github.com/reef-pi/reef-pi/controller/modules/temperature.(*Controller).Check(0x2198840, 0x2197200) May 28 22:05:37 tankpi reef-pi[1147]: /home/ranjib/gocode/src/github.com/reef-pi/reef-pi/controller/modules/temperature/control.go:30 +0x3dc May 28 22:05:37 tankpi reef-pi[1147]: github.com/reef-pi/reef-pi/controller/modules/temperature.(*Controller).Run(0x2198840, 0x2197200, 0x21acd80) May 28 22:05:37 tankpi reef-pi[1147]: /home/ranjib/gocode/src/github.com/reef-pi/reef-pi/controller/modules/temperature/tc.go:191 +0xc8 May 28 22:05:37 tankpi reef-pi[1147]: created by github.com/reef-pi/reef-pi/controller/modules/temperature.(*Controller).Start May 28 22:05:37 tankpi reef-pi[1147]: /home/ranjib/gocode/src/github.com/reef-pi/reef-pi/controller/modules/temperature/controller.go:71 +0x1c4 May 28 22:05:37 tankpi systemd[1]: reef-pi.service: Main process exited, code=exited, status=2/INVALIDARGUMENT May 28 22:05:37 tankpi systemd[1]: reef-pi.service: Failed with result 'exit-code'. May 28 22:07:07 tankpi systemd[1]: reef-pi.service: Service RestartSec=1min 30s expired, scheduling restart. May 28 22:07:07 tankpi systemd[1]: reef-pi.service: Scheduled restart job, restart counter is at 9.
I have enable prometheus and haven't tried turning that off but something is amiss here, I can always drop back to 3.3 but I see a panic and an invalid argument error messages. It will not start up, I thought it was my naming convention or something but I think something is amiss in 3.4 that's not very nice.
Let me know if you need additional information, I will delete the database once again and see if I can figure out what it doesn't like.
:)
UPDATE: I've narrowed it down to the temp sensor readings, it crashes right after trying to read the temp value, doesn't make a difference which temp senor is enable it crashes after trying to read the sensor:
Code:2020/05/28 23:59:45 Reading temperature from device: 28-011938443c3c May 28 23:59:46 tankpi reef-pi[695]: 2020/05/28 23:59:46 temperature sub-system: sensor 10g value: 78.24 May 28 23:59:46 tankpi reef-pi[695]: panic: descriptor Desc{fqName: "10g_reading", help: "Module:10g Item:reading", constLabels: {}, variableLabels: []} is invalid: "10g_reading" is not a valid metric name
If I disable the temp sensor it stays up...what am I missing? I've enabled 1-wire and I2C in raspi-config, and it sees the sensors but is crashing non the less. If anyone has any idea's let me know.
Thanks

