CortexPE / TeaSpoon

☕ A PLUGIN to Extend PMMP's Functionality without completely changing it.
GNU Affero General Public License v3.0
143 stars 100 forks source link

[Crash Server] (EXCEPTION) in "src/pocketmine/inventory/DoubleChestInventory" at line 132 #325

Closed teracube closed 5 years ago

teracube commented 5 years ago

@CortexPE @larryTheCoder

new Doublechest/Hoppers issue today occured crash server

thanks

https://poggit.pmmp.io/r/44084/TeaSpoon_dev-255.phar https://jenkins.pmmp.io/job/PocketMine-MP/1604/

2018-10-31 [11:47:28] [Server thread/CRITICAL]: TypeError: "Return value of pocketmine\inventory\DoubleChestInventory::getLeftSide() must be an instance of pocketmine\inventory\ChestInventory, null returned" (EXCEPTION) in "src/pocketmine/inventory/DoubleChestInventory" at line 132
2018-10-31 [11:47:28] [Server thread/DEBUG]: #0 TeaSpoon_dev-255.phar/src/CortexPE/tile/Hopper(208): pocketmine\inventory\DoubleChestInventory->getLeftSide()
2018-10-31 [11:47:28] [Server thread/DEBUG]: #1 src/pocketmine/level/Level(756): CortexPE\tile\Hopper->onUpdate()
2018-10-31 [11:47:28] [Server thread/DEBUG]: #2 src/pocketmine/Server(2370): pocketmine\level\Level->doTick(integer 590920)
2018-10-31 [11:47:28] [Server thread/DEBUG]: #3 src/pocketmine/Server(2519): pocketmine\Server->checkTickUpdates(integer 590920, double 1540982848.2815)
2018-10-31 [11:47:28] [Server thread/DEBUG]: #4 src/pocketmine/Server(2265): pocketmine\Server->tick()
2018-10-31 [11:47:28] [Server thread/DEBUG]: #5 src/pocketmine/Server(2135): pocketmine\Server->tickProcessor()
2018-10-31 [11:47:28] [Server thread/DEBUG]: #6 src/pocketmine/Server(1701): pocketmine\Server->start()
2018-10-31 [11:47:28] [Server thread/DEBUG]: #7 src/pocketmine/PocketMine(249): pocketmine\Server->__construct(BaseClassLoader object, pocketmine\utils\MainLogger object, string /home/myserver/, string /home/myserver/plugins/)
2018-10-31 [11:47:28] [Server thread/DEBUG]: #8 /home/myserver/PocketMine-MP.phar(1): require(string phar:///home/myserver/PocketMine-MP.phar/src/pocketmine/PocketMine.php)
2018-10-31 [11:47:28] [Server thread/EMERGENCY]: An unrecoverable error has occurred and the server has crashed. Creating a crash dump
2018-10-31 [11:47:28] [Server thread/EMERGENCY]: Please upload the "/home/myserver/crashdumps/Wed_Oct_31-11.47.28-CET_2018.log" file to the Crash Archive and submit the link to the Bug Reporting page. Give as much info as you can.
PocketMine-MP Crash Dump Wed Oct 31 11:47:28 CET 2018

Error: Return value of pocketmine\inventory\DoubleChestInventory::getLeftSide() must be an instance of pocketmine\inventory\ChestInventory, null returned
File: src/pocketmine/inventory/DoubleChestInventory
Line: 132
Type: TypeError

Code:
[123]           $this->right->broadcastBlockEventPacket(\false);
[124]       }
[125]       parent::onClose($who);
[126]   }
[127] 
[128]   /**
[129]    * @return ChestInventory
[130]    */
[131]   public function getLeftSide() : ChestInventory{
[132]       return $this->left;
[133]   }
[134] 
[135]   /**
[136]    * @return ChestInventory
[137]    */
[138]   public function getRightSide() : ChestInventory{
[139]       return $this->right;
[140]   }
[141] 
[142]   public function invalidate(){

Backtrace:
#0 TeaSpoon_dev-255.phar/src/CortexPE/tile/Hopper(208): pocketmine\inventory\DoubleChestInventory->getLeftSide()
#1 src/pocketmine/level/Level(756): CortexPE\tile\Hopper->onUpdate()
#2 src/pocketmine/Server(2370): pocketmine\level\Level->doTick(integer 590920)
#3 src/pocketmine/Server(2519): pocketmine\Server->checkTickUpdates(integer 590920, double 1540982848.2815)
#4 src/pocketmine/Server(2265): pocketmine\Server->tick()
#5 src/pocketmine/Server(2135): pocketmine\Server->tickProcessor()
#6 src/pocketmine/Server(1701): pocketmine\Server->start()
#7 src/pocketmine/PocketMine(249): pocketmine\Server->__construct(BaseClassLoader object, pocketmine\utils\MainLogger object, string /home/myserver/, string /home/myserver/plugins/)
#8 /home/myserver/PocketMine-MP.phar(1): require(string phar:///home/myserver/PocketMine-MP.phar/src/pocketmine/PocketMine.php)

PocketMine-MP version: 3.3.1 [Protocol 291]
Git commit: a60154e0b775d9b8e99d6417a263bcc447b4b399
uname -a: Linux g1 4.5.0-0.bpo.2-amd64 #1 SMP Debian 4.5.4-1~bpo8+1 (2016-05-13) x86_64
PHP Version: 7.2.9
Zend version: 3.2.0
OS : Linux, linux
SavionLegends commented 5 years ago

Can you enable debugging and tell how we can reproduce this issue

teracube commented 5 years ago

no crash if hoppers are disable on config.yml

CortexPE commented 5 years ago

reee pmmp shits itself with fucked up double chests

CortexPE commented 5 years ago

send the map here to test? if that's ok

(set the spawn coords to a position where the dead double chest tile pair is broken)

CortexPE commented 5 years ago

duplicate of #322