onebone / EconomyS

The economy plugin for PocketMine-MP
GNU General Public License v3.0
144 stars 191 forks source link

Non well-formed numeric value encountered while doing /topmoney #444

Closed CaptainDuck closed 4 years ago

CaptainDuck commented 4 years ago


Error: A non well formed numeric value encountered
File: plugins/EconomyAPI_v3.0.0-SNAPSHOT-4f06e8d0.phar/src/onebone/economyapi/internal/CurrencyReplacer
Line: 32
Type: ErrorException

THIS CRASH WAS CAUSED BY A PLUGIN
BAD PLUGIN: EconomyAPI v3.0.0-SNAPSHOT

Code:
[23] use onebone\economyapi\currency\Currency;
[24] use onebone\economyapi\util\Replacer;
[25] 
[26] class CurrencyReplacer implements Replacer {
[27]    /** @var Currency */
[28]    private $currency;
[29]    /** @var float */
[30]    private $amount;
[31] 
[32]    public function __construct(Currency $currency, float $amount) {
[33]        $this->currency = $currency;
[34]        $this->amount = $amount;
[35]    }
[36] 
[37]    public function getRawText(): string {
[38]        return $this->amount;
[39]    }
[40] 
[41]    public function getText(): string {
[42]        return $this->currency->format($this->amount);

Backtrace:
#0 plugins/EconomyAPI_v3.0.0-SNAPSHOT-4f06e8d0.phar/src/onebone/economyapi/internal/CurrencyReplacer(32): pocketmine\utils\Utils::errorExceptionHandler(integer 8, string[43] A non well formed numeric value encountered, string[124] phar:///home/container/plugins/EconomyAPI_v3.0.0-SNAPSHOT-4f06e8d0.phar/src/oneb, integer 32, array[2])
#1 plugins/EconomyAPI_v3.0.0-SNAPSHOT-4f06e8d0.phar/src/onebone/economyapi/command/TopMoneyCommand(55): onebone\economyapi\internal\CurrencyReplacer->__construct(object onebone\economyapi\currency\CurrencyDollar, string[19] 108725867590.:00000)
#2 plugins/EconomyAPI_v3.0.0-SNAPSHOT-4f06e8d0.phar/src/onebone/economyapi/util/Promise(81): onebone\economyapi\command\TopMoneyCommand->onebone\economyapi\command\{closure}(array[5])
#3 plugins/EconomyAPI_v3.0.0-SNAPSHOT-4f06e8d0.phar/src/onebone/economyapi/util/Promise(58): onebone\economyapi\util\Promise->settle(integer 1, array[5])
#4 plugins/EconomyAPI_v3.0.0-SNAPSHOT-4f06e8d0.phar/src/onebone/economyapi/task/YamlSortTask(55): onebone\economyapi\util\Promise->resolve(array[5])
#5 src/pocketmine/scheduler/AsyncPool(304): onebone\economyapi\task\YamlSortTask->onCompletion(object pocketmine\Server)
#6 src/pocketmine/Server(2384): pocketmine\scheduler\AsyncPool->collectTasks()
#7 src/pocketmine/Server(2143): pocketmine\Server->tick()
#8 src/pocketmine/Server(1990): pocketmine\Server->tickProcessor()
#9 src/pocketmine/Server(1584): pocketmine\Server->start()
#10 src/pocketmine/PocketMine(273): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[16] /home/container/, string[24] /home/container/plugins/)
#11 src/pocketmine/PocketMine(296): pocketmine\server()
#12 (11): require(string[71] phar:///home/container/PocketMine-MP.phar/src/pocketmine/PocketMine.php)

PocketMine-MP version: 3.11.6 [Protocol 389]
Git commit: cb9e79b3985719671bd5cbaa7f665b04a6d33359-dirty
uname -a: Linux 6f061c12-5b23-45fb-a92d-45635b991a8b 3.10.0-957.27.2.el7.x86_64 #1 SMP Mon Jul 29 17:46:05 UTC 2019 x86_64
PHP Version: 7.3.12
Zend version: 3.3.12
OS : Linux, linux```

Default config.yml, happens when I do /topmoney
onebone commented 4 years ago

It seems you have some wrong data entry in your balance file. Do someone in your server has username of "108725867590." or something?

CaptainDuck commented 4 years ago

Nope, that wasn't the problem, it was fixed when the user was paid/given $1. The error didn't happen ever since.