Cannot open up the firmware update page anymore
Describe the issue you are experiencing
I've recently upgraded RaspberryMatic to 3.73.9.20231130:
I'm being notified that there are updates available for 16 of my devices:
When trying to access the Geräte-Firmware page to upload the firmware, I only get the an "error message", but don't get to see anything useful:
I'm not able to upgrade my devices.
In the most recent changelog there is something that sounds familiar:
HmIP-BBL - After a firmware update, the configuration page of the device could no longer be could no longer be called up.
However I don't have any HmIP-BBL device, so it seems like this error can occur under different circumstances too?
Describe the behavior you expected
Firmware update page is loading up correctly.
Steps to reproduce the issue
- Access the firmware page
- See error like in screenshot above
What is the version this bug report is based on?
3.73.9.20231130
Which base platform are you running?
rpi4 (RaspberryPi4)
Which HomeMatic/homematicIP radio module are you using?
RPI-RF-MOD
Anything in the logs that might be useful for us?
2023-12-26 16:59:49,508 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] Exception in thread "Thread-1" java.lang.NullPointerException
2023-12-26 16:59:49,521 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at de.eq3.lib.measurement.internal.PersistentDiagram.compareTo(PersistentDiagram.java:804)
2023-12-26 16:59:49,521 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at de.eq3.lib.measurement.internal.PersistentDiagram.compareTo(PersistentDiagram.java:23)
2023-12-26 16:59:49,522 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at java.base/java.util.TreeMap.compare(Unknown Source)
2023-12-26 16:59:49,523 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at java.base/java.util.TreeMap.put(Unknown Source)
2023-12-26 16:59:49,523 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at java.base/java.util.TreeSet.add(Unknown Source)
2023-12-26 16:59:49,524 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at java.base/java.util.AbstractCollection.addAll(Unknown Source)
2023-12-26 16:59:49,524 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at java.base/java.util.TreeSet.addAll(Unknown Source)
2023-12-26 16:59:49,524 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at java.base/java.util.TreeSet.<init>(Unknown Source)
2023-12-26 16:59:49,525 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at de.eq3.lib.measurement.MeasurementService.getDiagrams(MeasurementService.java:218)
2023-12-26 16:59:49,525 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at de.eq3.lib.measurement.MeasurementService.isDataloggingInitialized(MeasurementService.java:193)
2023-12-26 16:59:49,526 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at de.eq3.lib.measurement.MeasurementService.init(MeasurementService.java:164)
2023-12-26 16:59:49,526 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at de.eq3.ccu.server.BaseHMServer.initializeMeasurement(BaseHMServer.java:199)
2023-12-26 16:59:49,527 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at de.eq3.ccu.server.ip.HMIPServer.initialize(HMIPServer.java:199)
2023-12-26 16:59:49,527 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at de.eq3.ccu.server.ip.HMIPServer.<init>(HMIPServer.java:56)
2023-12-26 16:59:49,527 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at de.eq3.ccu.server.ip.HMIPServer.lambda$main$2(HMIPServer.java:153)
2023-12-26 16:59:49,528 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at java.base/java.lang.Thread.run(Unknown Source)
2023-12-26 17:06:23,263 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] Exception in thread "Thread-1" java.lang.NullPointerException
2023-12-26 17:06:23,275 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at de.eq3.lib.measurement.internal.PersistentDiagram.compareTo(PersistentDiagram.java:804)
2023-12-26 17:06:23,276 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at de.eq3.lib.measurement.internal.PersistentDiagram.compareTo(PersistentDiagram.java:23)
2023-12-26 17:06:23,277 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at java.base/java.util.TreeMap.compare(Unknown Source)
2023-12-26 17:06:23,277 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at java.base/java.util.TreeMap.put(Unknown Source)
2023-12-26 17:06:23,278 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at java.base/java.util.TreeSet.add(Unknown Source)
2023-12-26 17:06:23,278 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at java.base/java.util.AbstractCollection.addAll(Unknown Source)
2023-12-26 17:06:23,279 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at java.base/java.util.TreeSet.addAll(Unknown Source)
2023-12-26 17:06:23,279 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at java.base/java.util.TreeSet.<init>(Unknown Source)
2023-12-26 17:06:23,280 de.eq3.cbcs.util.EQ3LoggerOutputStream ERROR [Thread-1] at de.eq3.lib.measurement.MeasurementService.getDiagrams(MeasurementService.java:218)
### Additional information
_No response_
Guck mal nach ob was in /usr/local/etc/config/firmware liegt.
Wenn ja, dann das Verzeichnis komplett "leeren".
Kann helfen, muss aber nicht.
Es gab schon mal einen Fall wo da was "quer hing" und nach dem Aufräumen der Zugriff wieder funktionierte.
Ich befürchte da ist das Dateisystem kaputt, da das Verzeichnis "nicht existiert":
root@hm:/usr/local/etc/config# ls -al /usr/local/etc/config/
ls: /usr/local/etc/config/log4j.xml: Bad message
ls: /usr/local/etc/config/ntpclient: Bad message
ls: /usr/local/etc/config/firmware: Bad message
ls: /usr/local/etc/config/time.conf: Bad message
Wenn man es anlegen will, gibt es auch einen Fehler:
root@hm:/usr/local/etc/config# mkdir firmware
mkdir: can't create directory 'firmware': Bad message
dmesg spuckt viele Fehler aus:
[170099.472499] EXT4-fs error (device mmcblk0p3): ext4_lookup:1855: inode #171: comm ls: iget: checksum invalid
[170099.473072] EXT4-fs error (device mmcblk0p3): ext4_lookup:1855: inode #172: comm ls: iget: checksum invalid
[170099.473329] EXT4-fs error (device mmcblk0p3): ext4_lookup:1855: inode #173: comm ls: iget: checksum invalid
[170099.473999] EXT4-fs error (device mmcblk0p3): ext4_lookup:1855: inode #170: comm ls: iget: checksum invalid
[170100.032973] EXT4-fs error (device mmcblk0p3): ext4_lookup:1855: inode #173: comm vert.x-worker-t: iget: checksum invalid
[170108.073893] EXT4-fs error (device mmcblk0p3): ext4_lookup:1855: inode #203: comm Thread-1: iget: checksum invalid
[170108.081110] EXT4-fs error (device mmcblk0p3): ext4_lookup:1855: inode #204: comm Thread-1: iget: bad extra_isize 32800 (inode size 256)
[170108.082586] EXT4-fs error (device mmcblk0p3): ext4_lookup:1855: inode #205: comm Thread-1: iget: checksum invalid
[170108.085893] EXT4-fs error (device mmcblk0p3): ext4_lookup:1855: inode #206: comm Thread-1: iget: checksum invalid
[170127.573902] EXT4-fs error (device mmcblk0p3): ext4_lookup:1855: inode #173: comm S62HMServer: iget: checksum invalid
[170127.574150] EXT4-fs error (device mmcblk0p3): ext4_lookup:1855: inode #173: comm S62HMServer: iget: checksum invalid
Die Frage ist, ob das durch das Update verursacht wurde, oder einfach blöder Zufall ist. Letzteres glaube ich zwar nicht, aber vermutlich kann man auch nicht viel tun, um es zu reparieren.
Ich würde keine Experimente machen und RM auf eine frische SD-Karte flashen. Dann ein hoffentlich noch intaktes Backup einspielen.
There hasn't been any activity on this issue recently. To keep our backlog manageable we have to clean old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest RaspberryMatic version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.