Autor Thema: Doppellistings abgleichen -- cmanager  (Gelesen 60151 mal)

Offline FriedrichFröbel

  • Vereinsmitglied
  • Small
  • *
  • Beiträge: 541
  • OC-Wiki Admin
Re: Doppellistings abgleichen -- cmanager
« Antwort #315 am: 18. Juni 2020, 14:45:43 »
Zitat von: FriedrichFröbel
Die Änderung selbst ist scheinbar unbewusst während des internen Code-Refactorings geschehen. Woher der schwarze Hintergrund kommt, kann ich aktuell nicht sagen, rührt aber vermutlich auch daher.

Hat dieser User hier das gleiche Problem wie Slini11?

# Wenn ich das Programm starte hab ich direkt ein Freeze....hier ein screenshot,
# danach kann ich nur noch über den Taskmanager abschießen

Vermutlich schon. Ich habe einen entsprechenden Hinweis zu den Release Notes hinzugefügt.

Offline FriedrichFröbel

  • Vereinsmitglied
  • Small
  • *
  • Beiträge: 541
  • OC-Wiki Admin
Re: Doppellistings abgleichen -- cmanager
« Antwort #316 am: 18. Juni 2020, 14:48:01 »
Ich habe auf einem Rechner, auf dem noch nie der cmanager gelaufen ist, diesen erstmalig genutzt (aktuelle Version 0.5.0). Ich war erstaunt, neue Duplicates beim Sync angezeigt zu bekommen, die ich früher noch nie gesehen hatte. Ich habe diese dann geprüft und einige der Caches nachgeloggt, während andere false positives waren und keine echten Duplikate.
Ich habe daraufhin das Programm geschlossen, neu geöffnet und erneut den Abgleich laufen lassen. Nun wird mir aber nur noch ein Duplikat angezeigt, obwohl es mehrere sein müssten (ich hatte ja die false positives nicht nachgeloggt). Da die Prüfung nun auch extrem schnell durchläuft, gehe ich davon aus, dass irgendwo Infos zwischengepuffert werden (wahrscheinlich, um die OKAPI nicht zu stark zu belasten).
Meine Frage: wo kann ich diese lokal gespeicherten Daten löschen, um dieses merkwürdige Verhalten des cmanagers nochmal nachprüfen zu können und die vollständige Liste der Duplikate (die ich noch nicht doppelt geloggt habe) zu sehen.

Schau mal in ~/.cmanager/cache bzw. im Elterverzeichnis.

Offline j-he

  • Nano
  • **
  • Beiträge: 30
Re: Doppellistings abgleichen -- cmanager
« Antwort #317 am: 18. Juni 2020, 14:56:45 »
Ich kann das merkwürdige Verhalten jetzt nachstellen. Da muss irgendwo ein Bug sein:
1. cmanager bei leerem Cache-Verzeichnis aufrufen
2. Sicherstellen, dass die Einstellungen vorgenommen wurden (OKAPI-Token vorhanden, GC-Name gesetzt)
3. Meine MyFinds-PQ öffnen
4. List --> Sync with OC aufrufen
5. --> es werden 3 mögliche Duplikate gefunden (siehe Screenshot 2020-06-18 14_53_02-Duplicate Finder.png)
6. Ergebnisliste schließen
7. List --> Sync with OC aufrufen
8. --> es wird nur noch ein mögliches Duplikat angezeigt (siehe 2020-06-18 14_53_15-Duplicate Finder.png) --> wo sind die anderen geblieben?

Die beiden fehlenden Duplikate werden erst wieder angezeigt, wenn ich das Cache-Verzeichnis lösche.
« Letzte Änderung: 18. Juni 2020, 14:58:27 von j-he »

Offline FriedrichFröbel

  • Vereinsmitglied
  • Small
  • *
  • Beiträge: 541
  • OC-Wiki Admin
Re: Doppellistings abgleichen -- cmanager
« Antwort #318 am: 18. Juni 2020, 15:54:40 »
Ich kann das merkwürdige Verhalten jetzt nachstellen. Da muss irgendwo ein Bug sein:

[...]
8. --> es wird nur noch ein mögliches Duplikat angezeigt (siehe 2020-06-18 14_53_15-Duplicate Finder.png) --> wo sind die anderen geblieben?

Die beiden fehlenden Duplikate werden erst wieder angezeigt, wenn ich das Cache-Verzeichnis lösche.

Das hat nichts mit dem Cache-Verzeichnis zu tun - dann müsste "Find on OC" -> Anwendung schließen -> Anwendung starten -> "Find on OC" das gleiche Problem haben, was aber nicht der Fall ist (soweit ich das gesehen habe).

Das Problem ist tatsächlich ein anderes: Wenn ohne zwischenzeitliches Schließen der Anwendung "Find on OC" zweimal nacheinander ausgeführt wird, greift für die Vervollständigung der Basisdaten der OKAPI-Laufzeitcache (eine einfache Liste von Geocache-Instanzen). Nun wird es technisch, da das eigentliche Problem in Objekten bzw. Objektorientierung liegt: Falls im ersten Durchlauf eine Übereinstimmung gefunden wurde, werden für die Geocache-Instanz die Cachedetails (u.a. Größe, Beschreibung, Owner, Hint) ergänzt. Wenn nun "Find on OC" ein zweites Mal aufgerufen wird, wird das gecachte Geocache-Objekt zurückgegeben, das ja aber bereits mehr Details hat und somit andere Ergebnisse liefert.

Betrachten wir das Beispiel GC26VJD/OC2ED4: Im ersten Durchlauf sind Owner und Größe des OC-Caches nicht gesetzt, die Übereinstimmung beträgt rund 83 %. Im zweiten Durchlauf sind Owner und Größe des OC-Caches gesetzt und stimmen nicht überein, sodass die Übereinstimmung nur noch rund 63 % beträgt - das entspricht keiner Übereinstimmung mehr, sodass diese leere Suche lokal gespeichert wird und somit vorerst zu keinen erfolgreichen Suchen mehr führt. (Die Invalidierung der leeren Suche wird bei jedem Aufruf neu geprüft, das Alter liegt - aus welchen Gründen auch immer - zufällig im Bereich von 4 bis 13 Monaten.)

Offline mic@

  • Moderator
  • Large
  • *****
  • Beiträge: 6434
  • oc-only Verstecker
Re: Doppellistings abgleichen -- cmanager
« Antwort #319 am: 18. Juni 2020, 16:16:03 »
Zitat von: FriedrichFröbel
Ich habe einen entsprechenden Hinweis zu den Release Notes hinzugefügt.

Meinst Du diesen Hinweis hier?

# Important note: You might experience an unresponsive application with a black list window
# and maybe a "ClassNotFoundException" dialog regarding the cache list controller on the
# first start due to some internal refactoring. Please kill the application using your preferred
# process management tool if needed. With another start the error should have gone away,
# although your previously opened cache lists might not be opened during the second start.
# Sorry for the inconvenience.

Falls ja, dann klappt die Umgehung des Fehlers, also der Neustart, bei diesem User nicht.

Offline j-he

  • Nano
  • **
  • Beiträge: 30
Re: Doppellistings abgleichen -- cmanager
« Antwort #320 am: 18. Juni 2020, 16:43:37 »
Ich kann das merkwürdige Verhalten jetzt nachstellen. Da muss irgendwo ein Bug sein:

[...]
8. --> es wird nur noch ein mögliches Duplikat angezeigt (siehe 2020-06-18 14_53_15-Duplicate Finder.png) --> wo sind die anderen geblieben?

Die beiden fehlenden Duplikate werden erst wieder angezeigt, wenn ich das Cache-Verzeichnis lösche.

Das hat nichts mit dem Cache-Verzeichnis zu tun - dann müsste "Find on OC" -> Anwendung schließen -> Anwendung starten -> "Find on OC" das gleiche Problem haben, was aber nicht der Fall ist (soweit ich das gesehen habe).

Das Problem ist tatsächlich ein anderes: Wenn ohne zwischenzeitliches Schließen der Anwendung "Find on OC" zweimal nacheinander ausgeführt wird, greift für die Vervollständigung der Basisdaten der OKAPI-Laufzeitcache (eine einfache Liste von Geocache-Instanzen). Nun wird es technisch, da das eigentliche Problem in Objekten bzw. Objektorientierung liegt: Falls im ersten Durchlauf eine Übereinstimmung gefunden wurde, werden für die Geocache-Instanz die Cachedetails (u.a. Größe, Beschreibung, Owner, Hint) ergänzt. Wenn nun "Find on OC" ein zweites Mal aufgerufen wird, wird das gecachte Geocache-Objekt zurückgegeben, das ja aber bereits mehr Details hat und somit andere Ergebnisse liefert.

Betrachten wir das Beispiel GC26VJD/OC2ED4: Im ersten Durchlauf sind Owner und Größe des OC-Caches nicht gesetzt, die Übereinstimmung beträgt rund 83 %. Im zweiten Durchlauf sind Owner und Größe des OC-Caches gesetzt und stimmen nicht überein, sodass die Übereinstimmung nur noch rund 63 % beträgt - das entspricht keiner Übereinstimmung mehr, sodass diese leere Suche lokal gespeichert wird und somit vorerst zu keinen erfolgreichen Suchen mehr führt. (Die Invalidierung der leeren Suche wird bei jedem Aufruf neu geprüft, das Alter liegt - aus welchen Gründen auch immer - zufällig im Bereich von 4 bis 13 Monaten.)

Ich nehme an, Du meinst oben nicht "Find on OC", sondern "Sync with OC" - das ist jedenfalls die Funktion, um die es mir geht.
Ich habe nochmal getestet.
1. Cache leeren
2. Sync with OC --> 3 Treffer
3. Klick auf "Dismiss", cmanager schließen
4. cmanager öffnen, Sync with OC --> 3 Treffer
5. Klick auf "Dismiss", dann "Sync with OC" --> 1 Treffer
6. Klick auf "Dismiss", cmanager schließen
7. cmanager öffnen, Sync with OC --> 1 Treffer

Du hast also mit Deiner Analyse wohl recht. Trotzdem ist das doch ein Bug in der Programmlogik, oder siehst Du das anders!?

Korrekt müsste es doch so laufen:
1. Suchen nach potenziellen Übereinstimmungen im 1. Durchlauf (mit noch fehlenden Details)
2. Für alle potenziellen Übereinstimmungen die Cachedetails ergänzen
3. Jetzt für alle potenziellen Übereinstimmungen noch einmal prüfen, ob die Übereinstimmungsquote stimmt und diese erst dann zur Liste der dem User angezeigten Duplikate hinzufügen

Das Ergebnis, ob ein Cachepärchen als Duplikat angesehen wird oder nicht darf jedenfalls eigentlich nicht davon abhängen, ob man die Funktion das erste oder ein wiederholtes Mal aufruft. Das versteht kein User, dass je nach Aufrufhäufigkeit andere Daten für die Überprüfung herangezogen werden und ist fachlich gesehen auch absolut unlogisch, denn die Kriterien / Attribute, die überprüft werden, sollten schon eindeutig sein. Entweder man will Größe und Owner mit berücksichtigen (dann sollte das auch bereits beim ersten Funktionsaufruf gemacht werden - unabhängig davon, was dazu aus technischer Sicht ggf. an Zusatzschritten erforderlich ist) oder man ist der Meinung Größe und Owner nicht zu benötigen, dann sollten sie auch beim 2. und folgenden Aufrufen unberücksichtigt bleiben.

Konkret kann man wohl sagen, dass folgender Bug vorliegt:
Beim Erstaufruf von "Sync with OC" werden Owner und Cachegröße beim Vergleich und Ermittlung der Übereinstimmungsquote nicht berücksichtigt.
« Letzte Änderung: 18. Juni 2020, 16:50:49 von j-he »

Offline FriedrichFröbel

  • Vereinsmitglied
  • Small
  • *
  • Beiträge: 541
  • OC-Wiki Admin
