Random Crash
This has happened twice so far in two separate games.
Multi server attack: Defender = 4 Attacker = 4 4 1
Dice: 4 Odds: 31: Success to Defender!
Basic attack: Defender = 4 Attacker (Orange) = 4
Dice: 63 Odds: 50: Fail to Defender!
Multi server attack: Defender = 1 Attacker = 4 4
Dice: 20 Odds: 11: Fail to Defender!
Basic attack: Defender = 3 Attacker (Purple) = 4
Dice: 63 Odds: 43: Fail to Defender!
Exploit attack: Defender = 1 Attacker = 4
Dice: 73 Odds: 20: Fail to Defender!
Exploit attack: Defender = 4 Attacker = 4
Dice: 10 Odds: 50: Success to Defender!
Deny attack: Defender = 1 Attacker (undefined) = 4
Dice: 60 Odds: 20: Fail to Defender!
Deny attack: Defender = 4 Attacker (undefined) = 4
Dice: 33 Odds: 50: Success to Defender!
Scanning node: Orange 7
Scanning node: Red 6
error: uncaughtException: Cannot read property 'length' of undefined date=Thu Aug 01 2019 13:15:31 GMT-0600 (MDT), pid=6636, uid=501, gid=20, cwd=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1, execPath=/usr/local/bin/node, version=v8.9.1, argv=[/usr/local/bin/node, /Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/app.js], rss=181215232, heapTotal=159752192, heapUsed=109622336, external=20564222, loadavg=[2.32275390625, 2.12548828125, 2.03857421875], uptime=317635, trace=[column=89, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/shared/util/playerUtil.js, function=__dirname.PlayerUtil.hasPlayerTakenTurn, line=9, method=hasPlayerTakenTurn, native=false, column=86, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js, function=null, line=101, method=null, native=false, column=12, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/underscore/underscore.js, function=Function._.every._.all, line=245, method=all, native=false, column=12, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js, function=allPlayersSubmittedTurns, line=99, method=null, native=false, column=7, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js, function=finishTurn, line=91, method=null, native=false, column=3, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js, function=Object.__dirname.performAction, line=42, method=performAction, native=false, column=20, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js, function=Object.submitAction [as callback], line=178, method=submitAction [as callback], native=false, column=10, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js, function=performLockedAction, line=254, method=null, native=false, column=11, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js, function=null, line=265, method=null, native=false, column=5, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js, function=null, line=302, method=null, native=false, column=16, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/lib/model.js, function=null, line=4462, method=null, native=false, column=16, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/lib/utils.js, function=null, line=264, method=null, native=false, column=11, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/lib/query.js, function=_hooks.execPost, line=4258, method=execPost, native=false, column=16, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/node_modules/kareem/index.js, function=null, line=135, method=null, native=false, column=7, file=internal/process/next_tick.js, function=_combinedTickCallback, line=131, method=null, native=false, column=9, file=internal/process/next_tick.js, function=process._tickCallback, line=180, method=_tickCallback, native=false], stack=[TypeError: Cannot read property 'length' of undefined, at __dirname.PlayerUtil.hasPlayerTakenTurn (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/shared/util/playerUtil.js:9:89), at /Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js:101:86, at Function._.every._.all (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/underscore/underscore.js:245:12), at allPlayersSubmittedTurns (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js:99:12), at finishTurn (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js:91:7), at Object.__dirname.performAction (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js:42:3), at Object.submitAction [as callback] (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js:178:20), at performLockedAction (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js:254:10), at /Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js:265:11, at /Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js:302:5, at /Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/lib/model.js:4462:16, at /Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/lib/utils.js:264:16, at _hooks.execPost (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/lib/query.js:4258:11), at /Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/node_modules/kareem/index.js:135:16, at _combinedTickCallback (internal/process/next_tick.js:131:7), at process._tickCallback (internal/process/next_tick.js:180:9)]
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! CyberWar-2025@1.0.0 start: `node app.js`
npm ERR! Exit status 1```