**Hallo ich habe den oben beschriebenen Fehler ausgemacht und konnte Ihn mit Hilfe von KI beheben - deshalb alle Angaben ohne Gewähr - aber bei mir hat es funktioniert:
(ein Neustart behebt den Fehler nicht, weil eine Datei gelöscht/umbenannt werden muss):
A. Falsche Verlinkung beim Abbruch-Button (UI-Bug)**
-
Symptom: Im Portal wird dem Benutzer unter „Datenimport (Nextcloud)“ ein Abbrechen-Button angezeigt. Beim Klick auf diesen Button passiert jedoch nichts bzw. der Import-Status wird nicht aufgehoben.
-
Ursache: Im HTML-Template
data_import.htmlist die falsche URL hinterlegt.-
Datei:
/usr/lib/libre-workspace/portal/unix/templates/unix/data_import.html -
Fehlerhafter Code:
HTML
<a href="{% url "abort_current_data_export" %}">{% translate "Cancel" %}</a> -
Problem: Der Abbruch-Button des Imports ruft fälschlicherweise die Routine zum Abbrechen des Exports (
abort_current_data_export) auf. Da kein Export läuft, schlägt der Vorgang ins Leere fehl.
-
B. Hängender Status bei Abbruch/Fehler (Logik-Problem)
-
Symptom: Wenn der Import-Prozess unerwartet beendet wird oder abstürzt, bleibt das Interface dauerhaft im Zustand „Der Datenimport läuft derzeit…“ gesperrt.
-
Ursache: Der Status wird über die Existenz einer Flag-Datei geprüft (
os.path.isfile(...)).-
Datei:
/usr/lib/libre-workspace/portal/unix/unix_scripts/unix.py -
Funktion:
Python
def nextcloud_import_process_running(): return os.path.isfile("nextcloud_import_process_running") -
Problem: Die Datei
nextcloud_import_process_runningwird beim Start des Shell-Skriptsimport_folder_to_nextcloud_user.shpertoucherstellt und erst am Ende perrmgelöscht. Wenn der Prozess vorzeitig endet oder der Abbruch-Link den falschen Endpunkt anspricht, wird diese Datei nie entfernt und sperrt die UI dauerhaft.
-
2. Behebung und Empfehlung zur Lösung
Kurzfristige Behebung (Workaround)
Die Blockade im System konnte manuell aufgehoben werden, indem die Flag-Datei auf dem Server entfernt bzw. umbenannt wurde:
Ich persönlich habe die Datei umbenannt:
# Datei löschen
rm /usr/lib/libre-workspace/portal/unix/unix_scripts/nextcloud_import_process_running
# Datei umbenannt
sudo mv /usr/lib/libre-workspace/portal/unix/unix_scripts/nextcloud_import_process_running /usr/lib/libre-workspace/portal/unix/unix_scripts/nextcloud_import_process_running.bak
Der Datenimport war augenblicklich wieder normal erreichbar.
Empfohlene dauerhafte Lösung für den Support/Entwickler
-
Korrektur des Templates (
data_import.html): Den Link im Template auf die korrekte Import-Abbruch-URL anpassen:<a href="{% url "abort_current_data_import" %}">{% translate "Cancel" %}</a> -
Robusteres Error-Handling im Skript / Python-Backend:
-
Es sollte sichergestellt werden, dass die Flag-Datei auch bei einem Fehler (z. B. via
trapim Bash-Skript odertry...finallyin Python) verlässlich aufgeräumt wird. -
Alternativ sollte geprüft werden, ob der zugehörige Prozess mit der verknüpften PID tatsächlich noch im System läuft, statt sich rein auf die Existenz der Datei zu verlassen.
-
Grüße
Linux-Mint-Franky