minetest / minetest_game

Minetest Game - A lightweight and well-maintained base for modding [https://github.com/minetest/minetest/]
http://minetest.net/
Other
1.41k stars 567 forks source link

The server crashes when i take an item in the bones:bones block after a player’s death. #3071

Closed d-stephane closed 7 months ago

d-stephane commented 7 months ago

Hello,

The server crashes when i take an item in the bones:bones block after a player’s death. The bug occurs while there is no other mod installed.

Version of minetest :

Minetest 5.8.0-dev-de0036f (Linux)
Using LuaJIT 2.1.0-beta3
BUILD_TYPE=Release
RUN_IN_PLACE=1
USE_CURL=1
STATIC_SHAREDIR="."
STATIC_LOCALEDIR="locale"

mod_storage_backend = postgresql
auth_backend = postgresql
player_backend = postgresql
backend = postgresql

Steps :

  1. kill the player
  2. click on item bones:bones -> the item interface opens
  3. take an item from the bones:bones

-> crash log :

2023-10-31 09:41:32: VERBOSE[Server]: TOSERVER_INVENTORY_ACTION: data=Move 1 nodemeta:-159,4,-188 main 0 current_player main 11
2023-10-31 09:41:32: INFO[Server]: IMoveAction::apply(): moved msom=0 caused=0 count=1 from inv="nodemeta:-159,4,-188" list="main" i=0 to inv="player:Shiva" list="main" i=11
2023-10-31 09:41:32: ACTION[Server]: Shiva takes bones:bones 1 from bones at (-159,4,-188)
terminate called after throwing an instance of 'BaseException'
  what():  InventoryList 'main' is currently in use and cannot be deleted or resized.
Abandon

But if I break the bones:bones block without touching the items in it, the server doesn’t crash

sfan5 commented 7 months ago

This is/was an engine bug: https://github.com/minetest/minetest/issues/13785