From 05c0907d5cb54f26d907385e35c2ef109f4bd6d4 Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Wed, 15 Apr 2020 10:41:46 +0200 Subject: [PATCH] Fix for Coriolis issue #6 (Katana core dump on ALU16). * Bug: In Katana::AutoSegment::_preDestroy(), remove the segment from the source & target AutoContact cache. In LibreSOC/experiment7, weird placement caused fixed AutoSegment overlaping blockage to be deleteds. It seems to have never occured before (or at least, no ended up in core dump). --- anabatic/src/AutoSegment.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/anabatic/src/AutoSegment.cpp b/anabatic/src/AutoSegment.cpp index 17cf9e39..d34f274d 100644 --- a/anabatic/src/AutoSegment.cpp +++ b/anabatic/src/AutoSegment.cpp @@ -534,6 +534,11 @@ namespace Anabatic { _observers.notify( Destroy ); + AutoContact* contact = getAutoSource(); + if (contact) contact->cacheDetach( this ); + contact = getAutoTarget(); + if (contact) contact->cacheDetach( this ); + Session::unlink( this ); cdebug_tabw(145,-1); }