matcracker / BedcoreProtect

BedcoreProtect is a fast, efficient, data logging and anti-griefing tool for PocketMine servers. Rollback and restore any amount of damage.
https://poggit.pmmp.io/p/BedcoreProtect/
GNU General Public License v3.0
43 stars 8 forks source link

Crash when interacting with ItemFrame without item in hand #61

Closed matcracker closed 2 years ago

matcracker commented 2 years ago

Issue description

Crash when interacting with ItemFrame without item in hand

OS and versions

Crashdump, backtrace or other files

https://crash.pmmp.io/view/5663535

#0 plugins/BedcoreProtect.phar/src/matcracker/BedcoreProtect/listeners/PlayerListener(169): matcracker\BedcoreProtect\storage\queries\BlocksQueries->addItemFrameLogByPlayer(object pocketmine\player\Player#114277, object pocketmine\block\ItemFrame#127540, NULL , object matcracker\BedcoreProtect\enums\Action#114474)
#1 pmsrc/src/event/RegisteredListener(75): matcracker\BedcoreProtect\listeners\PlayerListener->trackPlayerInteraction(object pocketmine\event\player\PlayerInteractEvent#135222)
#2 pmsrc/src/event/Event(62): pocketmine\event\RegisteredListener->callEvent(object pocketmine\event\player\PlayerInteractEvent#135222)
#3 pmsrc/src/world/World(1807): pocketmine\event\Event->call()
#4 pmsrc/src/player/Player(1611): pocketmine\world\World->useItemOn(object pocketmine\math\Vector3#135036, object pocketmine\item\ItemBlock#135172, integer 3, object pocketmine\math\Vector3#135221, object pocketmine\player\Player#114277, true)
#5 pmsrc/src/network/mcpe/handler/InGamePacketHandler(360): pocketmine\player\Player->interactBlock(object pocketmine\math\Vector3#135036, integer 3, object pocketmine\math\Vector3#135221)
#6 pmsrc/src/network/mcpe/handler/InGamePacketHandler(223): pocketmine\network\mcpe\handler\InGamePacketHandler->handleUseItemTransaction(object pocketmine\network\mcpe\protocol\types\inventory\UseItemTransactionData#135211)
#7 pmsrc/vendor/pocketmine/bedrock-protocol/src/InventoryTransactionPacket(114): pocketmine\network\mcpe\handler\InGamePacketHandler->handleInventoryTransaction(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket#135096)
#8 pmsrc/src/network/mcpe/NetworkSession(395): pocketmine\network\mcpe\protocol\InventoryTransactionPacket->handle(object pocketmine\network\mcpe\handler\InGamePacketHandler#122085)
#9 pmsrc/src/network/mcpe/NetworkSession(358): pocketmine\network\mcpe\NetworkSession->handleDataPacket(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket#135096, string[40] ..............ek.C...C...C.68?.X.......%)
#10 pmsrc/src/network/mcpe/raklib/RakLibInterface(192): pocketmine\network\mcpe\NetworkSession->handleEncoded(string[195] ..c`b`........a.+#..X...............T..........r.rX.|A(....R..9.....e.\g.3.{..l{)
#11 pmsrc/vendor/pocketmine/raklib-ipc/src/RakLibToUserThreadMessageReceiver(42): pocketmine\network\mcpe\raklib\RakLibInterface->onPacketReceive(integer 1, string[204] .Q.zX..P?['C.=...5X...d.B......2F..._..B......5pT.KRu..).A......#./B.e....nw.)..)
#12 pmsrc/src/network/mcpe/raklib/RakLibInterface(122): raklib\server\ipc\RakLibToUserThreadMessageReceiver->handle(object pocketmine\network\mcpe\raklib\RakLibInterface#24584)
#13 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(123): pocketmine\network\mcpe\raklib\RakLibInterface->pocketmine\network\mcpe\raklib\{closure}()
#14 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(82): pocketmine\snooze\SleeperHandler->processNotifications()
#15 pmsrc/src/Server(1651): pocketmine\snooze\SleeperHandler->sleepUntil(double 1640124007.0771)
#16 pmsrc/src/Server(1038): pocketmine\Server->tickProcessor()
#17 pmsrc/src/PocketMine(303): pocketmine\Server->__construct(object BaseClassLoader#2, object pocketmine\utils\MainLogger#3, string[16] /home/container/, string[24] /home/container/plugins/)
#18 pmsrc/src/PocketMine(326): pocketmine\server()
#19 pmsrc(11): require(string[60] phar:///home/container/PocketMine-MP.phar/src/PocketMine.php)