Warning: a plugin was indirectly involved in this crash. This may be a false positive. Please contact the plugin author before opening a bug ticket.
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
* new contents.
*
* @param resource|null $context Context to pass to file_put_contents
*
* @throws \RuntimeException if the operation failed for any reason
*/
public static function safeFilePutContents(string $fileName, string $contents, int $flags = 0, $context = null) : void{
$directory = dirname($fileName);
if(!is_dir($directory)){
throw new \RuntimeException("Target directory path does not exist or is not a directory");
}
if(is_dir($fileName)){
throw new \RuntimeException("Target file path already exists and is not a file");
}
$counter = 0;
do{
//we don't care about overwriting any preexisting tmpfile but we can't write if a directory is already here
$temporaryFileName = $fileName . ".$counter.tmp";
$counter++;
#0 pmsrc/src/utils/Config(240): pocketmine\utils\Filesystem::safeFilePutContents(string[51] /home/anupdate/engine/settings/configs/database.yml, string[11] --- [].....)
#1 pmsrc/src/utils/Config(163): pocketmine\utils\Config->save()
#2 pmsrc/src/utils/Config(118): pocketmine\utils\Config->load(string[51] /home/anupdate/engine/settings/configs/database.yml, int 2, array[0])
#3 /home/anupdate/modules/dev/core/GoBase/src/corndan/GoBase/MySQL(34): pocketmine\utils\Config->__construct(string[51] /home/anupdate/engine/settings/configs/database.yml, int 2)
#4 /home/anupdate/modules/dev/core/GoBase/src/corndan/GoBase/MySQL(45): corndan\GoBase\MySQL::connect()
#5 /home/anupdate/modules/dev/core/GoBase/src/corndan/GoBase/BaseLoader(19): corndan\GoBase\MySQL::init()
#6 pmsrc/src/plugin/PluginBase(77): corndan\GoBase\BaseLoader->onLoad()
#7 pmsrc/src/plugin/PluginManager(225): pocketmine\plugin\PluginBase->__construct(object pocketmine\plugin\FolderPluginLoader#62573, object pocketmine\Server#13, object pocketmine\plugin\PluginDescription#70979, string[45] /home/anupdate/servers/s99/plugin_data/GoBase, string[38] /home/anupdate/modules/dev/core/GoBase, object pocketmine\plugin\DiskResourceProvider#70980)
#8 pmsrc/src/plugin/PluginManager(377): pocketmine\plugin\PluginManager->internalLoadPlugin(string[38] /home/anupdate/modules/dev/core/GoBase, object pocketmine\plugin\FolderPluginLoader#62573, object pocketmine\plugin\PluginDescription#70979)
#9 plugins/Kernel/src/module/ModuleLoader(70): pocketmine\plugin\PluginManager->loadPlugins(string[32] /home/anupdate/modules/dev/core/, int 0)
#10 plugins/Kernel/src/bootstrap/KernelBootstrap(126): phpmc\module\ModuleLoader::load(object phpmc\inversify\IoCContainer#70961, string[28] /home/anupdate/settings/dev/, string[68] /home/anupdate/modules/dev/core/;/home/anupdate/modules/dev/servers/)
#11 pmsrc/src/plugin/PluginBase(119): phpmc\bootstrap\KernelBootstrap->onEnable()
#12 pmsrc/src/plugin/PluginManager(463): pocketmine\plugin\PluginBase->onEnableStateChange(true)
#13 pmsrc/src/Server(1507): pocketmine\plugin\PluginManager->enablePlugin(object phpmc\bootstrap\KernelBootstrap#62542)
#14 pmsrc/src/Server(1124): pocketmine\Server->enablePlugins(object pocketmine\plugin\PluginEnableOrder#62548)
#15 pmsrc/src/PocketMine(360): pocketmine\Server->__construct(object pocketmine\thread\ThreadSafeClassLoader#2, object pocketmine\utils\MainLogger#6, string[27] /home/anupdate/servers/s99/, string[35] /home/anupdate/servers/s99/plugins/)
#16 pmsrc/src/PocketMine(383): pocketmine\server()
#17 pmsrc(170): require(string[72] phar:///tmp/PocketMine-MP-phar-cache.0/PMMPbqa2LL.tar/src/PocketMine.php)