Re: Doppellistings abgleichen -- cmanager
« Antwort #321 am: 18. Juni 2020, 16:45:49 »
Falls ja, dann klappt die Umgehung des Fehlers, also der Neustart, bei diesem User nicht.

Das Problem ist schwierig zu debuggen, da ich es schwer reproduzieren kann, aber lass den Benutzer bitte mal die aktuelle Entwicklungsversion probieren - im Optimalfall lässt sich damit die Anwendung starten, wenn auch die zuletzt geöffneten Cachelisten nicht mehr geöffnet werden können. Wenn es passt, sollte nur noch im Terminal eine Meldung + Stacktrace angezeigt werden, aber zumindest die GUI richtig laden.

Offline FriedrichFröbel

  • Vereinsmitglied
  • Small
  • *
  • Beiträge: 541
  • OC-Wiki Admin
Re: Doppellistings abgleichen -- cmanager
« Antwort #322 am: 18. Juni 2020, 16:57:12 »
Ich nehme an, Du meinst oben nicht "Find on OC", sondern "Sync with OC" - das ist jedenfalls die Funktion, um die es mir geht.

Nein, ich meine "Find on OC", weil ich keine Logs für die GC-Caches habe und mit Version 0.5.0 "Sync on OC" nur noch Ergebnisse mit eigenen Fundlogs angezeigt werden. Beide Funktionen verwenden im Endeffekt die gleiche Basis, nur beim Sync kommen danach noch Filter dazu.

Du hast also mit Deiner Analyse wohl recht. Trotzdem ist das doch ein Bug in der Programmlogik, oder siehst Du das anders!?

Korrekt müsste es doch so laufen:
1. Suchen nach potenziellen Übereinstimmungen im 1. Durchlauf (mit noch fehlenden Details)
2. Für alle potenziellen Übereinstimmungen die Cachedetails ergänzen
3. Jetzt für alle potenziellen Übereinstimmungen noch einmal prüfen, ob die Übereinstimmungsquote stimmt und diese erst dann zur Liste der dem User angezeigten Duplikate hinzufügen

Jein. Es ist ein Bug, das mag ich nicht bestreiten. Aber genau die Punkte "Größe" und "Owner" haben wir weiter oben bereits kurz angerissen und es gibt auch einen Issue dazu - kurz: Ob die mit einbezogen werden sollten, ist erst noch zu evaluieren.

Im aktuellen Fall ist es daher eher ein Bug, dass zum Duplikatabgleich eigentlich immer die Basislistings verwendet werden sollten und nicht teilweise komplette Listings. Dazu müssten wir für den Vergleich immer abgespeckte Geocache-Objekte verwenden. Ich notiere es als Issue.

Offline j-he

  • Nano
  • **
  • Beiträge: 30
Re: Doppellistings abgleichen -- cmanager
« Antwort #323 am: 18. Juni 2020, 17:15:28 »
Im aktuellen Fall ist es daher eher ein Bug, dass zum Duplikatabgleich eigentlich immer die Basislistings verwendet werden sollten und nicht teilweise komplette Listings. Dazu müssten wir für den Vergleich immer abgespeckte Geocache-Objekte verwenden.
OK, dann sorum. Macht für mich auch Sinn, weil durch die schärfere Prüfung mit Größe und Owner bei mir Duplikate durchs Raster gefallen waren, die ich nun heute noch nachloggen konnte.
Ich kann zwar nicht mehr genau sagen, welche Pärchen das waren, aber einer war ein GC-EarthCache/OC-Virtual, wo dann wahrscheinlich die abweichende Bezeichnung der Größenangabe den Ausschlag gab, dass der dann rausfiel.

Offline Slini11

  • Vereinsmitglied
  • Normal
  • *
  • Beiträge: 1147
  • OC-Only
Re: Doppellistings abgleichen -- cmanager
« Antwort #324 am: 18. Juni 2020, 19:15:08 »
Falls ja, dann klappt die Umgehung des Fehlers, also der Neustart, bei diesem User nicht.

