New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix WithDisguisingInfantryBody crashing when losing the disguise #14383

Merged
merged 3 commits into from Nov 26, 2017

Conversation

Projects
None yet
3 participants
@abcdefg30
Member

abcdefg30 commented Nov 19, 2017

Since #14059 (diff) we don't null the AsSprite/AsActor but AsPlayer which leads to the following crash on bleed:

OpenRA engine version {DEV_VERSION}
Red Alert mod version {DEV_VERSION}
on map 45b2b2a9b4f4903267b4d0f2d271b25c6975b519 (Fort Lonestar by Nuke'm Bro, abcdefg30).
Date: 2017-11-19 01:07:59Z
Operating System: Windows (Microsoft Windows NT 6.2.9200.0)
Runtime Version: .NET CLR 4.0.30319.42000
Exception of type `System.NullReferenceException`: Object reference not set to an instance of an object. (Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.)
   at OpenRA.Mods.Cnc.Traits.Render.WithDisguisingInfantryBody.Tick(Actor self) in \OpenRA\OpenRA.Mods.Cnc\Traits\Render\WithDisguisingInfantryBody.cs:Line 52.
   at OpenRA.Mods.Common.Traits.Render.WithInfantryBody.OpenRA.Traits.ITick.Tick(Actor self) in \OpenRA\OpenRA.Mods.Common\Traits\Render\WithInfantryBody.cs:Line 127.
   at OpenRA.World.<Tick>b__b(TraitPair`1 x) in \OpenRA\OpenRA.Game\World.cs:Line 359.
   at OpenRA.WorldUtils.DoTimed[T](IEnumerable`1 e, Action`1 a, String text) in \OpenRA\OpenRA.Game\WorldUtils.cs:Line 75.
   at OpenRA.World.Tick() in \OpenRA\OpenRA.Game\World.cs:Line 0.
   at OpenRA.Game.InnerLogicTick(OrderManager orderManager) in \OpenRA\OpenRA.Game\Game.cs:Line 609.
   at OpenRA.Game.LogicTick() in \OpenRA\OpenRA.Game\Game.cs:Line 633.
   at OpenRA.Game.Loop() in \OpenRA\OpenRA.Game\Game.cs:Line 763.
   at OpenRA.Game.Run() in \OpenRA\OpenRA.Game\Game.cs:Line 803.
   at OpenRA.Program.Run(String[] args) in \OpenRA\OpenRA.Game\Support\Program.cs:Line 136.
   at OpenRA.Program.Main(String[] args) in \OpenRA\OpenRA.Game\Support\Program.cs:Line 40.

Edit: Turns out there was another crash I fixed as well now:

OpenRA engine version {DEV_VERSION}
Red Alert mod version {DEV_VERSION}
on map 45b2b2a9b4f4903267b4d0f2d271b25c6975b519 (Fort Lonestar by Nuke'm Bro, abcdefg30).
Date: 2017-11-19 00:43:56Z
Operating System: Windows (Microsoft Windows NT 6.2.9200.0)
Runtime Version: .NET CLR 4.0.30319.42000
Exception of type `System.NullReferenceException`: Object reference not set to an instance of an object. (Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.)
   at OpenRA.Mods.Cnc.Traits.Disguise.OpenRA.Traits.IResolveOrder.ResolveOrder(Actor self, Order order) in \OpenRA\OpenRA.Mods.Cnc\Traits\Disguise.cs:Line 152.
   at OpenRA.Network.UnitOrders.ProcessOrder(OrderManager orderManager, World world, Int32 clientId, Order order) in \OpenRA\OpenRA.Game\Network\UnitOrders.cs:Line 286.
   at OpenRA.Network.OrderManager.Tick() in \OpenRA\OpenRA.Game\Network\OrderManager.cs:Line 179.
   at OpenRA.Game.InnerLogicTick(OrderManager orderManager) in \OpenRA\OpenRA.Game\Game.cs:Line 601.
   at OpenRA.Game.LogicTick() in \OpenRA\OpenRA.Game\Game.cs:Line 633.
   at OpenRA.Game.Loop() in \OpenRA\OpenRA.Game\Game.cs:Line 763.
   at OpenRA.Game.Run() in \OpenRA\OpenRA.Game\Game.cs:Line 803.
   at OpenRA.Program.Run(String[] args) in \OpenRA\OpenRA.Game\Support\Program.cs:Line 136.
   at OpenRA.Program.Main(String[] args) in \OpenRA\OpenRA.Game\Support\Program.cs:Line 40.

@reaperrr reaperrr added this to the Next release milestone Nov 19, 2017

@abcdefg30

This comment has been minimized.

Show comment
Hide comment
@abcdefg30

abcdefg30 Nov 23, 2017

Member

Updated.

Member

abcdefg30 commented Nov 23, 2017

Updated.

@pchote

pchote approved these changes Nov 25, 2017

@pchote pchote added the PR: Needs +2 label Nov 25, 2017

@reaperrr reaperrr merged commit ed67cea into OpenRA:bleed Nov 26, 2017

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@abcdefg30 abcdefg30 deleted the abcdefg30:disguise branch Nov 26, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment