#6106 closed defect (fixed)

Segmentation fault in spidermonkey

Reported by: moiman Owned by: wraitii
Priority: Must Have Milestone: Alpha 25
Component: Core engine Keywords:
Cc: Patch: Phab:D3689

Description

  1 Thread 1 "main" received signal SIGSEGV, Segmentation fault.
  2 0x00007ffff71bca32 in js::gc::StoreBuffer::putSlot (this=0x555555cbcd58, obj=<optimized out>, kind=<optimized out>, start=2, count=1)
  3     at /var/tmp/portage/games-strategy/0ad-0.0.24b_alpha/work/0ad-0.0.24b-alpha/libraries/source/spidermonkey/mozjs-78.6.0/js/src/gc/StoreBuffer.h:457

Attachments (3)

0ad-segfault-gdb.txt (24.7 KB ) - added by moiman 23 months ago.
commands.txt (391.1 KB ) - added by moiman 23 months ago.
replayCache.json (97.1 KB ) - added by moiman 23 months ago.

Download all attachments as: .zip

Change History (5)

by moiman, 23 months ago

Attachment: 0ad-segfault-gdb.txt added

by moiman, 23 months ago

Attachment: commands.txt added

by moiman, 23 months ago

Attachment: replayCache.json added

comment:1 by wraitii, 23 months ago

Milestone: BacklogAlpha 25
Patch: Phab:D3689
Priority: Should HaveMust Have

comment:2 by wraitii, 23 months ago

Owner: set to wraitii
Resolution: fixed
Status: newclosed

In 25075:

Fix infinite loop in healing & potential one elsewhere.

HEAL can infinite loop: if the HEAL.APPROACHING:MoveTo call fails, the unit will fallback to FINDINGNEWTARGET, which looks for new targets to heal, which can loop around.
In #6106, the cause was that the target was not visible despite the order being given (presumably a rangemanager/los incompatibility issue).
When MoveTo() fail, orders usually call FinishOrder as that's irrecoverable.

Further, GATHERING/COLLECTINGTREASURE also did not FinishOrder - there, we do want to consider new resources if the target is e.g. unreachable, so add an explicit check for AbleToMove.

Reported by: moiman

Reviewed By: Freagarach

Fixes #6106

Differential Revision: https://code.wildfiregames.com/D3689

Note: See TracTickets for help on using tickets.