Das Problem ist schwierig zu debuggen, da ich es schwer reproduzieren kann, aber lass den Benutzer bitte mal die aktuelle Entwicklungsversion probieren - im Optimalfall lässt sich damit die Anwendung starten, wenn auch die zuletzt geöffneten Cachelisten nicht mehr geöffnet werden können. Wenn es passt, sollte nur noch im Terminal eine Meldung + Stacktrace angezeigt werden, aber zumindest die GUI richtig laden.
Also die Devel-Version lief bei mir. Zwar mit schwarzem Fenster in der Anwendung aber das Fenster ist nicht unauffindbar verschwunden, wie es bei einigen vorherigen Versionen der Fall war. Dann habe ich die Version 0.5.0 gestartet, die ebenfalls auch ein schwarzes Fenster, sonst aber keine Probleme hatte. Dann habe ich die Version 0.4.1 gestartet und da hatte ich wieder den Fehler. Dann habe ich versucht die 0.5.0 und Devel-Version zu öffnen, die dann aber die gleichen Symptome hatten. Fast so wie bei einem Virus  ::).

Offline FriedrichFröbel

  • Vereinsmitglied
  • Small
  • *
  • Beiträge: 541
  • OC-Wiki Admin
Re: Doppellistings abgleichen -- cmanager
« Antwort #325 am: 18. Juni 2020, 19:56:43 »
Also die Devel-Version lief bei mir. Zwar mit schwarzem Fenster in der Anwendung aber das Fenster ist nicht unauffindbar verschwunden, wie es bei einigen vorherigen Versionen der Fall war. Dann habe ich die Version 0.5.0 gestartet, die ebenfalls auch ein schwarzes Fenster, sonst aber keine Probleme hatte. Dann habe ich die Version 0.4.1 gestartet und da hatte ich wieder den Fehler. Dann habe ich versucht die 0.5.0 und Devel-Version zu öffnen, die dann aber die gleichen Symptome hatten. Fast so wie bei einem Virus  ::).

Das schwarze Fenster scheint irgendetwas mit Windows zu tun zu haben - ich kann das hier unter Ubuntu 18.04 nicht reproduzieren. Ich habe jetzt ein wenig hin und her probiert mit ein paar extremeren Fällen und erhalte den Fehler, wenn ich (im schlimmsten Fall) von 0.2.48 auf die 0.5.0 wechsle, aber nicht, wenn ich von 0.2.48 auf die Entwicklungsversion wechsle. Auch 0.2.48 zu 0.4.1 wirft einen Fehler, aber 0.2.48 zu 0.4.0 scheinbar nicht. 0.4.1 zu 0.5.0 bzw. Entwicklungsversion funktioniert. Soweit ich ich das überblicken kann, sollte die Entwicklungsversion also theoretisch den Fehler beheben bzw. zumindest den Fehler ignorieren.

Edit: Ich habe jetzt gerade Version 0.5.1 mit dem Fix veröffentlicht - damit sollte die Anwendung hoffentlich nicht mehr blockiert werden.
« Letzte Änderung: 19. Juni 2020, 09:03:56 von FriedrichFröbel »

Offline mic@

  • Moderator
  • Large
  • *****
  • Beiträge: 6434
  • oc-only Verstecker
Re: Doppellistings abgleichen -- cmanager
« Antwort #326 am: 20. Juni 2020, 10:57:08 »
Zitat von: FriedrichFröbel
Edit: Ich habe jetzt gerade Version 0.5.1 mit dem Fix veröffentlicht - damit sollte die Anwendung hoffentlich nicht mehr blockiert werden.

Leider gibt es zur 0.5.1 ein anderes Problem (Division durch Null).
Hier die Details vom User direkt:

# Also ich hab den cmanager neu runtergeladen und gestartet.
# Meine Einstellungen waren dennoch gespeichert, wahrscheinlich legt er ne File im Cache ab oder so.
# d.h. Benutzername für OC und GC sind bereits hinterlegt.
# Unter Location sind die OKAPI Home Coordinatenl hinterlegt.
# habe unter Menu ein NEUes Projekt angelegt
# über Filter habe ich dann z.b. Distance auf 10km hinterlegt auf Invent und update geklickt
# und dann unter List > FIND ON OC und dann bekomme ich diese meldung hier.

