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

Probleme beim Addi-Spidern

Kappler

Geowizard
Mir ist heute beim Spider-Aktualisieren des Caches
Jüdische Spuren - Diersburg
aufgefallen, dass es nicht funktioniert:

Code:
...
26.05.2008/08:55: Got images
26.05.2008/08:55: Getting additional waypoints
26.05.2008/08:55: Error reading cache: GC1CJ59
26.05.2008/08:55: Exception in getCacheByWaypointName: 
java.lang.NullPointerException
26.05.2008/08:55: >>> Failed to spider cache. Number of retrys exhausted.
Ich finde dabei nichts ungewöhnliches.

Könnte das mal jemand anschauen, der sich damit auskennt? Bei allen anderen Caches funktioniert es übrigens, es muss also irgendwie mit diesem speziellen Cache zu tun haben...

Edit: aktuellste selbstkompilierte Jar-Version aus dem SVN
 

maierkurt

Geowizard
Irgendwie kann der CW die Note zum ersten Addi-Waypoint nicht richtig auslesen.
Zeile 1190 in SpiderGC.java:
setLongDescription wird doch immer ausgeführt, auch wenn stringMatched == null ist.

Warum das jetzt erst beim Aktualisieren und nicht schon nach dem ersten Spidervorgang auftritt kann ich nicht sagen.


Gruß, maierkurt
 
OP
Kappler

Kappler

Geowizard
Da scheint irgendetwas mit dem Desc-Regex nicht zu stimmen:

in GetAddWaypoints:
Code:
descRex.search(rowBlock);
wobei rowBlock folgendes enthält:
Code:
<tr bgcolor="#FFFFFF">
			<td colspan="2" valign="top">Note:</td>
			<td valign="top" align="left" colspan="4">Jüdischer Friedhof 
Jewish Cemetery<p>Aufgabe: Nachname von Gustav und Flora hat "A" Buchstaben (Gesamtanzahl aller Buchstaben)
Task: Family name of Gustav and Flora has "A" letters (Total of letters)</td>
			<td> </td>
		</tr>
und in der spider.def folgendes steht:
Code:
descRex            = colspan="4">(.*)</td>
Trotzdem ist nach dem search-Aufruf descRex.didMatch_ false

(soweit ich das verstehe, müsste das aber gefunden werden...)

Dadurch wird
Code:
cxD.setLongDescription(descRex.stringMatched(1))
mit einem leeren String aufgerufen und dies schmeißt eine Exception...

Kann damit jemand was anfangen? (ich weiß hier nicht weiter, da ich nicht weiß, wie diese RegEx-Geschichte funktionieren soll...)

Edit:
Der eigentliche Fehl tritt in stripControlChars auf, das von setLongDescription aufgerufen wird:
Code:
StringBuffer sb=new StringBuffer(desc.length());
Hier wird eine Exception geschmissen, wenn desc leer ist...
 

maierkurt

Geowizard
Edit:
Der eigentliche Fehl tritt in stripControlChars auf, das von setLongDescription aufgerufen wird:

Code:
StringBuffer sb=new StringBuffer(desc.length());

Hier wird eine Exception geschmissen, wenn desc leer ist...
Hm, bei mir kommt die Exception wenn in der Methode setLongDescription dem String longDescription "null" zugewiesen werden soll.

Was ich auch merkwürdig finde: Ist der Cache noch nicht im CW vorhanden, funktioniert der Spidervorgang, danach aktualisieren nicht.

Gruß, maierkurt
 
OP
Kappler

Kappler

Geowizard
maierkurt schrieb:
Was ich auch merkwürdig finde: Ist der Cache noch nicht im CW vorhanden, funktioniert der Spidervorgang, danach aktualisieren nicht.
Das ist schon klar. Siehe hier:
Code:
	 public void setLongDescription(String longDescription) {
	 	if (LongDescription.equals("")) is_new=true;
	 	else if (!stripControlChars(LongDescription).equals(stripControlChars(longDescription))) is_update=true;
	 	LongDescription = longDescription;
	 }
Wenn LongDescription (member des CacheHolders) noch leer ist, dann wird die Funktion stripControlChars gar nicht ausgeführt, also passiert auch nichts.
Erst wenn der Wegpunkt bereits angelegt und schon etwas in LongDescription steht...
 

salzkammergut

Geomaster
Habe gerade eine neue spider.def eingecheckt, die das Problem (Zeilenvorschub innerhalb des Textes) lösen sollte. Bitte mal testen.

skg
 

Robin888

Geomaster
Jetzt habe ich auch mal so 'nen Fall:

GC1CC5T

Offenbar liegt es am Addi-WP. Das einzige, was mir daran auffällt ist, daß die Beschreibung zweizeilig ist. Könnte das ein Problem sein?

Allerdings bekomme ich keine Fehlermeldung, daß irgendwelche Caches nicht gespidert werden konnten. :-o (Habe ich auch noch nie gesehen die Meldung.)
Er spidert einfach nicht weiter.

Ich habe den Cache jetzt erstmal per .loc importiert.
Aktualisieren klappt natürlich aus dem gleichen Grund auch nicht.
Schade ist: Die Addis scheinen ja das letzte zu sein, was er erfasst. Aber auch die anderen Informationen die schon geladen wurden, werden nicht übernommen. :-/

Robin(888)
 

MiK

Geoguru
Teste mal das aktuelle Nightly Build. SKG hat etwas am Spidern von Addis mit mehreren Zeilen gefixt.
 

Robin888

Geomaster
MiK schrieb:
Hast Du auch die datfiles.tar und speziell die spider.def aktualisiert?

Immer. Hab mich jetzt auch mal darin umgeguckt und den Quelltext des Listings analysiert, aber nichts gefunden, was stören könnte.
Der Absatz wurde per "<br>" erzwungen. Der würde IMHO zwar nicht rausgefiltert, aber zu keinem Problem führen...

Robin(888)
 

Robin888

Geomaster
Also ich habe jetzt etwas in der spider.def rumgefuhrwerkt und die und jenes ausprobiert. Erfolglos. Andere Caches mit Addi-WPs werden geladen. Oben genannter nicht. :-/ Nicht, daß es eilt, aber wenn SKG da mal drüber gucken sollte, würde ich gerne wissen, woran es gelegen hat.

P.S.: Gehört der Backslash eigentlich im wayBlockExStart dorthin?

Code:
wayBlockExStart    = <strong>Additional\ Waypoints</strong>

Robin(888)
 

salzkammergut

Geomaster
Robin888 schrieb:
P.S.: Gehört der Backslash eigentlich im wayBlockExStart dorthin?

Code:
wayBlockExStart    = <strong>Additional\ Waypoints</strong>
Ja, denn der (EWE-)Code, der die Zeilen der spider.def einliest bricht beim ersten Leerzeichen ab. Daher müssen Leerzeichen escaped werden.

skg
 

Robin888

Geomaster
Oh. Ja. Richtig. Hab' ich gelesen. ... Aber mit meinem Halbwissen nicht verstanden. :-D
Sorry.

Robin(888)
 

MiK

Geoguru
Robin888 schrieb:
Jetzt habe ich auch mal so 'nen Fall:

GC1CC5T

Offenbar liegt es am Addi-WP. Das einzige, was mir daran auffällt ist, daß die Beschreibung zweizeilig ist. Könnte das ein Problem sein?

Allerdings bekomme ich keine Fehlermeldung, daß irgendwelche Caches nicht gespidert werden konnten. :-o (Habe ich auch noch nie gesehen die Meldung.)
Er spidert einfach nicht weiter.
Funktioniert bei mir mit r1492. Versuche es damit bitte noch einmal.
 

MiK

Geoguru
salzkammergut schrieb:
Habe gerade eine neue spider.def eingecheckt, die das Problem (Zeilenvorschub innerhalb des Textes) lösen sollte. Bitte mal testen.
Mit obigem Cache gibt es zumindest bei mir keine Probleme mehr.
 

Robin888

Geomaster
Nope. Funktioniert noch immer nicht.

Was mich auch gewundert hätte, weil die descEx-Zeile immer noch die gleiche ist. ;-)

Robin(888)
 

MiK

Geoguru
Kann es sein, dass Du Deinen Fall eigentlich zu diesem Posting schreiben wolltest:
http://www.geoclub.de/viewtopic.php?p=390138#p390138

Das ist wohl eher das gleiche Problem, wie bei Dir. Trotzdem habe ich mit all diesen Caches kein Problem mehr mit der neuesten Version. Versuche es doch bitte mal in einem neuen Profil.
 
Oben