#2 Unable to remove

已关闭
kizeren7 月之前创建 · 19 条评论
kizeren 评论于 7 月之前

After last commit, we are no longer able to remove the asrs controller. Please remove lifts and cells first. There are none.

After last commit, we are no longer able to remove the asrs controller. Please remove lifts and cells first. There are none.
NathanS21 在代码提交 7 月之前 中引用了该工单
NathanS21 评论于 7 月之前
所有者

That's my fault. I think I just pushed some changes that should fix the issue. If not I'll add a button to the formspec that will remove the node as long as there is no inventory.

That's my fault. I think I just pushed some changes that should fix the issue. If not I'll add a button to the formspec that will remove the node as long as there is no inventory.
kizeren 评论于 7 月之前
发布者

Before I update, I ran into this. 2023-10-23 18:44:12: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'asrs' in callback node_on_dig(): /home/mcbride/minetest/bin/../mods/asrs/nodes.lua:56: attempt to index a nil value 2023-10-23 18:44:12: ERROR[Main]: stack traceback: 2023-10-23 18:44:12: ERROR[Main]: /home/mcbride/minetest/bin/../mods/asrs/nodes.lua:56: in function 'can_dig' 2023-10-23 18:44:12: ERROR[Main]: /home/mcbride/minetest/bin/../builtin/game/item.lua:466: in function

Before I update, I ran into this. 2023-10-23 18:44:12: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'asrs' in callback node_on_dig(): /home/mcbride/minetest/bin/../mods/asrs/nodes.lua:56: attempt to index a nil value 2023-10-23 18:44:12: ERROR[Main]: stack traceback: 2023-10-23 18:44:12: ERROR[Main]: /home/mcbride/minetest/bin/../mods/asrs/nodes.lua:56: in function 'can_dig' 2023-10-23 18:44:12: ERROR[Main]: /home/mcbride/minetest/bin/../builtin/game/item.lua:466: in function </home/mcbride/minetest/bin/../builtin/game/item.lua:460>
kizeren 评论于 7 月之前
发布者

2023-10-23 18:47:14: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'default' in callback item_OnPlace(): /home/mcbride/minetest/bin/../mods/asrs/functions.lua:21: attempt to index local 'sys_data' (a nil value) 2023-10-23 18:47:14: ERROR[Main]: stack traceback: 2023-10-23 18:47:14: ERROR[Main]: /home/mcbride/minetest/bin/../mods/asrs/functions.lua:21: in function 'update_inventory' 2023-10-23 18:47:14: ERROR[Main]: /home/mcbride/minetest/bin/../mods/asrs/nodes.lua:39: in function 'on_rightclick' 2023-10-23 18:47:14: ERROR[Main]: /home/mcbride/minetest/bin/../builtin/game/item.lua:313: in function

2023-10-23 18:47:14: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'default' in callback item_OnPlace(): /home/mcbride/minetest/bin/../mods/asrs/functions.lua:21: attempt to index local 'sys_data' (a nil value) 2023-10-23 18:47:14: ERROR[Main]: stack traceback: 2023-10-23 18:47:14: ERROR[Main]: /home/mcbride/minetest/bin/../mods/asrs/functions.lua:21: in function 'update_inventory' 2023-10-23 18:47:14: ERROR[Main]: /home/mcbride/minetest/bin/../mods/asrs/nodes.lua:39: in function 'on_rightclick' 2023-10-23 18:47:14: ERROR[Main]: /home/mcbride/minetest/bin/../builtin/game/item.lua:313: in function </home/mcbride/minetest/bin/../builtin/game/item.lua:306>
kizeren 评论于 7 月之前
发布者

Completely forgot to give information. We are on 5.8.0-dev build.

Completely forgot to give information. We are on 5.8.0-dev build.
NathanS21 评论于 7 月之前
所有者

I think I know what the issue is. Early versions of the mod used a different backend, and when I changed it over I didn't retain backwards compatibility, as the old structure was awful. I'll add a button that will let you remove the node and bypass all the checks that are throwing the errors.

I think I know what the issue is. Early versions of the mod used a different backend, and when I changed it over I didn't retain backwards compatibility, as the old structure was awful. I'll add a button that will let you remove the node and bypass all the checks that are throwing the errors.
NathanS21 评论于 7 月之前
所有者

