On Tue, Sep 30, 2008 at 10:36 AM, Linas Vepstas <[EMAIL PROTECTED]> wrote: > Now, the sentences being deleted will show up in this > list of HandleEntries (if the word appeared in that > sentence). If its HandleEntry is deleted in one thread > while another thread is innocently dereferencing it ... > Ka Booom!
Well, the HandleEntry itself shouldn't be deleted since that is the callers responsibility. However, the Atom referenced by the contained handle might be. That's where the TLB should check whether it's a valid atom. At the moment it just checks whether the pointer seems like it's in a valid address range, rather than checking if the atom still exists. We need this check because we really can't guarantee Handles to remote atoms will remain current (thinking ahead to a distributed AtomSpace). If an Atom is forgotten on one instance, I don't think it's scalable for it to then tell all other instances that handle x has been deleted, expecting the nodes to remove all references in their own AtomSpace to that Handle. Obviously, if an instance attempts to grab x from the remote server and finds it invalid, then it should update/delete whatever link was used to get there This also goes for retrieving local atoms that are not in memory... I think that MindAgents should be able to deal with not getting access to Handles. They can always request that more effort be put into finding the Handles if they are really necessary (going in order from local memory, local disk, remote, do inference to find the TV of a new equivalent atom - although that last might be intermediary depending on the perceived distance to inferring the TV). I remember some discussion about invalid handles for Novamente. Can anyone remember the details or if anything was written on this topic? (Whether the decision was to allow or disallow them...) J _______________________________________________ Mailing list: https://launchpad.net/~opencog-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~opencog-dev More help : https://help.launchpad.net/ListHelp

