﻿id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,phab_field
6486,Units Demo triggers segmentation fault,Langbart,,"GIT version: [26742]
==== to reproduce
* Start the `Units demo` map
[[Image(demo.jpg, 300px, center)]]


{{{
GAME STARTED, ALL INIT COMPLETE
Assertion failed: ""it->second.pos.X.ToInt_RoundToZero() / PUSHING_GRID_SIZE < m_MovingUnits.width() && it->second.pos.Y.ToInt_RoundToZero() / PUSHING_GRID_SIZE < m_MovingUnits.height()""
Location: CCmpUnitMotion_System.cpp:435 (Move)

Call stack:

(error while dumping stack: Function not supported)
errno = 22 (Invalid alignment)
OS error = ?


(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?

Process 97509 stopped
* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x000000010109c930 pyrogenesis`::mozalloc_abort(msg=<unavailable>) at mozalloc_abort.cpp:33:3 [opt]
   30  	#ifdef MOZ_WIDGET_ANDROID
   31  	  abortThroughJava(msg);
   32  	#endif
-> 33  	  MOZ_CRASH();
   34  	}
   35  	
   36  	#ifdef MOZ_WIDGET_ANDROID
}}}

==== lldb

{{{
(lldb) bt
* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x000000010109c930 pyrogenesis`::mozalloc_abort(msg=<unavailable>) at mozalloc_abort.cpp:33:3 [opt]
    frame #1: 0x0000000101b945ad pyrogenesis`::abort() at mozalloc_abort.cpp:82:3 [opt]
    frame #2: 0x00000001004f31a6 pyrogenesis`sys_display_error(text=<unavailable>, flags=6) at unix.cpp:268:4 [opt]
    frame #3: 0x00000001004d5923 pyrogenesis`debug_DisplayError(wchar_t const*, unsigned long, void*, wchar_t const*, wchar_t const*, int, char const*, long volatile*) [inlined] CallDisplayError(text=L""Assertion failed: \""it->second.pos.X.ToInt_RoundToZero() / PUSHING_GRID_SIZE < m_MovingUnits.width() && it->second.pos.Y.ToInt_RoundToZero() / PUSHING_GRID_SIZE < m_MovingUnits.height()\""\r\nLocation: CCmpUnitMotion_System.cpp:435 (Move)\r\n\r\nCall stack:\r\n\r\n(error while dumping stack: Function not supported)\r\nerrno = 22 (Invalid alignment)\r\nOS error = ?\r\n"", flags=6) at debug.cpp:374:8 [opt]
    frame #4: 0x00000001004d5906 pyrogenesis`debug_DisplayError(description=L""Assertion failed: \""it->second.pos.X.ToInt_RoundToZero() / PUSHING_GRID_SIZE < m_MovingUnits.width() && it->second.pos.Y.ToInt_RoundToZero() / PUSHING_GRID_SIZE < m_MovingUnits.height()\"""", flags=6, context=0x00007ffeefbfd840, lastFuncToSkip=<no summary available>, pathname=<no summary available>, line=<no summary available>, func=<no value available>, suppress=<no summary available>) at debug.cpp:460 [opt]
    frame #5: 0x00000001004d618e pyrogenesis`debug_OnAssertionFailure(expr=<no summary available>, suppress=<no summary available>, file=<no summary available>, line=<no summary available>, func=<no value available>) at debug.cpp:547:9 [opt]
    frame #6: 0x000000010010795c pyrogenesis`CCmpUnitMotionManager::Move(this=<unavailable>, ents=<no summary available>, dt=(value = <no summary available>)) at CCmpUnitMotion_System.cpp:434:3 [opt]
    frame #7: 0x000000010010513b pyrogenesis`CCmpUnitMotionManager::HandleMessage(this=<unavailable>, msg=<unavailable>, (null)=<no summary available>) at CCmpUnitMotion_System.cpp:0 [opt]
    frame #8: 0x0000000100192757 pyrogenesis`CComponentManager::BroadcastMessage(this=<no summary available>, msg=<unavailable>) at ComponentManager.cpp:1015:18 [opt]
    frame #9: 0x00000001000983b6 pyrogenesis`CSimulation2Impl::UpdateComponents(simContext=<no summary available>, turnLengthFixed=(value = <no summary available>), commands=<unavailable>) at Simulation2.cpp:566:20 [opt]
    frame #10: 0x0000000100096c76 pyrogenesis`CSimulation2Impl::Update(this=<no summary available>, turnLength=<no summary available>, commands=<unavailable>) at Simulation2.cpp:401:2 [opt]
    frame #11: 0x00000001001abeeb pyrogenesis`CTurnManager::Update(this=<unavailable>, simFrameLength=<no summary available>, maxTurns=<no summary available>) at TurnManager.cpp:146:17 [opt]
    frame #12: 0x0000000100207d95 pyrogenesis`CGame::Update(this=<no summary available>, deltaRealTime=<no summary available>, doInterpolate=<no summary available>) at Game.cpp:400:22 [opt]
    frame #13: 0x0000000100006cb4 pyrogenesis`RunGameOrAtlas(int, char const**) [inlined] Frame() at main.cpp:435:12 [opt]
    frame #14: 0x00000001000064c0 pyrogenesis`RunGameOrAtlas(argc=<no summary available>, argv=<no summary available>) at main.cpp:691 [opt]
    frame #15: 0x0000000100004ab6 pyrogenesis`main(argc=<no summary available>, argv=<no summary available>) at main.cpp:743:2 [opt]
    frame #16: 0x00007fff6ccebcc9 libdyld.dylib`start + 1
}}}

==== bisect
[26680]

==== issue 
there is something wrong with the `viking_longship.xml`, it does not like the changes being made to `depth` if you simply revert back to the old number or use a number below `44` it works.
[[Image(viking.jpg, 600px, center)]]

==== referenced line
The line under `Assertion failed` was added with [25182]. 
[[Image(vscode.png, 600px, center)]]


",defect,new,Release Blocker,Alpha 26,UI – In-game,,,,
