View Issue Details

IDProjectCategoryView StatusLast Update
0002386EresseaGeneralpublic2017-12-05 18:46
ReporterEnno Assigned ToEnno  
PrioritynormalSeveritycrashReproducibilityhave not tried
Status closedResolutionfixed 
Product Version3.13.2 
Target Version3.13.3Fixed in Version3.13.3 
Summary0002386: Hitpoint-Berechnung bei Übergabe grosser Einheiten
Description

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.

TagsNo tags attached.
Faction0
GameE2
Report1051

Activities

Enno

Enno

2017-11-19 01:50

administrator   ~0007612

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

Enno

Enno

2017-11-19 02:11

administrator   ~0007613

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

Issue History

Date Modified Username Field Change
2017-11-19 01:31 Enno New Issue
2017-11-19 01:31 Enno Status new => assigned
2017-11-19 01:31 Enno Assigned To => Enno
2017-11-19 01:46 Enno Target Version => 3.13.3
2017-11-19 01:50 Enno Note Added: 0007612
2017-11-19 02:11 Enno Status assigned => resolved
2017-11-19 02:11 Enno Resolution open => fixed
2017-11-19 02:11 Enno Fixed in Version => 3.13.3
2017-11-19 02:11 Enno Note Added: 0007613
2017-12-05 18:46 Enno Status resolved => closed