Seite 1 von 1

[SOLVED] efa, efaCloud: Sync. funktioniert nicht - java.lang.OutOfMemoryError Fehler

Verfasst: Do 18. Jul 2024, 16:04
von sebastianpsm
Moin,

kennt jemand folgendes Problem:

Windows efa Client synct. nicht mehr mit efaCloud? Im Bootshaus scheint alles i.O. und in efaCloud kommen die Einträge auch an. M.E.n. liegt das Problem am Windows Client.^^

- Status: SYNCHRONIZING
- efaCloud: 2.4.0_03
- Internetverbindung funktioniert

Code: Alles auswählen

[18.07.2024 15:52:35] - efaBase - 05288 - INFO    - EVT001 - PROGRAMMSTART
[18.07.2024 15:52:35] - efaBase - 05288 - INFO    - INF002 - Version efa: 2.4.0_00 -- Java: 1.8.0_391 (JVM 25.391-b13) -- OS: Windows 11 10.0
[18.07.2024 15:52:37] - efaBase - 05288 - INFO    - LOG003 - Debug Logging activated.
[18.07.2024 15:52:44] - efaBase - 05288 - INFO    - ADM001 - Admin-Login: Name: admin
[18.07.2024 15:52:44] - efaBase - 05288 - INFO    - ECS003 - Server Kommunikation @6d1e6f33 zu <URL zu efaCloud> gestartet
[18.07.2024 15:52:45] - efaBase - 05288 - DEBUG   - COR039 - running AdminTask ...
[18.07.2024 15:52:45] - ERROR - Exception in thread "Timer-0" java.lang.OutOfMemoryError: Java heap space
[18.07.2024 15:52:45] - ERROR - 	at java.util.Arrays.copyOfRange(Unknown Source)
[18.07.2024 15:52:45] - ERROR - 	at java.lang.String.<init>(Unknown Source)
[18.07.2024 15:52:45] - ERROR - 	at java.lang.AbstractStringBuilder.substring(Unknown Source)
[18.07.2024 15:52:45] - ERROR - 	at java.lang.StringBuilder.substring(Unknown Source)
[18.07.2024 15:52:45] - ERROR - 	at de.nmichael.efa.data.efacloud.TextResource.getContents(TextResource.java:82)
[18.07.2024 15:52:45] - ERROR - 	at de.nmichael.efa.data.efacloud.TxRequestQueue.getLogsAsZip(TxRequestQueue.java:566)
[18.07.2024 15:52:45] - ERROR - 	at de.nmichael.efa.data.efacloud.TxRequestQueue.access$1100(TxRequestQueue.java:60)
[18.07.2024 15:52:45] - ERROR - 	at de.nmichael.efa.data.efacloud.TxRequestQueue$3.run(TxRequestQueue.java:887)
[18.07.2024 15:52:45] - ERROR - 	at java.util.TimerThread.mainLoop(Unknown Source)
[18.07.2024 15:52:45] - ERROR - 	at java.util.TimerThread.run(Unknown Source)
Wie man dem Java mehr Speicher bereitstellt ist hier beschrieben. Hat aber nichts gebracht.

Schöne Grüße
Sebastian

Re: efa, efaCloud: Sync. funktioniert nicht

Verfasst: Do 18. Jul 2024, 19:02
von smg
Hallo,

Ich gehe trotzdem von einem Fehler 50 aus :-)

An der Stelle versucht efa, die log-dateien in ein ZIP zu packen und hochzuladen.

Entweder es gibt im efacloud log verzeichnis zuviele oder zu große Logdateien.

Da einfach die Logdateien in ein anderes Verzeichnis verschieben, und es sollte wieder klappen.


ALLERDINGS:
Möchte man zu Hause einfach nur eine neue Instanz zu einem Efacloud System aufbauen, würde ich folgenden Ansatz empfehlen:


0. Evtl aus einem Backup nur Konfigurationsdaten herstellen, keine Projekte.

