Eintragsdetails ansehen
ID | Projekt | Kategorie | Sichtbarkeit | Meldungsdatum | Zuletzt aktualisiert |
---|---|---|---|---|---|
0002266 | Eressea | NACH/ROUTE | öffentlich | 2016-12-11 16:46 | 2017-03-02 08:12 |
Reporter | Solthar | Bearbeitung durch | Enno | ||
Priorität | hoch | Schweregrad | kleinerer Fehler | Reproduzierbar | nicht getestet |
Status | geschlossen | Lösung | erledigt | ||
Produktversion | 3.10.3 | ||||
Zielversion | 3.10.4 | Behoben in Version | 3.10.4 | ||
Zusammenfassung | 0002266: FOLGE SCHIFF funktioniert nicht | ||||
Beschreibung | Einheit Pirat (tepr) hatte @FOLGE SCHIFF e97o gesetzt folgte aber nur zwei Regionen weit statt 8 und blieb dann kommentarlos stehen. Meldungen über Stürme gab es nicht und die Reichweite war definitiv auch größer. Das betrifft auch noch zwei weitere Schiffe, die dem selben Schiff folgten, aber keinen anderen Schiffen in dieser Runde, die anderen Schiffen folgten. Ich habe aber keine Erklärung, was hier anders gewesen sein könnte. | ||||
Tags | Keine Tags zugeordnet. | ||||
Partei | |||||
Spiel | E2 | ||||
Report | |||||
Erster Schritt der Analyse: Das Ziel ist Partei 1wpy, Einheit 8qcs. Es hat einen langen ROUTE-Befehl, der beginnt mit ROUTE Ost Ost PAUSE, sollte also nur zwei Felder weit gereist sein. |
|
Aus dem Report von 1wpy: Träger (8qcs) wandert von Vytbêd (27,-2) nach Stahlberg (25,-2). Die Rechtschaffener Zorn (e97o) segelt von Vytbêd (27,-2) nach Ozean (35,-3). Rechtschaffener Zorn (e97o), Trireme
Mir scheint, da wird evtl. die falsche Kapitäns-Einheit für FOLGE gewählt? Warum wird im Code überhaupt einer Einheit gefolgt, und nicht einem Schiff? |
|
Mit Version 3.9.4 noch einmal ausgewertet, landet das Schiff in der selben Region wie das verfolgte: Die ITR-GR Sunrise (2sk2) segelt von Vytbêd (27,-2) nach Ozean (35,-3). Das ist also wohl in der Tat mit der neuen Version eingeschleppt worden, wahrscheinlich durch die Änderung an FOLGE: |
|
Die Änderung war allerdings so minimal, dass ich mir das gar nicht vorstellen kann. Ich muss mal genau gucken, was da passiert. Die Einheit 8qcs ist glaube ich der richtige Hinweis, die sollte nichts mit dem FOLGE zu tun gehabt haben, warum ist die in meiner Analyse aufgetaucht? |
|
Ich habe keine Ahnung, wie ich auf die Einheit gekommen bin. Bei einem erneuten Versuch, das zu debuggen, komme ich in follow_ship in diese Schleife:
Nachdem zweimal Osten als Richtung für das Schiff bestimmt wurde, ist in der Region 1475719591 (97,199) Schluss, weil keine Durchreise-Spur des verfolgten Schiffes gefunden wird. |
|
Keine Spur? Aber im Report steht in (29,-2): Die Region wurde durchquert von Rechtschaffener Zorn (e97o). Es muss also eine Spur geben, sie wird wohl nur nicht gefunden. |
|
Hmm... Der einzige at_shiptrail hier ist für Schiff 2j3i, (Dämonenfrass), und ist wahrscheinlich aus der Vorwoche. |
|
Seltsam: in move_ship wird der Region 1475719591 ein at_shiptrail Attribut gegeben, am Ende der Funktion ist es aber weg (dafür sind at_travelunit dort)? Das ist gemein, weil Attribute schwer zu verfolgen sind. |
|
Ich hab's! Der Fehler liegt in leave_trail, wenn bereits ein at_shiptrail in der Region ist, für ein anderes Schiff (in diesem Fall die Dämonenfrass), dann ist in Zeile 598 die Bedingung (a == NULL) false, und es wird für das neue Schiff kein zweiter Trail angelegt, glaube ich. |
|
Nach einer Neuauswertung mit Reparatur sind jetzt drei Schiffe in der Zielregion, scheint also zu stimmen. Der Fehler hat sich hier eingeschlichen: https://github.com/eressea/server/commit/194f96c5 Der Code hat offenbar keine Tests für diesen Spezialfall. Nachliefern! |
|
PR: https://github.com/eressea/server/pull/617 Genaue Ursache: Wenn die Region von einem Leuchtturm erblickt wird, und bereits ein anderes Schiff durchgesegelt ist (evtl. so wie hier in der Vorwoche), dann wurde die "hat die Region durchquert" Information für andere Schiffe nicht angelegt. Verfolger bleiben dann stehen, sobald sie die Fährte verlieren. |
|
Änderungsdatum | Benutzername | Feld | Änderung |
---|---|---|---|
2016-12-11 16:46 | Solthar | Neuer Eintrag | |
2016-12-13 12:55 | Enno | Bearbeitung durch | => Enno |
2016-12-13 12:55 | Enno | Status | neu => zugewiesen |
2016-12-15 21:40 | Enno | Notiz hinzugefügt: 0006863 | |
2016-12-15 21:43 | Enno | Notiz hinzugefügt: 0006864 | |
2016-12-15 22:38 | Enno | Notiz hinzugefügt: 0006865 | |
2016-12-15 22:40 | Enno | Notiz hinzugefügt: 0006866 | |
2016-12-15 22:42 | Enno | Priorität | normal => hoch |
2016-12-15 22:42 | Enno | Zielversion | => 3.10.4 |
2016-12-15 22:42 | Enno | Partei | 1wpy => |
2016-12-15 22:42 | Enno | Report | 1004 => |
2016-12-15 23:00 | Enno | Notiz hinzugefügt: 0006867 | |
2016-12-15 23:05 | Enno | Notiz hinzugefügt: 0006868 | |
2016-12-15 23:10 | Enno | Notiz hinzugefügt: 0006869 | |
2016-12-15 23:19 | Enno | Notiz hinzugefügt: 0006870 | |
2016-12-15 23:27 | Enno | Notiz hinzugefügt: 0006871 | |
2016-12-15 23:36 | Enno | Notiz hinzugefügt: 0006872 | |
2016-12-16 17:21 | Enno | Notiz hinzugefügt: 0006873 | |
2016-12-16 17:32 | Enno | Status | zugewiesen => erledigt |
2016-12-16 17:32 | Enno | Lösung | offen => erledigt |
2016-12-16 17:32 | Enno | Behoben in Version | => 3.10.4 |
2017-03-02 08:12 | Enno | Status | erledigt => geschlossen |