Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upServer crash after "Invalid float vector dimension range" returned by get_pos() #5135
Comments
This comment has been minimized.
This comment has been minimized.
After further review I noticed that there is a list of messages like this before each crash.
ALL the players that were connected are listed there, and 'left' one second before the crash. I think the call in item_drop that led to the crash is just a symptom of some other mysterious problem. |
This comment has been minimized.
This comment has been minimized.
Note: item_drop/init.lua isn't a builtin or minetest_game thing. |
This comment has been minimized.
This comment has been minimized.
I know, but I'm fairly sure this bug is not in the item_drop mod for two reasons. The first is that I've been using it for years, but the crashes only started after updating minetest to 0.4.15. The second is that I've carefully reviewed its code. My problem is that, if he error messages are a red herring, I'm not sure where to look, and I'm wondering if anyone has experienced similar problems. |
This comment has been minimized.
This comment has been minimized.
Try adding |
This comment has been minimized.
This comment has been minimized.
To catch, and try to handle the errors, I've added the following to item_drop/init.lua
Note that I've restricted x and z travel to +- 4500 in a separate mod. This has been running for about 16 hours now and has produced the following errors so far.
Somehow get_pos() is periodically returning an x position of -2147483.75! |
This comment has been minimized.
This comment has been minimized.
The latest errors.
It is odd that it only seems to effect two players. Could it be a bug in their client? |
This comment has been minimized.
This comment has been minimized.
I get same error, they are very rare but start to appear in 0.4.15-dev
|
This comment has been minimized.
This comment has been minimized.
What happen just before crash
|
This comment has been minimized.
This comment has been minimized.
Interesting...
That looks really strange. I think their clients send something wrong, maybe it’s But the server should not crash anyway; perhaps it needs to sanitize the data got from the network? |
This comment has been minimized.
This comment has been minimized.
I'd like to add an important point. The title of this issue is misleading. This crash happens on my server while players are still online. It is not related to all players leaving. (My server is up-to-date with the Git repository as of a few days ago, so quite a new build.) So, my server crashed again quite recently, this time in another part of the Lua code (since I had added range checks to the code that I previously reported was crashing). However, despite the crash moving to a new location, the basic problem is the same: Interestingly, before this crash happened, the chatlog shows that one of my players was mysteriously and unexpectedly teleported far outside the world boundaries. He complained about it in chat, and apparently one of the components of his position was I really think that |
This comment has been minimized.
This comment has been minimized.
I agree, the title was a poor choice. I'll change it. |
This comment has been minimized.
This comment has been minimized.
@jhcole @BluebirdGreycoat |
Since updating to Minetest 0.4.15-dev-59fdf571 (Linux) 5 days ago (January 24th, 2017) my server has crashed 11 times with the following error.
For reference, the first 10 lines of item_drop/init.lua are as follows:
My best guess is that under the right conditions, player:getpos() is returning invalid positions. I will add a check in item_drop to catch the problem, but there may be a minetest bug here.
Anyone have ideas?