Comment 2 for bug 1636966

Revision history for this message
SirVer (sirver) wrote : Re: [Bug 1636966] Re: Segfault in battle

Is this a regression? If this was in b18 already it should not go into b19.

> Am 27.10.2016 um 08:15 schrieb GunChleoc <email address hidden>:
>
> A backtrace could help.
>
> Do you have an autosave too?
>
> ** Tags added: crash
>
> ** Changed in: widelands
> Importance: Undecided => Critical
>
> ** Changed in: widelands
> Milestone: None => build19
>
> ** Changed in: widelands
> Assignee: (unassigned) => GunChleoc (gunchleoc)
>
> --
> You received this bug notification because you are subscribed to
> widelands.
> https://bugs.launchpad.net/bugs/1636966
>
> Title:
> Segfault in battle
>
> Status in widelands:
> New
>
> Bug description:
> Sorry to disturb the rc1 party but I found a bug. :-(
>
> When soldiers are fighting a segfault can occur when the battle only consists of one soldier.
> To be more specific:
>
> In src/logic/map_objects/tribes/soldier.cc :
> 1256 Soldier& opponent = *battle_->opponent(*this);
>
> The call might return nullptr when the other soldier is no longer part
> of the battle (in my cases it was the first_ soldier in battle_ who
> was missing / pointed to 0x0). The description of the method contains
> "Can return nullptr, but I have no idea what that means." which is
> what is happening here.
>
> Since someone was aware of (part of) the issue there might be a check for nullptr missing in soldier.cc. Otherwise there is probably some cancel-battle-code somewhere which is missing the part of removing the other soldier. Does anyone has an idea which of the cases applies?
> Sadly I can not provide any more information about what was happening since I wasn't observing the game. However, GDB is still running if that is any use.
>
> Edit: Happens in build-19-rc1
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/widelands/+bug/1636966/+subscriptions