Hinweis
Wenn bei der Einrichtung deines Bank-Zugangs (PIN/TAN, Chipkarte, Schlüsseldatei) Fehler auftreten, lege bitte keinen Bug-Report an. In aller Regel ist die Ursache kein Bug in Hibiscus sondern ein Fehler in der Konfiguration des Bank-Zugangs. Im Wiki findest du Anleitungen zu Kartenlesern und getesteten Banken. Im onlinebanking-forum.de findest du ebenfalls hilfreiche Tipps.
Bug 1679 - GUI wird langsamer je öfter der "Filter zurücksetzen" in Umsätze verwendet wird bis sich schließlich das gesamte Programm aufhängt
Summary: GUI wird langsamer je öfter der "Filter zurücksetzen" in Umsätze verwendet wi...
Status: RESOLVED FIXED
Alias: None
Product: Hibiscus
Classification: Unclassified
Component: GUI (show other bugs)
Version: unspecified
Hardware: All All
: P2 normal
Assignee: Olaf Willuhn
URL:
Depends on:
Blocks:
 
Reported: 2015-12-29 15:41 CET by Andi
Modified: 2015-12-31 12:13 CET (History)
0 users

See Also:


Attachments
Fehlermeldungslog (5.74 KB, text/plain)
2015-12-29 20:55 CET, Andi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andi 2015-12-29 15:41:28 CET
Ich nutze in der Umsatzanzeige die Funktion/Button "Filter zurücksetzen" um in allen meinen Konten bestimmte Buchungen mit einem bestimmten Betrag zu finden: Abgleich von Kassenzetteln:

1. Ich drücke den Button "Filter zurücksetzen". Dadurch werden die Filtervoreinstellungen gelöscht.
2. Ich trage im Feld "Mindest-Betrag" den Betrag des Kasenzettels mit negativem Vorzeichen ein.
3. Durch Betätigen der der Tab-Taste wird der gleiche negative Betrag im Feld "Höchst-Betrag" automatisch eingefügt.
4. Ich bearbeite die gefunden Buchung.
5. Ich nehme mir den nächsten Kassenzettel und wiederhole den Vorgang bei 1. "Filter zurücksetzen".

Nach ungefähr 10 Wiederholungen (oder auch schon früher) wird die GUI zunehmend langsamer nachdem der Button "Filter zurücksetzen" gedrückt wird, bis sich das Programm irgendwann aufhängt. Ab und zu erscheint die Fehlermeldung, dass die Umsatzübersicht nicht geladen werden konnte. Nur ein Neustart von Hibiscus schafft Abhilfe.

Anzahl von Konten: 4
Anzahl aller Umsätze: 2983
OS: Ubuntu 14.04 LTS
---Jameica---
Version: 2.6.2
SWT-Version: 4427 / gtk
Java-Version: 1.7.0_91 / Linux amd64
Build: 440 [Datum 20150106]
---Hibiscus---
Software-Version: 2.6.14
Datenbank-Version: 58
Build: 363 [Datum 20150921]
Comment 1 Olaf Willuhn 2015-12-29 16:06:12 CET
Haenge mal bitte noch die Log-Datei jameica.log als Attachment an. Siehe http://www.willuhn.de/wiki/doku.php?id=support:fehlermelden
Wenn eine konkrete Fehlermeldung auftritt, muss da ja die Ursache erkennbar sein.
Comment 2 Andi 2015-12-29 20:55:21 CET
Created attachment 675 [details]
Fehlermeldungslog

Ich habe den Fehler sehr leicht reproduzieren können.

1. Wie beschrieben den Filter zurückgesetzt
2. Min- und Höchstbetrag mit einem vorhandenen Wert befüllt. Die entsprechende Buchung wird automatisch aufgeführt.
3. Mit dem Button "Filter zurücksetzen" erscheint eine Zeile im Meldungsfenster. Für jeden Durchlauf jeweils eine Zeile (Zeile 2-8 der Logdatei).

Bei einem erneuten Durchlauf taucht der Fehler auf (Zeile 9ff). Die GUI fängt sich einigermaßen wieder. Doch bei erneutem Drücken des Button "Filter zurücksetzen" stürzt das gesamte Programm ab.
Comment 3 Olaf Willuhn 2015-12-31 10:09:26 CET
Und du hast wirklich nur 2983 Umsaetze? Dem Log zufolge ist das ein Out-Of-Memory. Der Java-VM geht schlicht der Speicher aus. Eigentlich sollte das bei unter 3000 Umsaetzen noch lange nicht passieren.
Comment 4 Andi 2015-12-31 12:01:24 CET
Ja, inzwischen sind es 2999 Umsätze. Der Fehler lässt sich recht einfach nachstellen (main loop crashed, retry, java.lang.OutOfMemoryError: Java heap space).

Habe ein relativ aktuelles System; Intel Core i7-4790K mit 16 GB Memory, 64-bit Ubuntu 14.04 LTS
Comment 5 Olaf Willuhn 2015-12-31 12:13:11 CET
Gefixt. Das Problem hat mehrere Ursachen.

1) In Jameica existierte ein Memory-Leak, das dazu fuehrte, dass beim Entfernen und Neu-Anzeigen aller Datensaetze in einer Tabelle ein Hash nicht geleert wurde und somit immer groesser wurde. Ist im Nightly-Build von Jameica ab morgen gefixt. Siehe http://www.willuhn.de/wiki/doku.php?id=support:faq#nightly-builds_nutzen

2) Beim Klick auf "Filter zurücksetzen" wurden die Felder "Von" und "Bis" geleert, oben drüber in dem Feld Zeitraum blieb der Wert jedoch stehen. Das fuehrte dazu, dass effektiv ALLE Umsaetze neu geladen wurden, es aber den Anschein hat, dass nach wie vor nur die im angezeigten Zeitraum geladen wurden. Das habe ich so geaendert, dass beim Klick auf "Filter zuruecksetzen" der Zeitraum nicht mehr zurueckgesetzt wird und stattdessen "Von" und "Bis" wieder mit dem passenden Werten des Zeitraums oben drueber befuellt werden. Zumindest der Zeitraum sollte beim Klick auf "Filter zuruecksetzen" nicht mehr zurueckgesetzt werden, weil dabei sonst jedesmal ALLE Umsaetze neu in den Speicher geladen werden. Das sollte das Problem deutlich entschaerfen. Ebenfalls ab morgen im Nightly-Build.

Falls das noch nicht reichen sollte, empfehle ich dir, in "jameica.sh" zu erhoehen. Oeffne die Datei mal in einem Texteditor.

Da findest du zweimal "-Xmx256m". Das bedeutet, dass dem Programm maximal 256MB Speicher zur Verfuegung stehen. Wenn das nicht reicht, kommt es zu besagter Out-Of-Memory-Exception. Ich werde das in Jameica mal auf standardmaessig 512m erhoehen - ab morgen im Nightly-Build. Kannst du im Texteditor wie gesagt auch selbst aendern.