Nach jeder neuinstallation von Openmediavault kommt sie wieder – die nervige Fehlermeldung:
Exception ignored in: .remove at 0xb62ca390>
Traceback (most recent call last):
File „/usr/lib/python3.5/weakref.py“, line 117, in remove
TypeError: ‚NoneType‘ object is not callable
Exception ignored in: .remove at 0xb62ca390>
Traceback (most recent call last):
File „/usr/lib/python3.5/weakref.py“, line 117, in remove
TypeError: ‚NoneType‘ object is not callable
Und jedes mal suche ich die Lösung. Ich selber kenne zwei und suche immer wieder nach der Download-Variante, weswegen ich hier beide Lösungsansätze dokumentiere. Der Fehler selbst ist ein Fehler in Python, der bekannt und in neueren Versionen bereits gefixt ist. Auswirkungen hat es auf die Funktionsweise von Openmediavault nicht. Es ist halt einfach nicht schön.
Aktuell betreibe ich Openmediavault Arrakis (4.1.29-1). Das ganze basiert noch auf einem Debian 9 (Debian GNU/Linux 9.11 (stretch)).
Manuelle korrektur
Kurzanleitung: Öffne Datei /usr/lib/python3.5/weakref.py
cd /usr/lib/python3.5/
nano weakref.py
und ändere Zeile 109 in:
def remove(wr, selfref=ref(self), _atomic_removal=_remove_dead_weakref):
Und Zeile 117 zu:
_atomic_removal(d, wr.key)
Hinweis: Leerzeichen und keine Tabs verwenden, sonst können Fehler auftreten.
Alternativer Ansatz per Download
Auf der Console die korrigierte Datei von git herunterladen. Dazu einfach per SSH eintippen:
wget -O /usr/lib/python3.5/weakref.py https://raw.githubusercontent.com/python/cpython/9cd7e17640a49635d1c1f8c2989578a8fc2c1de6/Lib/weakref.py
Berechtigungen korrekt setzen, falls notwendig
ls -Al /usr/lib/python3.5/
chown root:root /usr/lib/python3.5/weakref.py
Bei mir ist hier im Original die Berechtigung root:root gesetzt:
-rw-r–r– 1 root root 20433 Sep 27 2018 /usr/lib/python3.5/weakref.py