-
Notifications
You must be signed in to change notification settings - Fork 10
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
Segmentation fault running parser to check plan #25
Comments
A SHOP plan, which looks very similar -- I think it's semantically identical -- checks successfully. Is there any chance that pandaPIparser has some expectation about the index values? I note that the index values in the successfully-checked (SHOP) plan are sequential across the plan sequence, and that all the complex tasks in the decomposition part have IDs that are greater than any idea in the plan sequence. Could this cause the difference in results? Thank you! |
I have verified that it's numbering that is the problem. I wrote a (very ugly) perl script to renumber the plan that causes the seg fault and now it validates successfully. Here is the renumbered plan file for comparison, which demonstrates that numbering is the source of the bug. I fear there's some place where the parser isn't checking array bounds or something, and that's why there's a seg fault. |
This is strange. The problem is that I cannot reproduce the error with your first file (in the gist). For me the verifier validates the plans on all three levels of verbosity correctly. Also: the verifier does not make any assumptions on the numbering - and the numbering should (barring any bug) be completely irrelevant. Some of the planners regularly produce very strange numberings (e.g. starting the primitive plan with ID 50000 or the like) and this has never caused any problem. I assume that this is caused by the same problem as issue #23. It seems that for some strange reason in your case, the planner parses something in the file as
One option might be the extra empty line that both the file p01.txt here and the plan in #23 have. I mean the line before the The only cause that I can think of is a strange interaction between / implementation of cin and getline that is different under MacOS than under linux. The relevant code lines are in the file |
For |
Method matchings failed, and then there's a seg fault. Here's an example run and output:
The segmentation fault occurs with all three of the verbosity settings,
-v
,-V
, and-W
.As usual, I have posted the three input files as a gist.
Looking at the most verbose output, I see some oddities like this:
This is quite odd since all the task IDs are greater than zero in this plan. Reading further, it looks like perhaps task zero is the
_top
pseudo-task?According to this, the methods cannot be instantiated and the parser reports there are no matchings for any of its tasks. Here's an example:
This corresponds to
whose definition is:
25 and 26 are:
defined as:
and
Those both look ok to me, although I could be missing something.
The text was updated successfully, but these errors were encountered: