From 4aab0565c0510f97711bd6f2fa8a2ca4e4189b2c Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Mon, 27 Dec 2021 18:11:55 +0000 Subject: [PATCH] ChunkCache: fixed corner case in cache restart on AsyncTask error the cache may have been destroyed since the task inception, leading to an exception being thrown. --- src/network/mcpe/cache/ChunkCache.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/network/mcpe/cache/ChunkCache.php b/src/network/mcpe/cache/ChunkCache.php index bf0ee4419..1eb02a118 100644 --- a/src/network/mcpe/cache/ChunkCache.php +++ b/src/network/mcpe/cache/ChunkCache.php @@ -128,10 +128,12 @@ class ChunkCache implements ChunkListener{ $chunk, $this->caches[$chunkHash], $this->compressor, - function() use ($chunkX, $chunkZ) : void{ + function() use ($chunkHash, $chunkX, $chunkZ) : void{ $this->world->getLogger()->error("Failed preparing chunk $chunkX $chunkZ, retrying"); - $this->restartPendingRequest($chunkX, $chunkZ); + if(isset($this->caches[$chunkHash])){ + $this->restartPendingRequest($chunkX, $chunkZ); + } } ) );