Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0002233EresseaNACH/ROUTEöffentlich2017-12-05 19:49
ReporterEnnoBearbeitung durchEnno 
PrioritätnormalAuswirkungkleinerer FehlerReproduzierbarimmer
Status geschlossenLösungerledigt 
Produktversion3.9.1 
Zielversion3.9.1Behoben in Version3.9.1 
Zusammenfassung0002233: valgrind triggers on piracy_cmd
Beschreibung

See also: https://github.com/eressea/server/issues/549

Diesen Fehler sollte ich unbedingt noch beheben, ehe am Wochenende die Auswertung passiert.

Zusätzliche Informationen

Das Problem ist, dass set_order(&u->thisorder, ...) den Befehl löscht (Reference count fällt auf 0), glaube ich. Es ist außerdem recht unübersichtlich, welchen Befehl move_cmd eigentlich ausführt, weil sowohl mit thisorder als auch ord gearbeitet wird.

Partei0
SpielE3
Report371

Notizen / Dateien

Enno

Enno

2016-09-01 10:50

Administrator   ~0006757

Einheit ist u->no==1506880 (waps)
Befehl ist PIRATERIE (ohne Parameter)
Partei ist die Rote Bärte Fraktion, f->no==1291874 (rote)
u->thisorder ist der PIRATERIE-Befehl, wird ersetzt mit NACH Westen
crash ist in cycle_route (ord->refcount==0).

Wann wird refcount=0 gesetzt? Wann und warum wird thisorder auf MOVE gesetzt?

Enno

Enno

2016-09-01 20:23

Administrator   ~0006758

Zuletzt bearbeitet: 2016-09-01 20:24

2 Überarbeitungen anzeigen

Die Einheit 1506880 ist nicht im 370er Datenfile. Ist die evtl. erst diese Woche erzeugt worden? Das wird etwas schwieriger zu suchen.

Edit: Oops. Man muss natürlich das richtige Binary debuggen.

Enno

Enno

2016-09-01 21:41

Administrator   ~0006759

Ich glaube, ich habe es. Dummes Problem mit aliasing. Erster Hotfix für das 3.9 Release ist in Arbeit.

Enno

Enno

2016-09-01 21:54

Administrator   ~0006761

Ich habe scheinbar Piraterie (anders) kaputt gemacht bei der Reparatur:

1) Failure (tests.e2.movement.test_piracy):
./scripts/tests/e2/movement.lua:33: expected [Biseborson (1,0)] but was nil

Das ist mir leider vor dem akzeptieren des PR nicht aufgefallen, muss ein selten zu reproduzierendes Problem sein (oder ein schlechter Test).

Enno

Enno

2016-09-01 21:54

Administrator   ~0006762

Zuletzt bearbeitet: 2016-09-01 21:55

2 Überarbeitungen anzeigen

Das muss ich vor Samstag Abend noch mindestens ansehen.

Enno

Enno

2016-09-02 09:06

Administrator   ~0006763

Lustig. Im Test steht: assert_equal(r2, u1.region) -- should pass, but fails!!!
Zuletzt geändert am 2016-08-19

Enno

Enno

2016-09-02 09:08

Administrator   ~0006764

Einheit iaf (iaf) verliert in Dedal (1,0) 1 von 1 Personen durch
Unterernährung.

Oh, das war ja easy.

Enno

Enno

2016-09-02 09:11

Administrator   ~0006765

Da war nur der Test falsch, nicht der Code an sich. Ich fixe das bei Gelegenheit im Code für 3.10

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2016-09-01 10:34 Enno Neuer Eintrag
2016-09-01 10:34 Enno Status neu => zugewiesen
2016-09-01 10:34 Enno Bearbeitung durch => Enno
2016-09-01 10:50 Enno Notiz hinzugefügt: 0006757
2016-09-01 20:23 Enno Notiz hinzugefügt: 0006758
2016-09-01 20:24 Enno Notiz bearbeitet: 0006758 Überarbeitungen anzeigen
2016-09-01 21:41 Enno Notiz hinzugefügt: 0006759
2016-09-01 21:51 Enno Status zugewiesen => erledigt
2016-09-01 21:51 Enno Lösung offen => erledigt
2016-09-01 21:51 Enno Behoben in Version => 3.9.1
2016-09-01 21:54 Enno Status erledigt => Rückmeldung
2016-09-01 21:54 Enno Lösung erledigt => wiedereröffnet
2016-09-01 21:54 Enno Notiz hinzugefügt: 0006761
2016-09-01 21:54 Enno Status Rückmeldung => zugewiesen
2016-09-01 21:54 Enno Notiz hinzugefügt: 0006762
2016-09-01 21:55 Enno Notiz bearbeitet: 0006762 Überarbeitungen anzeigen
2016-09-02 09:06 Enno Notiz hinzugefügt: 0006763
2016-09-02 09:08 Enno Notiz hinzugefügt: 0006764
2016-09-02 09:11 Enno Status zugewiesen => erledigt
2016-09-02 09:11 Enno Lösung wiedereröffnet => erledigt
2016-09-02 09:11 Enno Notiz hinzugefügt: 0006765
2017-12-05 19:49 Enno Status erledigt => geschlossen