Status: Accepted
Owner:
maz...@gmail.com
Labels: Type-Defect Priority-High
New issue 132 by
maz...@gmail.com: Memory corruption when wma and epmem
both active
http://code.google.com/p/soar/issues/detail?id=132
What steps will reproduce the problem?
1. Source the following:
wma --set activation on
epmem --set learning on
epmem --set trigger dc
sp {crash
(state <s> ^superstate nil
^epmem.present-id)
-->
(<s> ^crash now)
}
2. Step until the agent subgoals.
What is the expected output? What do you see instead?
Not crashing. It crashes.
Please use labels and text to provide additional information.
This is probably an issue with wma.cpp not handling refcounts properly. If
you turn memory pools off, it will crash when free memory for a working
memory element in the o-set (something that wma.cpp keeps track of for each
wme).
Note that it will not crash on this example if "now" is an id (<now>)
instead of a constant or if ^crash isn't off the top state or if the
production is o-supported