Skip to content
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

place_tree_tap failure #43

Open
mpatsift opened this issue Nov 22, 2021 · 8 comments
Open

place_tree_tap failure #43

mpatsift opened this issue Nov 22, 2021 · 8 comments

Comments

@mpatsift
Copy link

This looks like #38 but I don't see a way to re-open that ticket.

This failure occurred while running pogo_100_PN/POGO_L00_T01_S01_X0100_U9999_V0_G00001_I0403_N0.json.

`2021-11-22_16:51:35: PAL: [2021-11-22 10:51:35] [16:51:35] [BOT API THREAD/INFO]: [edu.utd.minecraft.mod.polycraft.aitools.BotAPI$1:run:728]: PLACE_TREE_TAP

2021-11-22_16:51:35: PAL: [2021-11-22 10:51:35] [16:51:35] [BOT API THREAD/INFO]: [AGENT]PLACE_TREE_TAP

2021-11-22_16:51:35: PAL: [2021-11-22 10:51:35] [16:51:35] [Client thread/INFO]: [edu.utd.minecraft.mod.polycraft.aitools.BotAPI:onClientTick:643]: PLACE_TREE_TAP

2021-11-22_16:51:35: PAL: [2021-11-22 10:51:35] [16
pal-tournament-2021-11-22-104717-openmind0.log.gz
:51:35] [Client thread/INFO]: Running Command on Client side: edu.utd.minecraft.mod.polycraft.aitools.commands.APICommandPlaceBlock

2021-11-22_16:51:35: PAL: [2021-11-22 10:51:35] [16:51:35] [BOT API THREAD/INFO]: [CLIENT]{"goal":{"goalType":"ITEM","goalAchieved":false,"Distribution":"Uninformed"},"command_result":{"command":"PLACE_TREE_TAP","argument":"","result":"FAIL","message":"Block not placed","stepCost":300.0},"step":70,"gameOver":false}
`

@mpatsift
Copy link
Author

Fyi, next run w no changes to agent or config did not show failure.

@StephenGss
Copy link
Owner

Hi Mike,

It looks like the post-world state is incorrect in this example. So that's a bug.
What appears to be happening is that first you are teleporting to a tree using TP_TO 69,17,56 2
Then right after that happens, the pogoist teleports to the same tree
{"action":"TP_TO","args":"69,17,57","result":"SUCCESS","stepNumber":68},"entityID":133}

At this point the pogoist is between your agent and the tree. The result should be "actor exists where trying to place a block" instead of "block not placed". So I will fix that command response.
I'm not sure we want to change the pogoist's behavior for this. We may need to discuss.

@EricKildebeck
Copy link
Collaborator

Hi Mike,

Regarding the reproducibility of this issue, does the OM agent perform different actions when this occurs or doesn't occur? If the OM agent is performing the same sequence of actions, we would expect the Pogoist to always perform the same action sequence. So that is curious.

If what we think is happening is indeed the case (Pogoist teleporting to occupy the location between you and the tree), then this would be a case that potentially requires spatial reasoning. Obviously we have endeavored to remove spatial reasoning elements for your team. We are open to ideas to do so here as well. Alternatively, if the FAIL response is corrected to say that an Actor is in the way, this is a good example of external actors impacting the task, and the solution would be to find another tree or find a sapling and plant a new tree (because if the Pogoist is there he is almost certainly going to shop the tree down on his next action). Happy to discuss.

@mpatsift
Copy link
Author

Hi Eric and Stephen -

I ran this particular config ten times in a row. In the first six games, OM makes the same initial plan. In the first five games, the plan succeeds w/o incident. In the sixth game, the PLACE_TREE_TAP fails.

The attached files show the pogoist actions reported to OM. Though the pogoist seems to choose the same first TP_TO target every time, its later moves can be different. Eg, in the fourth game, its second target is '65,17,43', which had been its third target in the earlier games.

AND, btw, in the 10th game there are no traders, although all ten games use the same config!

pogoist-actions-deduped.txt
pogoist-actions-raw.txt

@EricKildebeck
Copy link
Collaborator

Hi Mike,

Can you tell me which config/json you used for this test. We want to duplicate the test on our end.

Thank you for those logs, we are looking into the issues.

@mpatsift
Copy link
Author

It's POGO_L00_T01_S01_X0100_U9999_V0_G00001_I0403_N0.json, the second config in the pogo_100_PN directory.

Here's the pal-tournament log, in case its useful:
pal-tournament-2021-12-08-165221-openmind1.log.gz

@mpatsift
Copy link
Author

Still seeing this w Phase3 Polycraft (polycraft-1.5.4-20220929-17.05.45.jar).

In this log there are a couple java.lang.NullPointerException events. The first time (line 8955) PAL recovers and the second time (line 12034) it crashes.

pal-tournament.log.gz

(For future reference, this is our /var/lib/jenkins/workspace/openmind/build-images/code/test/results/pal-tournament-v2-shared-5-5-1-E-2022-10-08-234538-openmind0/pal-tournament.log.gz )

@StephenGss
Copy link
Owner

I think this is fixed in the last push today.
There was an asynchronous race case that could cause a nullpointer when placing blocks.
fix commit: 93eb114

Please let me know if you see this again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants