fixing bugs. case 5 runs. hits infinite loop#19
fixing bugs. case 5 runs. hits infinite loop#19connoralittle wants to merge 33 commits intoQuMuLab:mainfrom
Conversation
There was a problem hiding this comment.
all_fire_context still needs to be defined
There was a problem hiding this comment.
allocate reintroduced
There was a problem hiding this comment.
It was. It used to be allocating an array but the data structure is a vector now. I assume that is partly why
There was a problem hiding this comment.
Task changed to root task. Comparison between nodes asserts the tasks must be the same. Unsure which change would need to be made
There was a problem hiding this comment.
Sitting on it, removing the assert seems to be the right choice
There was a problem hiding this comment.
Can you link to where the assert occurs? This in the FD core?
There was a problem hiding this comment.
task_proxy.h line 174. The assert ensures factproxies only compare when they have the same task. The taskproxy produces operators with facts from one task and the lazy search algorithm produces facts with another, making them incomperable.
There was a problem hiding this comment.
Operators were being overwritten. Temporary fix is to assign them to a new pointer.
| void _allocate(int size) { | ||
| vars.reserve(size); | ||
| } | ||
| void _deallocate() {} |
There was a problem hiding this comment.
Shouldn't the memory be released?
There was a problem hiding this comment.
I may be wrong, but I believe the C++ vector should automatically deallocate everything when it goes out of scope. Looking it up reserve doesn't seem to require a free method
| // PRP.general.conditional_mask[nondet_index]->push_back(cond.var); | ||
| // } | ||
| // } | ||
| // } |
There was a problem hiding this comment.
Isn't it worth keeping this unworking code around for when we re-create the mask?
There was a problem hiding this comment.
I still have that code in a local repository need be. I removed it to clean up the code. Conditional mask is put in the same places but I don't know if it has been tested yet.
|
One change that I found but hasn't been pushed yet: |
…oth as an ordinal and as an index, and by setting it to represent both it seems to fix several bugs down the line. C++ never threw an index out of bounds exception, so it wa hard to deduce
|
A quick update as to the next step. Case 5 is failing on retries as the popped node already satisfies the goal state and so returns an empty plan. Again cpp does not tell me I am getting index out of bounds errors and instead allows access to garbage memory. The goal is to identify what is causing this behaviour. |
For the work I do on top of your branch...
Fixing some memory issues caught by memcache.
Couple more memory optimizations.
Reverting memleak fix.
…ination with core changes
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
Updates on fixing Pr2