2025-06-14 05:01 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002423Spring engineGeneralpublic2011-05-31 23:32
Reporterabma 
Assigned ToKloot 
PrioritynormalSeveritymajorReproducibilityalways
StatusresolvedResolutionfixed 
Product Version0.82.7+git 
Target VersionFixed in Version0.82.7+git 
Summary0002423: (master) /give all + CTRL-A + give area-reclaim order -> Assertion `owner->unitDef->canReclaim' failed
Descriptionspring: /home/abma/dev/spring/master/rts/Sim/Units/CommandAI/BuilderCAI.cpp:811: virtual void CBuilderCAI::ExecuteReclaim(Command&): Assertion `owner->unitDef->canReclaim' failed.
[f=0000901] Aborted (SIGABRT) in spring 0.82+.4.0 (Debug)
[f=0000901] Stacktrace:
[f=0000901] <0> /lib/x86_64-linux-gnu/libc.so.6(+0x33d80) [0x7fb08b8b5d80]
[f=0000901] <1> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7fb08b8b5d05]
[f=0000901] <2> /lib/x86_64-linux-gnu/libc.so.6(abort+0x186) [0x7fb08b8b9ab6]
[f=0000901] <3> /lib/x86_64-linux-gnu/libc.so.6(__assert_fail+0xf5) [0x7fb08b8ae7c5]
[f=0000901] <4> /home/abma/dev/spring/master/rts/Sim/Units/CommandAI/BuilderCAI.cpp:813
[f=0000901] <5> /home/abma/dev/spring/master/rts/Sim/Units/CommandAI/BuilderCAI.cpp:491
[f=0000901] <6> /home/abma/dev/spring/master/rts/Sim/Units/CommandAI/CommandAI.cpp:780
[f=0000901] <7> /home/abma/dev/spring/master/rts/Sim/Units/CommandAI/MobileCAI.cpp:281
[f=0000901] <8> /home/abma/dev/spring/master/rts/Sim/Units/CommandAI/BuilderCAI.cpp:352
[f=0000901] <9> /home/abma/dev/spring/master/rts/Sim/Units/CommandAI/CommandAI.cpp:539
Additional Informationgit describe
0.82.3-1849-ga6a0018


with this Game:
https://github.com/abma/spring-test-game
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
+Relationships

-Notes

~0006636

SirMaverick (reporter)

Tried to reproduce in ZK with 0.82.3-1859-g6731e51.
One unit set to canReclaim = false, select it together with other builders that can reclaim. All selected units will reclaim even the one which has canReclaim = false set.

No assertion triggered.

~0006637

abma (administrator)

Last edited: 2011-05-11 00:25

tested with ZK 0.8.7, crashes with the assert, too.

Crash only occurs with Area reclaim(!), reclaiming a single tree works.

imo: when testing stuff, you should test how to crash it/how to get an error, not what/how it works.

~0006640

hoijui (reporter)

assertions are only enabled/compiled in with debug builds, not with the regular relwithdebinfo builds.
i would say, using an assertion for this is wrong, and it is a bug in spring.

~0006641

SirMaverick (reporter)

I used area reclaim and a relwithdebinfo build.

> imo: when testing stuff, you should test how to crash it/how to get an error, not what/how it works.
I've always seen it to be helpful if you can track things down and provide additional borders.

What you might not have seen: the issue is the same. no debug build -> no crash, but the canReclaim=false builder still reclaims (this is what triggers the assertion in the debug build).
You cannot order it to reclaim alone, but receives the order if selected together with other units that can reclaim.

~0006645

abma (administrator)

i didn't know that assertions where only enabled in debug builds. imo there is already enough info to fix this bug.
+Notes

-Issue History
Date Modified Username Field Change
2011-05-10 11:07 abma New Issue
2011-05-10 11:38 abma Additional Information Updated
2011-05-10 23:51 SirMaverick Note Added: 0006636
2011-05-11 00:25 abma Note Added: 0006637
2011-05-11 00:25 abma Note Edited: 0006637
2011-05-11 00:26 abma Product Version => 0.82.7+git
2011-05-11 00:26 abma Summary /give all + CTRL-A + give area-reclaim order -> Assertion `owner->unitDef->canReclaim' failed => (spring/master) /give all + CTRL-A + give area-reclaim order -> Assertion `owner->unitDef->canReclaim' failed
2011-05-11 07:56 hoijui Note Added: 0006640
2011-05-11 08:25 SirMaverick Note Added: 0006641
2011-05-11 11:20 abma Note Added: 0006645
2011-05-11 11:21 abma Summary (spring/master) /give all + CTRL-A + give area-reclaim order -> Assertion `owner->unitDef->canReclaim' failed => (master) /give all + CTRL-A + give area-reclaim order -> Assertion `owner->unitDef->canReclaim' failed
2011-05-11 11:31 abma Severity crash => major
2011-05-31 23:32 Kloot Status new => resolved
2011-05-31 23:32 Kloot Fixed in Version => 0.82.7+git
2011-05-31 23:32 Kloot Resolution open => fixed
2011-05-31 23:32 Kloot Assigned To => Kloot
+Issue History