1. Neues Projekt anlegen mit efacloud-Dateiablage
Dort dann die entsprechenden Zugangsdaten angeben
2. Neues Fahrtenbuch anlegen (gleicher Zeitraum wir im Cloud-System auch, z.B. 1.1. - 31.12. des Jahres
3. Fahrtenbuch öffnen.
4. Gleichermaßen VereinsarbeitshBuch anlegen
5. Irgendwo kann man novh die efacloud-Instanzid (woe auch immer die heißt) anlegen. Die dient dazu, um die verschiedenen Stationen auseinanderzuhalten, um nachvollziehen zu können, welcher Client grad die Änderung gemacht hat.
6. Admin modus beenden, Synchronisation abwarten.
Man sieht da noch keine Daten.... aber nach ende des Sync Efa neu starten.
Dann erscheinen nach dem nächsten Sync alle Daten.

Der Vorteil: man holt sich sich so nur den aktuellsten Stand aus der Cloud, und versucht nicht, mit einem ggfs. Veralteten Datenbestand aus dem Backup aufzusetzen...

Gruß
Stefan

Re: efa, efaCloud: Sync. funktioniert nicht

Verfasst: Mo 22. Jul 2024, 08:24
von sebastianpsm
Hi Stefan,

ein neues System aufsetzen steht als nächstes an (efaLive im Bootshaus). In diesem Fall möchte ich nur die efa-Instanz @Home wieder ans fliegen bekommen.

Ich habe mir das log-Verz. angesehen: Größe 10,4 MB (3,5 MB als .zip-File). Die Anzahl der Dateien liegt bei 7333. Davon 5001 in log/api_inits und 2237 in log/inits. Das Verzeichnis habe ich geleert (bis auf .htaccess).

Der Fehler in efa bleibt allerdings bestehen.

Re: efa, efaCloud: Sync. funktioniert nicht

Verfasst: Mo 22. Jul 2024, 11:50
von smg
Hallo,

Dann bin ich mit meinem Latein am Ende.

Bitte wende Dich an Martin bei efacloud.org,
vielleicht hat er eine Idee zu dem Problem.

Gruß
Stefan

Re: efa, efaCloud: Sync. funktioniert nicht

Verfasst: Mo 22. Jul 2024, 14:59
von smg
Hallo,

ich meine das efaCloud-Log-Verzeichnis auf dem lokalen Rechner:

\log\efaCloud\%ProjektName%\

darin befinden sich eine %ProjektName%.log und eine SynchErrors.log

Diese sind auf meinem System (Client-Test-System für efaCloud) gerne schon mal 30 MByte groß.

Bei der Komprimierung kommen Arrays zum Einsatz. Diese benötigen "am Stück" vorliegenden freien Speicher.
Das kann bei einer dünnen Speicherausstattung für die Java-VM (160MB) schon mal eng werden, wenn die Logdateien entsprechend groß werden. Dann findet Java einfach nicht genügend zusammenhängenden Speicher.

Daher würde ich dort die SyncErrors.log und $ProjektName%.log Dateien aus dem Verzeichnis woanders hin verschieben.

Gruß
Stefan

[SOLVED] Re: efa, efaCloud: Sync. funktioniert nicht

Verfasst: Mo 22. Jul 2024, 15:45
von sebastianpsm
Hi Stefan,

jo, das war es. Die Log-Dateien, die der efa Client im laufe der Zeit (in jeder Instanz anlegt?) werden zu efaCloud übertragen. Sind die Logs zu umfangreich klappt das zippen (vorm hochladen zu efaCloud) nicht mehr und der Sync stoppt bei dem Fehler. Verstanden. Danke!

Schöne Grüße
Sebastian

Re: [SOLVED] efa, efaCloud: Sync. funktioniert nicht - java.lang.OutOfMemoryError Fehler

Verfasst: Mi 14. Aug 2024, 16:05
von smg
Hallo,

Martin G. von efaCloud wird hier den code noch anpassen, damit
- das Logrotate von efaCloud besser funktioniert
- der Upload der Log-Dateien zukünftig keinen out-of-memory mehr erzeugt, oder gänzlich entfällt.

Wird evtl. in Version 2.4.1 einfließen.

Gruß
Stefan