sleyzerzon / soar

Automatically exported from code.google.com/p/soar
1 stars 0 forks source link

Orphaned SML WMEs leak memory #47

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Description From Jonathan Voigt 2009-06-02 13:21:33 (-) [reply]
Consider the following) SML WMEs (with fictional time-tags):

(I2 ^foo F1: 1)
(I2 ^foo F2: 2)
(F1 ^bar F2: 3)
(F2 ^bar F1: 4)

If I2 is deleted (say, on agent destruction), WMEs 1, 2 are deleted fine 
but 3,
4 are not.
------- Comment #1 From Jonathan Voigt 2009-06-02 15:07:56 (-) [reply] ----

---
The input-link gets deleted, references of I2 fall to zero, when that I2 
symbol
gets deleted, all of its children get deleted. Its children are 1 and 2. 1 
gets
deleted, F1's references get decremented by one but does not fall to zero
because of other reference in time tag 4. 2 gets deleted and F2's 
references
get decremented by one but does not fall to zero because of other reference 
in
time tag 3.

Original issue reported on code.google.com by voigtjr@gmail.com on 23 Jul 2009 at 5:12

GoogleCodeExporter commented 8 years ago

Original comment by voigtjr@gmail.com on 23 Jul 2009 at 5:29

GoogleCodeExporter commented 8 years ago

Original comment by voigtjr@gmail.com on 23 Feb 2010 at 7:39

GoogleCodeExporter commented 8 years ago
Opting not to fix this and instead document the DestroyWME function. The WMEs 
are 
cleaned up properly on agent destruction.

Original comment by voigtjr@gmail.com on 26 Feb 2010 at 6:50