2025-07-31 02:19 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002254Spring engineGeneralpublic2010-12-08 13:40
Reporterhoijui 
Assigned ToKloot 
PrioritynormalSeveritycrashReproducibilityalways
StatusresolvedResolutionfixed 
Product Version 
Target VersionFixed in Version0.82.7 
Summary0002254: crash in master with units of footprint 1x1
DescriptionS44 1.5 (current release) has units with footprint specified as 1x1, which results in a SIGFPE in current master.

happens here:
https://github.com/spring/spring/blob/master/rts/Sim/Units/UnitDef.cpp#L916

// xsize == 1
const unsigned int hxsize = xsize >> 1;
// -> hxsize == 0
x %= hxsize;
// -> boom
Additional InformationProgram received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x7fffdfb31710 (LWP 8501)]
0x0000000000ca0c42 in UnitDef::CreateYardMap (this=0xa65ed90, yardMapStr=...) at rts/Sim/Units/UnitDef.cpp:916
(gdb) bt
#0 0x0000000000ca0c42 in UnitDef::CreateYardMap (this=0xa65ed90, yardMapStr=...) at rts/Sim/Units/UnitDef.cpp:916
#1 0x0000000000c9c0e1 in UnitDef (this=0xa65ed90, udTable=..., unitName=..., id=7) at rts/Sim/Units/UnitDef.cpp:677
#2 0x0000000000c7d9cc in CUnitDefHandler::PushNewUnitDef (this=0x3233f90, unitName=..., udTable=...) at rts/Sim/Units/UnitDefHandler.cpp:90
0000003 0x0000000000c7d3ea in CUnitDefHandler (this=0x3233f90) at rts/Sim/Units/UnitDefHandler.cpp:57
0000004 0x00000000007210c6 in CGame::LoadSimulation (this=0x30c2250, mapname=...) at rts/Game/Game.cpp:498
0000005 0x000000000071f41e in CGame::LoadGame (this=0x30c2250, mapname=...) at rts/Game/Game.cpp:395
#6 0x0000000000796366 in CLoadScreen::Init (this=0x27361f0) at rts/Game/LoadScreen.cpp:103
#7 0x0000000000796dfd in CLoadScreen::CreateInstance (mapName=..., modName=..., saveFile=0x0) at rts/Game/LoadScreen.cpp:150
#8 0x000000000076dee9 in CPreGame::UpdateClientNet (this=0x2716870) at rts/Game/PreGame.cpp:269
#9 0x000000000076d0dd in CPreGame::Update (this=0x2716870) at rts/Game/PreGame.cpp:157
0000010 0x0000000000d9148d in SpringApp::Update (this=0x7fffdfb30cb0) at rts/System/SpringApp.cpp:1070
#11 0x0000000000d9185a in SpringApp::Run (this=0x7fffdfb30cb0, argc=1, argv=0x7fffffffdb68) at rts/System/SpringApp.cpp:1204
0000012 0x0000000000dbf65a in MainFunc (argc=1, argv=0x7fffffffdb68, ret=0x7fffffffda1c) at rts/System/Main.cpp:53
0000013 0x0000000000dc026c in boost::_bi::list3<boost::_bi::value<int>, boost::_bi::value<char**>, boost::_bi::value<int*> >::operator()<void (*)(int, char**, int*), boost::_bi::list0> (this=0x245dd68, f=@0x245dd60, a=...) at /usr/include/boost-1_41/boost/bind/bind.hpp:385
0000014 0x0000000000dc01df in boost::_bi::bind_t<void, void (*)(int, char**, int*), boost::_bi::list3<boost::_bi::value<int>, boost::_bi::value<char**>, boost::_bi::value<int*> > >::operator() (this=0x245dd60) at /usr/include/boost-1_41/boost/bind/bind_template.hpp:20
#15 0x0000000000dc019e in boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(int, char**, int*), boost::_bi::list3<boost::_bi::value<int>, boost::_bi::value<char**>, boost::_bi::value<int*> > > >::run (this=0x245dc30) at /usr/include/boost-1_41/boost/thread/detail/thread.hpp:56
#16 0x00007ffff609b9c5 in thread_proxy () from /usr/lib/libboost_thread-mt-1_41.so.1.41.0
#17 0x00007ffff7963507 in start_thread () from /lib/libpthread.so.0
#18 0x00007ffff456528d in clone () from /lib/libc.so.6
(gdb)
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
+Relationships

-Notes

~0006045

Kloot (developer)

was actually caused by a 0x0 footprint (NxN's are scaled to 2Nx2N by Spring, so a 1x1 would not have triggered this)
+Notes

-Issue History
Date Modified Username Field Change
2010-12-08 11:09 hoijui New Issue
2010-12-08 13:40 Kloot Note Added: 0006045
2010-12-08 13:40 Kloot Status new => resolved
2010-12-08 13:40 Kloot Fixed in Version => 0.82.6.1+git
2010-12-08 13:40 Kloot Resolution open => fixed
2010-12-08 13:40 Kloot Assigned To => Kloot
+Issue History