• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Automatisches Speichern klappt nicht

Robin888

Geomaster
Nun ist meine Geduld bald zuende:
Was mache ich falsch?

Immer wieder lese ich hier im Forum: "Wenn man den Detail-Reiter verlässt wird gespeichert." Was wird bitte gespeichert und wo? Und wie komme ich da wieder ran?

Grad heute wieder vorgekommen:
Cachewolf wurde "gewaltsam" geschlossen (Speicherprobleme) und was ist passiert?
Der (Fund-)Status des letzten Caches ist verloren und die Koordinaten der letzten drei Wegpunkte. (Also alle Änderungen seit dem letzten manuellen Speichern.)
Zwischendurch habe ich dutzendmal die Reiter gewechselt (Details -> Liste -> Details -> Goto -> Karte) und nichts wurde gespeichert.

Dann habe ich noch versucht den Index neu aufzubauen (vielleicht waren die Koordinaten und der Status ja nur in der gc*.xml gespeichert!?) und es hat nichts geholfen.

Das ganze ist mir schon öfter passiert.
Was mache ich falsch? :-(

P.S.: Das einzige was offenbar zuverlässig gespeichert wird sind die Informationen im Löser. Gott sei Dank, kann ich so doch teilweise Koordinaten rekonstruieren. (Wäre schon besch...euert, wenn mir auf dem Weg zur x-ten Station eines Multis plötzlich sämtliche ermittelten Koordinaten flöten gingen. :-/)

Robin(888)
 

Harry1999

Geocacher
So, oder ähnlich, passiert mir das genau so. Von einem automatischen Speichern meiner Daten merke ich auch nix. schmiert CW ab, dann ist alles ab dem manuellen wech. Allerdings muss ich sagen, dass seit ein zwei monaten CW Stabiler geworden ist. Ich denke die MovingMap ist resourcenschonender mittlerweile.
 

arbor95

Geoguru
Mit der Funktion Index neu aufbauen sollte das Problem (Fehlende Infos) behoben sein.
Leider arbeitet diese Funktion zur Zeit nicht so wie man es von ihr erwartet.
Sie baut den Index nämlich nicht neu auf, sondern fügt nur fehlende Indexe hinzu.
ASAF wollte Mik das fixen. (siehe anderer thread)

Lösung zur Zeit: Indexdatei löschen. Dann Index neu aufbauen. (Dabei verliert man einige Einstellungen wie Zentrum etc..)

Alternativ (eher für profis, aber nix fehlt) : Indexdatei editieren. Alle Zeilen, die sich auf die Cache beziehen rauslöschen, oder nur die Zeile des fehlerhaften Cache. Dann Index neu aufbauen.

Oder etwas warten bis das umprogrammiert wurde.
 

MiK

Geoguru
Stimmt genau. Leider gibt es bei meinen Änderungen zum Index neu aufbauen noch ein paar Probleme:

1. Caches, die nur im Index stehen, ohne dazugehörige cache.xml wären danach verloren. Ist das akzeptabel?

2. Mein Eclipse zickt irgendwie rum.

3. SVN zickt irgendwie bei mir rum.
 

UncleOwen

Geocacher
MiK schrieb:
1. Caches, die nur im Index stehen, ohne dazugehörige cache.xml wären danach verloren. Ist das akzeptabel?

Wie kann sowas (in aktuellen Versionen) passieren? Sollte nicht zu JEDEM Wegpunkt eine cache.xml existieren - wenn diese irgendwo nicht angelegt wird, ist das IMHO ein bug.

Wenns nur darum geht, dass alte Versionen die nicht anlegen: Da sollte man IMHO auch mal 'nen Schnitt machen - schliesslich sind nightly builds nunmal nightly builds. Und der workaround ist ja auch einfach: Einmal alle Wegpunkte aktualisieren. Sollte zumindest für alle nicht-selbstangelegten Wegpunkt reichen, oder? Eventuell ein kleines Shell-skript bereitstellen, dass fehlende cache.xml-Dateien generiert?
 

MiK

Geoguru
Nach meinem Wissen kann das nur passieren, wenn die Dateien von außen gelöscht werden.
 

pfeffer

Geowizard
1. wäre dafür vielleicht eine Lösung, zunächst zu gucken, zu welchen Wegpunkten die <cache>.xml fehlt und diese dann zu erzeugen, bevor man den Index neu erzeugt?

2. Möchte vielleicht irgendein Programmierer mal der Frage nachgehen, warum nicht gespeichert wird? DAS scheint mir ja nun die Ursache zu sein.

Nicht, dass man mich falsch versteht, das wiederherstellen ist auch wichtig. Aber wir sollten dabei die Bekämpfung der Ursache nicht aus dem Auge verlieren.

Gruß,
Pfeffer.
 

arbor95

Geoguru
pfeffer schrieb:
1. wäre dafür vielleicht eine Lösung, zunächst zu gucken, zu welchen Wegpunkten die <cache>.xml fehlt und diese dann zu erzeugen, bevor man den Index neu erzeugt?
muss man ja nicht (for all xml write or update)
pfeffer schrieb:
2. Möchte vielleicht irgendein Programmierer mal der Frage nachgehen, warum nicht gespeichert wird? DAS scheint mir ja nun die Ursache zu sein.
...
Der index.xml wird ja nicht bei jeder Änderung neu geschrieben, sondern nur beim Beenden des Programms. Das ist auch in Ordnung so , finde ich.
Wenn dann beim PDA der reset-Knopf gedrückt wird(werden muss), dann isses weg.
 

pfeffer

Geowizard
araber95 schrieb:
pfeffer schrieb:
1. wäre dafür vielleicht eine Lösung, zunächst zu gucken, zu welchen Wegpunkten die <cache>.xml fehlt und diese dann zu erzeugen, bevor man den Index neu erzeugt?
muss man ja nicht (for all xml write or update)
Ich verstehe nicht genau, was Du meinst. Meinst Du, es sollte nicht für jeden Wegpunkt eine <cache>.xml geschrieben werden?

Ich meine, es sollte für jeden Wegpunkt eine <cache>.xml angelegt werden und zwar weil,
1. jede Änderung darin kaum ohne Zeitverlust darein sofort geschrieben werden kann
2. die damit eine SIcherung der Daten existiert, die mit index-rebuild wiederhergestellt werden kann.

Gruß,
Pfeffer.
 

MiK

Geoguru
pfeffer schrieb:
1. wäre dafür vielleicht eine Lösung, zunächst zu gucken, zu welchen Wegpunkten die <cache>.xml fehlt und diese dann zu erzeugen, bevor man den Index neu erzeugt?
Die diese cache.xml wären dann aber bis auf eine Zeile leer, da die Daten ja nicht im Index stehen.

pfeffer schrieb:
2. Möchte vielleicht irgendein Programmierer mal der Frage nachgehen, warum nicht gespeichert wird? DAS scheint mir ja nun die Ursache zu sein.

Nicht, dass man mich falsch versteht, das wiederherstellen ist auch wichtig. Aber wir sollten dabei die Bekämpfung der Ursache nicht aus dem Auge verlieren.
Da ja z.B. die Solverdaten da sind, funktioniert das Speichern in die cache.xml ja. Nur die index.xml wird eben nicht bei jedem Umschalten neu geschrieben. Und das ist ja Absicht so.
 

pfeffer

Geowizard
1. Naja nun, mehr Daten als da sind, kann man nicht wieder herstellen.

2. Es hatte hier doch jemand geschrieben, dass eben das Wiederherstellen nicht dazu geführt hat, dass die Daten wieder da sind. Das scheint mir dafür zu sprechen, dass das Speichern der <cache>.xml beim Verlassen des DetailsPanels nicht immer ausgelöst wird, wenn Änderungen vorgenommen wurden.
Das sollte jemand sich mal genau angucken.

Gruß,
Pfeffer.
 

arbor95

Geoguru
pfeffer schrieb:
araber95 schrieb:
pfeffer schrieb:
1. wäre dafür vielleicht eine Lösung, zunächst zu gucken, zu welchen Wegpunkten die <cache>.xml fehlt und diese dann zu erzeugen, bevor man den Index neu erzeugt?
muss man ja nicht (for all xml write or update)
Ich verstehe nicht genau, was Du meinst. Meinst Du, es sollte nicht für jeden Wegpunkt eine <cache>.xml geschrieben werden?

Ich meine, es sollte für jeden Wegpunkt eine <cache>.xml angelegt werden und zwar weil,
1. jede Änderung darin kaum ohne Zeitverlust darein sofort geschrieben werden kann
2. die damit eine SIcherung der Daten existiert, die mit index-rebuild wiederhergestellt werden kann.

Gruß,
Pfeffer.
(
ich hatte gedacht , dass man keine cache.xml erstellt. Aber das kann ja in einem "zweiten" Durchlauf passieren.
Siehe letzter Absatz!
)

ich meinte : für alle cache.xml Dateien solle man den Index aktualisieren oder neu schreiben, falls er nicht existiert.
Die andere Geschichte, ob für jeden Index eine cache.xml existiert : Das ist dann auch noch zu bereinigen, tritt aber ja auch vermutlich nur auf, wenn jemand mutwillig oder aus Versehen die Datei gelöscht hat.
 

MiK

Geoguru
pfeffer schrieb:
2. Es hatte hier doch jemand geschrieben, dass eben das Wiederherstellen nicht dazu geführt hat, dass die Daten wieder da sind. Das scheint mir dafür zu sprechen, dass das Speichern der <cache>.xml beim Verlassen des DetailsPanels nicht immer ausgelöst wird, wenn Änderungen vorgenommen wurden.
Das sollte jemand sich mal genau angucken.
In der jetzigen Fassung werden beim Wiederherstellen des Indexes nur cache.xml eingelesen, die keinen Eintrag in der index.xml haben. Da in diesem Fehlerfall, aber ein Eintrag in der index.xml existiert, werden die korrekten aktualisierten Daten aus der cache.xml gar nicht neu eingelesen. Das Speichern funktioniert also. Nur werden diese Daten in der cache.xml nie benutzt (und wahrscheinlich auch durch die alten Daten in der index.xml wieder überschrieben).
 

pfeffer

Geowizard
ahh - ok. Ich erinnere mich, das wurde schon mal hier beschrieben.

Dann sind ja alle Probleme geklärt, oder?

Nach Deinem Umbau sollte vielleicht beim Profileinlesen geprüft werden, ob eine <cache>.xml ein neueres Datum trägt als die index.xml und falls dies der Fall ist folgende Nachfrage kommen:
"Die Daten lassen vermuten, dass Cachewolf beim letzten Start nicht normal beendet wurde (nur für Experten: es gibt mindestens eine <cache>.xml, die neuer ist als die index.xml). Eventuell sind Daten verloren gegangen. Vermtlich können die meisten Daten durch eine Neuindizierung gerettet werden. Soll jetzt neu indiziert werden?"

Gruß,
Pfeffer.
 
Oben