RaspberryMatic icon indicating copy to clipboard operation
RaspberryMatic copied to clipboard

Cannot open up the firmware update page anymore

Open kbabioch opened this issue 2 years ago • 3 comments

Describe the issue you are experiencing

I've recently upgraded RaspberryMatic to 3.73.9.20231130:

grafik

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:

grafik

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

  1. Access the firmware page
  2. 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_

kbabioch avatar Dec 26 '23 16:12 kbabioch

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.

Baxxy13 avatar Dec 28 '23 13:12 Baxxy13

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.

kbabioch avatar Dec 28 '23 15:12 kbabioch

Ich würde keine Experimente machen und RM auf eine frische SD-Karte flashen. Dann ein hoffentlich noch intaktes Backup einspielen.

Baxxy13 avatar Dec 28 '23 15:12 Baxxy13

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.

github-actions[bot] avatar Mar 28 '24 05:03 github-actions[bot]