I just added a button in the settings tab which will let you remove a system. You will loose any inventory in the system, but the controller node will be added to your inventory or dropped if you don't have inventory space.

I just added a button in the settings tab which will let you remove a system. You will loose any inventory in the system, but the controller node will be added to your inventory or dropped if you don't have inventory space.
kizeren 评论于 7 月之前
发布者

Ok. Kind of tired this evening. I will give it a go on the server in the morning time.

Ok. Kind of tired this evening. I will give it a go on the server in the morning time.
NathanS21 评论于 7 月之前
所有者

You're running this on a server. 0.o I haven't done that much testing, please let me know of any issues, even if they don't crash the server. I've been quite busy IRL this week, so I wasn't able to push fixes as quickly as I would have liked.

You're running this on a server. 0.o I haven't done that much testing, please let me know of any issues, even if they don't crash the server. I've been quite busy IRL this week, so I wasn't able to push fixes as quickly as I would have liked.
kizeren 评论于 7 月之前
发布者

scratch that.

2023-10-24 18:19:53: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'farming' in callback item_OnPlace(): /home/mcbride/minetest/bin/../mods/asrs/functions.lua:21: attempt to index local 'sys_data' (a nil value) 2023-10-24 18:19:53: ERROR[Main]: stack traceback: 2023-10-24 18:19:53: ERROR[Main]: /home/mcbride/minetest/bin/../mods/asrs/functions.lua:21: in function 'update_inventory' 2023-10-24 18:19:53: ERROR[Main]: /home/mcbride/minetest/bin/../mods/asrs/nodes.lua:39: in function 'on_rightclick' 2023-10-24 18:19:53: ERROR[Main]: /home/mcbride/minetest/bin/../builtin/game/item.lua:313: in function

scratch that. 2023-10-24 18:19:53: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'farming' in callback item_OnPlace(): /home/mcbride/minetest/bin/../mods/asrs/functions.lua:21: attempt to index local 'sys_data' (a nil value) 2023-10-24 18:19:53: ERROR[Main]: stack traceback: 2023-10-24 18:19:53: ERROR[Main]: /home/mcbride/minetest/bin/../mods/asrs/functions.lua:21: in function 'update_inventory' 2023-10-24 18:19:53: ERROR[Main]: /home/mcbride/minetest/bin/../mods/asrs/nodes.lua:39: in function 'on_rightclick' 2023-10-24 18:19:53: ERROR[Main]: /home/mcbride/minetest/bin/../builtin/game/item.lua:313: in function </home/mcbride/minetest/bin/../builtin/game/item.lua:306>
kizeren 评论于 7 月之前
发布者

And on left click

2023-10-24 18:24:12: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'asrs' in callback node_on_dig(): /home/mcbride/minetest/bin/../mods/asrs/nodes.lua:154: attempt to index a nil value 2023-10-24 18:24:12: ERROR[Main]: stack traceback: 2023-10-24 18:24:12: ERROR[Main]: /home/mcbride/minetest/bin/../mods/asrs/nodes.lua:154: in function 'can_dig' 2023-10-24 18:24:12: ERROR[Main]: /home/mcbride/minetest/bin/../builtin/game/item.lua:466: in function

And on left click 2023-10-24 18:24:12: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'asrs' in callback node_on_dig(): /home/mcbride/minetest/bin/../mods/asrs/nodes.lua:154: attempt to index a nil value 2023-10-24 18:24:12: ERROR[Main]: stack traceback: 2023-10-24 18:24:12: ERROR[Main]: /home/mcbride/minetest/bin/../mods/asrs/nodes.lua:154: in function 'can_dig' 2023-10-24 18:24:12: ERROR[Main]: /home/mcbride/minetest/bin/../builtin/game/item.lua:466: in function </home/mcbride/minetest/bin/../builtin/game/item.lua:460>
NathanS21 评论于 7 月之前
所有者

Could you check if there is a asrs_systems file in the world directory. It looks like this crash is from the node trying to reference backend data that doesn't exist. I can create a fix for it, but any inventory in the system will be lost.

Could you check if there is a asrs_systems file in the world directory. It looks like this crash is from the node trying to reference backend data that doesn't exist. I can create a fix for it, but any inventory in the system will be lost.
NathanS21 评论于 7 月之前
所有者

