Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0002386Eressea[Alle Projekte] Generalöffentlich2017-12-05 19:46
ReporterEnnoBearbeitung durchEnno 
PrioritätnormalAuswirkungAbsturzReproduzierbarnicht getestet
Status geschlossenLösungerledigt 
Produktversion3.13.2 
Zielversion3.13.3Behoben in Version3.13.3 
Zusammenfassung0002386: Hitpoint-Berechnung bei Übergabe grosser Einheiten
Beschreibung

Die Einheit 1211213 gibt den Befehl GIB TEMP 7 8100 PERSONEN und das triggert ein assert in clone_men.

src/kernel/unit.c:1064: clone_men: Assertion `dst->hp >= dst->number' failed.

Grund: Die Einheit hat 8237 Personen mit je 39 HP (Total 329159). Wir berechnen u->hp * dst->number / u->number:

(gdb) p u->hp * dst->number
$19 = -1628779396

Das wird negativ, weil es 32-bit integer sprengt.

Partei0
SpielE2
Report1051

Notizen / Dateien

Enno

Enno

2017-11-19 02:50

Administrator   ~0007612

An dieser Stelle des Codes gibt es bereits einen Fix fuer 3.14, das wird kompliziert.

Enno

Enno

2017-11-19 03:11

Administrator   ~0007613

Komplizierte Operation, weil es dafür einen releas-13.3 branch gebraucht hat.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2017-11-19 02:31 Enno Neuer Eintrag
2017-11-19 02:31 Enno Status neu => zugewiesen
2017-11-19 02:31 Enno Bearbeitung durch => Enno
2017-11-19 02:46 Enno Zielversion => 3.13.3
2017-11-19 02:50 Enno Notiz hinzugefügt: 0007612
2017-11-19 03:11 Enno Status zugewiesen => erledigt
2017-11-19 03:11 Enno Lösung offen => erledigt
2017-11-19 03:11 Enno Behoben in Version => 3.13.3
2017-11-19 03:11 Enno Notiz hinzugefügt: 0007613
2017-12-05 19:46 Enno Status erledigt => geschlossen