pmmp / PocketMine-MP

A server software for Minecraft: Bedrock Edition in PHP
https://pmmp.io
GNU Lesser General Public License v3.0
3.28k stars 1.56k forks source link

Packet Processing Error while signing the book #5658

Closed alvin0319 closed 1 year ago

alvin0319 commented 1 year ago

Issue description

Steps to reproduce the issue

  1. Get some book & Quill
  2. Sign the book

OS and versions

Plugins

Crashdump, backtrace or other files

[10:57:34.938] [Server thread/DEBUG]: [NetworkSession: alvin0319] InventoryTransactionPacket: HgAAAwAAAYgIAQAAAABM//8BCgAACQUAcGFnZXMKAgAAAAgJAHBob3RvbmFtZQAACAQAdGV4dAAAAAgJAHBob3
RvbmFtZQAACAQAdGV4dAAAAAAAAAAAAAAAAIoIAQAAAACbAf//AQoAAAgGAGF1dGhvcg4AQXV0aG9yIFVua25vd24DCgBnZW5lcmF0aW9uAAAAAAkFAHBhZ2VzCgIAAAAICQBwaG90b25hbWUAAAgEAHRleHQAAAAICQBwaG90b25hbWUAAA
gEAHRleHQAAAAIBQB0aXRsZQIAZ2EIBAB4dWlkEAAyNTM1NDIwNDMxMDM5ODQ2AAAAAAAAAAAAAwAAiAgBAAAAAEz//wEKAAAJBQBwYWdlcwoCAAAACAkAcGhvdG9uYW1lAAAIBAB0ZXh0AAAACAkAcGhvdG9uYW1lAAAIBAB0ZXh0AAAAAA
AAAAAAAAAAAwGKCAEAAAAAmwH//wEKAAAIBgBhdXRob3IOAEF1dGhvciBVbmtub3duAwoAZ2VuZXJhdGlvbgAAAAAJBQBwYWdlcwoCAAAACAkAcGhvdG9uYW1lAAAIBAB0ZXh0AAAACAkAcGhvdG9uYW1lAAAIBAB0ZXh0AAAACAUAdGl0bGUCAGdhCAQAeHVpZBAAMjUzNTQyMDQzMTAzOTg0NgAAAAAAAAAAAAA=
[10:57:34.938] [Server thread/ERROR]: [NetworkSession: alvin0319] Bad packet: Error processing InventoryTransactionPacket: Expected exactly 2 actions for dropping an item
[10:57:34.939] [Server thread/DEBUG]: [NetworkSession: alvin0319] pocketmine\network\PacketHandlingException: "Error processing InventoryTransactionPacket: Expected exactly 2 actions for dropping an item" (EXCEPTION) in "pmsrc/src/network/PacketHandlingException" at line 33
--- Stack trace ---
  #0 pmsrc/src/network/mcpe/NetworkSession(394): pocketmine\network\PacketHandlingException::wrap(object pocketmine\network\PacketHandlingException#72654, string[43] Error processing InventoryTransactionPacket)
  #1 pmsrc/src/network/mcpe/raklib/RakLibInterface(203): pocketmine\network\mcpe\NetworkSession->handleEncoded(string[168] ..,............>..3r10p.2.$...s1..88..2.K...sS.<......<.p..1s6#.P.6......">.G0..)
  #2 pmsrc/vendor/pocketmine/raklib-ipc/src/RakLibToUserThreadMessageReceiver(40): pocketmine\network\mcpe\raklib\RakLibInterface->onPacketReceive(int 0, string[177] ....8...rz/"u.hP^.b.Z........7xu..>,(..U..q......(H.........1..Bi......;.K...s&.)
  #3 pmsrc/src/network/mcpe/raklib/RakLibInterface(123): raklib\server\ipc\RakLibToUserThreadMessageReceiver->handle(object pocketmine\network\mcpe\raklib\RakLibInterface#41464)   
  #4 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(126): pocketmine\network\mcpe\raklib\RakLibInterface->pocketmine\network\mcpe\raklib\{closure}()
  #5 pmsrc/src/TimeTrackingSleeperHandler(58): pocketmine\snooze\SleeperHandler->processNotifications()
  #6 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(85): pocketmine\TimeTrackingSleeperHandler->processNotifications()
  #7 pmsrc/src/Server(1663): pocketmine\snooze\SleeperHandler->sleepUntil(float 1680087454.9623)
  #8 pmsrc/src/Server(1054): pocketmine\Server->tickProcessor()
  #9 pmsrc/src/PocketMine(339): pocketmine\Server->__construct(object BaseClassLoader#5, object pocketmine\utils\MainLogger#2, string[74] C:\Users\minjae\Desktop\Projects\MCBE\MCBE\PocketMine-MP-Projects\pm5-dev\, string[82] C:\Users\minjae\Desktop\Projects\MCBE\MCBE\PocketMine-MP-Projects\pm5-dev\plugin)
  #10 pmsrc/src/PocketMine(362): pocketmine\server()
  #11 pmsrc(11): require(string[118] phar://C:/Users/minjae/Desktop/Projects/MCBE/MCBE/PocketMine-MP-Projects/pm5-dev)
