alexreinert / debmatic

debmatic is a project to install the Homematic OCCU on Debian based systems (Debian, Ubuntu, Raspbian, Armbian)
188 stars 33 forks source link

eq3configcmd: error while loading shared libraries: libpthread.so.0: ELF load command address/offset not page-aligned #380

Closed klauswitt closed 3 weeks ago

klauswitt commented 1 month ago

Hallo,

nach Netzwerkproblemen und einigen reboots des Raspberry startet Debmatic leider nicht mehr.

Im Browser erscheint nur der Startbilschirm "Die Homematic CCU ist noch nicht bereit" und beim HMIPw-DRAP blinkt die LED, was bedeutet, dass keine Verbindung zur CCU besteht. Auch ein reinstall löste das Problem nicht. Im Log erscheint ein Fehler in Verbindung mit der Datei libpthread.so.0

sudo journalctl -f -u debmatic Aug 25 10:39:43 drham systemd[1]: Starting debmatic.service - debmatic... Aug 25 10:39:45 drham initsystem.sh[7267]: eq3configcmd: error while loading shared libraries: libpthread.so.0: ELF load command address/offset not page-aligned Aug 25 10:39:46 drham systemd[1]: Finished debmatic.service - debmatic.

sudo debmatic-info debmatic version: 3.77.7-117 OS: Debian GNU/Linux 12 (bookworm) Kernel: 6.6.31+rpt-rpi-2712 aarch64 Service Status: Running Kernel modules: Available Raw UART dev: Available Rasp.Pi UART: Assigned to GPIO pins HMRF Hardware: HMIP-RFUSB Connected via: eQ-3 HmIP-RFUSB@usb-xhci-hcd.1-2.1 (/dev/raw-uart) Board serial: 1D89B55405 Radio MAC: 0xFFEEDD HMIP Hardware: HMIP-RFUSB Connected via: eQ-3 HmIP-RFUSB@usb-xhci-hcd.1-2.1 (/dev/raw-uart) SGTIN: ***** Radio MAC: 0x001122

Die Datei libpthread.so.0 ist vorhanden:

sudo find /usr/ -name libpthread.so.0 -exec ls -lh -nls {} + 68K -rw-r--r-- 1 0 0 66K 7. Mai 09:37 /usr/lib/aarch64-linux-gnu/libpthread.so.0 8,0K -rw-r--r-- 1 0 0 5,4K 7. Mai 09:37 /usr/lib/arm-linux-gnueabihf/libpthread.so.0 112K -rwxr-xr-x 1 0 0 111K 14. Okt 2022 /usr/share/debmatic/lib/libpthread.so.0

System: P5 8G Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.6.31+rpt-rpi-2712 Architecture: arm64 Debmatic wurde manuell installiert

alexreinert commented 1 month ago

Reboot oder harten Reset durch Stecker ziehen? Ich tippe auf letzteres und das kann das Dateisystem beschädigen mit solchen Folgen.

sudo apt install --reinstall debmatic installiert alle Binaries neu. Sollte es aber Dateifehler in der Konfiguration geben, hilft dann nur ein Backup.

klauswitt commented 1 month ago

Leider durch Stecker ziehen, ich habe aber eine M.2 SSD am Pi. Die ist gegenüber solchen Aktionen relativ robust.

sudo apt install --reinstall debmatic hat leider nix gebracht.

Kann ich irgendwie überprüfen auf welche libpthread.so.0 das eq3configcmd zugreift? Vielleicht reicht eine neue Verlinkung. Kann ich die libpthread.so.0 von irgendwo manuell installieren?

Neu Aufsetzen wäre die letzte Option, die ich gern vermeiden würde

alexreinert commented 1 month ago

Ein Hardreset ist für ein gemountetes Filesystem immer kritisch, egal welche Hardware verwendet wird.

Es wird die Datei /usr/share/debmatic/lib/libpthread.so.0 verwendet, die wird bei einem reinstall neu geschrieben. Welcher Kernel wird verwendet (Der aus den Rasberry Pi OS Paketen oder der schon lange nicht mehr empfohlene Kernel, welcher über rpi-update kommt? Welche Anpassungen wurden an der /boot/config.txt vorgenommen bzw. wie sieht die aktuell aus?

klauswitt commented 1 month ago

Der Kernel sollte vom Raspberry Pi OS Paket kommen. Linux 6.6.31+rpt-rpi-2712 Das System ist vor 3 Monaten neu aufgesetzt worden (Raspberry Pi OS Lite).

cat /boot/firmware/config.txt
# For more options and information see
# http://rptl.io/configtxt
# Some settings may impact device functionality. See link above for details

# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Additional overlays and parameters are documented
# /boot/firmware/overlays/README

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Automatically load initramfs files, if found
auto_initramfs=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Don't have the firmware create an initial video= setting in cmdline.txt.
# Use the kernel's default instead.
disable_fw_kms_setup=1

# Run in 64-bit mode
arm_64bit=1

# Disable compensation for displays with overscan
disable_overscan=1

# Run as fast as firmware / board allows
arm_boost=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]

dtparam=nvme
dtparam=pciex1_gen=3
max_usb_current=1
klauswitt commented 3 weeks ago

Nach einigen Versuchen habe ich augegeben. System neu aufgesetzt und das Backup eingespielt