-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fixing bugs. case 5 runs. hits infinite loop #19
base: main
Are you sure you want to change the base?
Conversation
src/deadend.cc
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
all_fire_context still needs to be defined
src/fd_integration/partial_state.cc
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
allocate reintroduced
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was it removed by me?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sitting on it, removing the assert seems to be the right choice
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you link to where the assert occurs? This in the FD core?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
src/simulator.cc
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't the memory be released?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't it worth keeping this unworking code around for when we re-create the mask?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Updates on fixing Pr2