- Windows 10 Pro
- java version "1.8.0_251"
  Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
  Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
- cmanager v0.5.1

Offline FriedrichFröbel

  • Vereinsmitglied
  • Small
  • *
  • Beiträge: 541
  • OC-Wiki Admin
Re: Doppellistings abgleichen -- cmanager
« Antwort #327 am: 20. Juni 2020, 11:28:21 »
Leider gibt es zur 0.5.1 ein anderes Problem (Division durch Null).
Hier die Details vom User direkt:

# Also ich hab den cmanager neu runtergeladen und gestartet.
# Meine Einstellungen waren dennoch gespeichert, wahrscheinlich legt er ne File im Cache ab oder so.
# d.h. Benutzername für OC und GC sind bereits hinterlegt.
# Unter Location sind die OKAPI Home Coordinatenl hinterlegt.
# habe unter Menu ein NEUes Projekt angelegt
# über Filter habe ich dann z.b. Distance auf 10km hinterlegt auf Invent und update geklickt
# und dann unter List > FIND ON OC und dann bekomme ich diese meldung hier.

- Windows 10 Pro
- java version "1.8.0_251"
  Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
  Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
- cmanager v0.5.1

Es sind auch nicht alle Einstellungen betroffen, sondern nur die Liste zuletzt geöffneter Dateien.

Wenn ich das richtig verstanden habe, wird eine neue Cacheliste angelegt, aber kein Cache hinzugefügt, und dann ein Filter angewendet? Dann hat dieses Problem nichts mit den letzten Änderungen zu tun, aber ist dennoch ein Bug, den es zu fixen gilt.

Offline Slini11

  • Vereinsmitglied
  • Normal
  • *
  • Beiträge: 1147
  • OC-Only
Re: Doppellistings abgleichen -- cmanager
« Antwort #328 am: 20. Juni 2020, 12:17:18 »
Das schwarze Fenster scheint irgendetwas mit Windows zu tun zu haben - ich kann das hier unter Ubuntu 18.04 nicht reproduzieren. Ich habe jetzt ein wenig hin und her probiert mit ein paar extremeren Fällen und erhalte den Fehler, wenn ich (im schlimmsten Fall) von 0.2.48 auf die 0.5.0 wechsle, aber nicht, wenn ich von 0.2.48 auf die Entwicklungsversion wechsle. Auch 0.2.48 zu 0.4.1 wirft einen Fehler, aber 0.2.48 zu 0.4.0 scheinbar nicht. 0.4.1 zu 0.5.0 bzw. Entwicklungsversion funktioniert. Soweit ich ich das überblicken kann, sollte die Entwicklungsversion also theoretisch den Fehler beheben bzw. zumindest den Fehler ignorieren.

Edit: Ich habe jetzt gerade Version 0.5.1 mit dem Fix veröffentlicht - damit sollte die Anwendung hoffentlich nicht mehr blockiert werden.
So, die 0.5.1 läuft bei mir in jedem Fall. Und solange ich die alte 0.4.1 nicht öffne, sollte es ja zuverlässig laufen.

Offline mic@

  • Moderator
  • Large
  • *****
  • Beiträge: 6434
  • oc-only Verstecker
Re: Doppellistings abgleichen -- cmanager
« Antwort #329 am: 21. Juni 2020, 00:03:56 »
Guten Abend, hier einige Doppellistings, die der cmanager v0.5.1 übersieht:

Cold Case: Der Mord im Lainzer Tiergarten (Wherigo) von pri0n
https://opencaching.de/OC161B6
https://coord.info/GC8H5GZ


Geschichten aus der Lockerwiese von pri0n
https://opencaching.de/OC1132B
https://coord.info/GC8H5GZ


Die Zahlenpyramide der Atzgersdorfer von Fam_Marple
https://opencaching.de/OC139D5
https://coord.info/GC72V33


signs von Eagle_
https://opencaching.de/OC147DE
https://coord.info/GCRPGW

Kannst Du mir bitte sagen, wie viele Prozentpunkte das jeweilige OC-Listing erreicht hat und warum?