--- Previous ---
pocketmine\network\PacketHandlingException: "Expected exactly 2 actions for dropping an item" (EXCEPTION) in "pmsrc/src/network/mcpe/handler/InGamePacketHandler" at line 383       
  #0 pmsrc/src/network/mcpe/handler/InGamePacketHandler(333): pocketmine\network\mcpe\handler\InGamePacketHandler->handleNormalTransaction(object pocketmine\network\mcpe\protocol\types\inventory\NormalTransactionData#72679, int 0)
  #1 pmsrc/vendor/pocketmine/bedrock-protocol/src/InventoryTransactionPacket(94): pocketmine\network\mcpe\handler\InGamePacketHandler->handleInventoryTransaction(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket#72691)
  #2 pmsrc/src/network/mcpe/NetworkSession(447): pocketmine\network\mcpe\protocol\InventoryTransactionPacket->handle(object pocketmine\network\mcpe\handler\InGamePacketHandler#115480)
  #3 pmsrc/src/network/mcpe/NetworkSession(391): pocketmine\network\mcpe\NetworkSession->handleDataPacket(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket#72691, string[509] ..............L.........pages........photoname.....text......photoname.....text.)
  #4 pmsrc/src/network/mcpe/raklib/RakLibInterface(203): pocketmine\network\mcpe\NetworkSession->handleEncoded(string[168] ..,............>..3r10p.2.$...s1..88..2.K...sS.<......<.p..1s6#.P.6......">.G0..)
  #5 pmsrc/vendor/pocketmine/raklib-ipc/src/RakLibToUserThreadMessageReceiver(40): pocketmine\network\mcpe\raklib\RakLibInterface->onPacketReceive(int 0, string[177] ....8...rz/"u.hP^.b.Z........7xu..>,(..U..q......(H.........1..Bi......;.K...s&.)
  #6 pmsrc/src/network/mcpe/raklib/RakLibInterface(123): raklib\server\ipc\RakLibToUserThreadMessageReceiver->handle(object pocketmine\network\mcpe\raklib\RakLibInterface#41464)   
  #7 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(126): pocketmine\network\mcpe\raklib\RakLibInterface->pocketmine\network\mcpe\raklib\{closure}()
  #8 pmsrc/src/TimeTrackingSleeperHandler(58): pocketmine\snooze\SleeperHandler->processNotifications()
  #9 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(85): pocketmine\TimeTrackingSleeperHandler->processNotifications()
  #10 pmsrc/src/Server(1663): pocketmine\snooze\SleeperHandler->sleepUntil(float 1680087454.9623)
  #11 pmsrc/src/Server(1054): pocketmine\Server->tickProcessor()
  #12 pmsrc/src/PocketMine(339): pocketmine\Server->__construct(object BaseClassLoader#5, object pocketmine\utils\MainLogger#2, string[74] C:\Users\minjae\Desktop\Projects\MCBE\MCBE\PocketMine-MP-Projects\pm5-dev\, string[82] C:\Users\minjae\Desktop\Projects\MCBE\MCBE\PocketMine-MP-Projects\pm5-dev\plugin)
  #13 pmsrc/src/PocketMine(362): pocketmine\server()
  #14 pmsrc(11): require(string[118] phar://C:/Users/minjae/Desktop/Projects/MCBE/MCBE/PocketMine-MP-Projects/pm5-dev)
--- End of exception information ---
[10:57:34.941] [Server thread/INFO]: alvin0319 left the game
[10:57:34.949] [Server thread/INFO]: [NetworkSession: alvin0319] Session closed: Packet processing error (Error ID: bf9dc0bfc5e9)
dktapps commented 1 year ago

This was already fixed on stable, it'll be merged into major soon.

dktapps commented 1 year ago

Fixed by 811639f2cdfead34cc0412f9fc76584661226ebf, which has now been merged into major-next.