Another option, if there is no inventory in the system would be to remove it with world-edit or similar. The trouble seems to be that metadata didn't have the system_id written, and that ID is required for all the functions to check the inventory size and connected nodes. I found some old systems I placed in my test world and I'm having similar errors trying to remove them as features were changed after they were placed. I'm trying to work my way through to make them diggable without crashing the game, but I won't be able to do anything about lost inventory.

Another option, if there is no inventory in the system would be to remove it with world-edit or similar. The trouble seems to be that metadata didn't have the system_id written, and that ID is required for all the functions to check the inventory size and connected nodes. I found some old systems I placed in my test world and I'm having similar errors trying to remove them as features were changed after they were placed. I'm trying to work my way through to make them diggable without crashing the game, but I won't be able to do anything about lost inventory.
NathanS21 评论于 7 月之前
所有者

I just pushed some changes that locally prevented crashes when digging old controllers. I'm not sure if it will help you, but it shouldn't make anything worse.

I just pushed some changes that locally prevented crashes when digging old controllers. I'm not sure if it will help you, but it shouldn't make anything worse.
kizeren 评论于 7 月之前
发布者

I am testing on a server now. its public and just for asrs can't seem to get it to crash and will move over to primary server and see.

I am testing on a server now. its public and just for asrs can't seem to get it to crash and will move over to primary server and see.
NathanS21 评论于 7 月之前
所有者

Any newly placed controllers/systems should work without troubles. It's just the ones from earlier code that are having problems, as they didn't get data assigned when they were made which the code now expects.

Any newly placed controllers/systems should work without troubles. It's just the ones from earlier code that are having problems, as they didn't get data assigned when they were made which the code now expects.
kizeren 评论于 7 月之前
发布者

Ok old controller through this. But on test world seems fine. 2023-10-24 19:31:02: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'asrs' in callback on_playerReceiveFields(): /home/mcbride/minetest/bin/../mods/asrs/formspecs.lua:135: attempt to index local 'sys_data' (a nil value) 2023-10-24 19:31:02: ERROR[Main]: stack traceback: 2023-10-24 19:31:02: ERROR[Main]: /home/mcbride/minetest/bin/../mods/asrs/formspecs.lua:135: in function

2023-10-24 19:31:02: ERROR[Main]: /home/mcbride/minetest/bin/../builtin/common/register.lua:26: in function

Ok old controller through this. But on test world seems fine. 2023-10-24 19:31:02: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'asrs' in callback on_playerReceiveFields(): /home/mcbride/minetest/bin/../mods/asrs/formspecs.lua:135: attempt to index local 'sys_data' (a nil value) 2023-10-24 19:31:02: ERROR[Main]: stack traceback: 2023-10-24 19:31:02: ERROR[Main]: /home/mcbride/minetest/bin/../mods/asrs/formspecs.lua:135: in function </home/mcbride/minetest/bin/../mods/asrs/formspecs.lua:94> 2023-10-24 19:31:02: ERROR[Main]: /home/mcbride/minetest/bin/../builtin/common/register.lua:26: in function </home/mcbride/minetest/bin/../builtin/common/register.lua:12>
NathanS21 评论于 7 月之前
所有者

I can see the problem there, but sadly have no good way to fix it. The next/last page buttons check for the maximum inventory to display the contents. Outside of writing two functions to check the inventory count, one of which would only be used for older systems there is no good solution. The best option would be to remove all the old controllers and replace them. Unfortunately this requires removing all the inventory, storage cells, and lift nodes.

I can see the problem there, but sadly have no good way to fix it. The next/last page buttons check for the maximum inventory to display the contents. Outside of writing two functions to check the inventory count, one of which would only be used for older systems there is no good solution. The best option would be to remove all the old controllers and replace them. Unfortunately this requires removing all the inventory, storage cells, and lift nodes.
kizeren 评论于 7 月之前
发布者

Okay after making the wife made for kicking her lol. We removed all the existing ASRS machines and readded the mod. All seems to be working now.

Okay after making the wife made for kicking her lol. We removed all the existing ASRS machines and readded the mod. All seems to be working now.
NathanS21 评论于 7 月之前
所有者

Beautiful. I'll close this for now, but if you have any other issues feel free to open a new issue.

Beautiful. I'll close this for now, but if you have any other issues feel free to open a new issue.
登录 并参与到对话中。
未选择标签
未选择里程碑
未指派成员
2 名参与者
正在加载...
取消
保存
这个人很懒,什么都没留下。