unable to sort table.....

Hier melden JVerein-Benutzer ihre Fehler

Moderator: heiner

Antworten
kmeyster
Beiträge: 31
Registriert: Montag 5. Dezember 2011, 20:44

unable to sort table.....

Beitrag von kmeyster »

Hallo, ich habe hier folgenden Fehlercode, aus dem ich leider nicht schlau werde:
Hintergrund: ich will eine Spalte in den Buchungen nach "Mitglieder" sortieren, leider vergebens!
Dazu kommt, das jegliche Sortierung auch in anderen Spalten mehrere Minuten dauert!!
Ich hatte das Verhalten bereits vor ein paar Tagen unter dem Stichwort "Java-Fehler" beschrieben und aber auf zu wenig Arbeitsspeicher getippt und gehofft, dass es mit mehr erledigt sei, aber vergebens.....
Ich danke vorab für die Mühen!
System 12.04 Ubuntu mit Java 7 (OpenJDK) und Jverein und Jameica und Hibiscus 2.7 nightly build
Gruß, Matthias

[Tue Jan 14 20:53:22 CET 2014][ERROR][de.willuhn.jameica.gui.parts.TablePart.orderBy] unable to sort table
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:835)
at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:453)
at java.util.ComparableTimSort.mergeCollapse(ComparableTimSort.java:374)
at java.util.ComparableTimSort.sort(ComparableTimSort.java:182)
at java.util.ComparableTimSort.sort(ComparableTimSort.java:146)
at java.util.Arrays.sort(Arrays.java:472)
at java.util.Collections.sort(Collections.java:155)
at de.willuhn.jameica.gui.parts.TablePart.orderBy(TablePart.java:1352)
at de.willuhn.jameica.gui.parts.TablePart$3.handleEvent(TablePart.java:648)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at de.willuhn.jameica.gui.GUI.loop(GUI.java:827)
at de.willuhn.jameica.gui.GUI.init(GUI.java:310)
at de.willuhn.jameica.system.Application.init(Application.java:148)
at de.willuhn.jameica.system.Application.newInstance(Application.java:90)
at de.willuhn.jameica.Main.main(Main.java:78)
Benutzeravatar
heiner
Administrator
Beiträge: 4510
Registriert: Freitag 30. Oktober 2009, 16:44
JVerein-Version: aktuelle Entwicklerversion
Betriebssystem: W10
Kontaktdaten:

Re: unable to sort table.....

Beitrag von heiner »

Hallo Matthias,

poste bitte die komplete jameica.log-Datei.

Heiner
PS: Denkt daran, eure Vereine unter viewforum.php?f=3 vorzustellen.
tectumopticum
Beiträge: 42
Registriert: Donnerstag 12. November 2009, 23:39
Verein: Heimatverein Bockhorst e.V.
Förderverein Kirchenmusik in Bockhorst e.V.
Mitglieder: 440
JVerein-Version: meistens eine Developer-Vers.
Betriebssystem: Ubuntu 18.04.2 LTS

Re: unable to sort table.....

Beitrag von tectumopticum »

Da scheint sich was in Java 7 geändert zu haben:
-----schnipp-----
It also has something to do with the version of JDK. If it does well in JDK6, maybe it will have the problem in JDK 7 described by you, because the implementation method in jdk 7 has been changed.
Look at this:
Description: The sorting algorithm used by java.util.Arrays.sort and (indirectly) by java.util.Collections.sort has been replaced. The new sort implementation may throw an IllegalArgumentException if it detects a Comparable that violates the Comparable contract. The previous implementation silently ignored such a situation. If the previous behavior is desired, you can use the new system property, java.util.Arrays.useLegacyMergeSort, to restore previous mergesort behaviour.
I don't know the exactly reason. However, if you add the code before you use sort. It will be OK.
System.setProperty("java.util.Arrays.useLegacyMergeSort", "true");
Quelle: http://stackoverflow.com/questions/1144 ... l-contract
-----schnapp-----
kmeyster
Beiträge: 31
Registriert: Montag 5. Dezember 2011, 20:44

Re: unable to sort table.....

Beitrag von kmeyster »

Danke Heiner, anbei der komplette log-file von letztens.....
Danke tectumopticum, aber das wird mir jetzt echt zu hoch.....was mache ich wie, wann und wo??
Insbesondere " if you add the code before you use sort" verwirrt mich! Wo soll ich den Code adden bevor ich sortiere? Ich bin weit weg von einem Entwickler, quasi am andren Ende, bei den engagierten Anwendern ;-)

Aber das Problem, das ich geschildert habe (extrem lange Sortierzeit, bzw. Performance-Verlust), scheint jetzt hier verbreitet zu sein, habe ich in den letzten Tagen bereits mehrfach gelesen.....
Asldann, vielleicht kommen wir auf den Trichter, wenn alle an einem Strang ziehen!

Gruß, Matthias

Nachtrag: ein sehr merkwürdiges Verhalten ist außerdem:
im laufenden Programm ist eine Sortierung nach einer Spaltenüberschrift oder das ändern des Filters "Datum" unmöglich, weil endlos lange. Wenn ich jedoch den Prozess = (Hibiscus/Jameica) "kille" und neu starte ist die Sortierung oder der geänderte Datumsbereich SOFORT durchgeführt!!! Und das sind bei mir z.Zt. knapp 2000 Datensätze
jameica-20140114.log
(165.56 KiB) 260-mal heruntergeladen
Benutzeravatar
heiner
Administrator
Beiträge: 4510
Registriert: Freitag 30. Oktober 2009, 16:44
JVerein-Version: aktuelle Entwicklerversion
Betriebssystem: W10
Kontaktdaten:

Re: unable to sort table.....

Beitrag von heiner »

Hallo,

der Bug ist beseitigt. Olaf hat den passenden Hinweis gegeben. Auslieferung mit der nächsten Version.

Heiner
PS: Denkt daran, eure Vereine unter viewforum.php?f=3 vorzustellen.
Antworten