menu
#187 socket_bind(): Unable to bind address [98]: Address already in use

Submitted by PocketMine-MP 5.9.1+dev.2040

General information

Version: 5.9.1+dev.2040
Git commit: a5a2b626
Plugin involvement: Direct
Report date: 2024-08-04 14:00:15 +0000 UTC
Server uptime: 0 days 0 hours 0 minutes 1 seconds

System Information

PHP version: 8.2.9
JIT status: Not available
Operating system: linux
System banner: Linux anmine.ru 5.10.0-30-amd64 #1 SMP Debian 5.10.218-1 (2024-06-01) x86_64

Error information

Warning: the prometheus plugin was directly involved in this crash. Please contact the plugin author.
Thread: Main
Message: socket_bind(): Unable to bind address [98]: Address already in use
File: plugins/pm5-prometheus.phar/src/pmexporter/MetricsServer
Line: #42
Type: ErrorException
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
        $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!$socket) {
throw new Exception("Cannot create socket.");
}
$this->socket = $socket;

socket_set_option($this->socket, SOL_SOCKET, SO_REUSEADDR, 1);
socket_set_option($this->socket, SOL_SOCKET, SO_SNDTIMEO, ['sec' => 1, 'usec' => 0]);
socket_set_option($this->socket, SOL_SOCKET, SO_RCVTIMEO, ['sec' => 1, 'usec' => 0]);
if (!socket_bind($this->socket, "0.0.0.0", $port)) {
throw new Exception("Failed to bind to 0.0.0.0:" . $port);
}
socket_set_nonblock($this->socket);
socket_listen($this->socket);

$this->logger->info("Metrics server started on port " . $port);
}

public function shutdown(): void
{
#0 (): pocketmine\errorhandler\ErrorToExceptionHandler::handle(int 2, string[66] socket_bind(): Unable to bind address [98]: Address already in use, string[91] phar:///home/anmine/servers/s8/plugins/pm5-prometheus.phar/src/pmexporter/Metric, int 42)
#1 plugins/pm5-prometheus.phar/src/pmexporter/MetricsServer(42): socket_bind(object Socket#73307, string[7] 0.0.0.0, int 49140)
#2 plugins/pm5-prometheus.phar/src/pmexporter/MetricsLoader(21): pmexporter\MetricsServer->__construct(int 49140, object pocketmine\utils\MainLogger#6, object pocketmine\snooze\SleeperHandlerEntry#73309)
#3 pmsrc/src/plugin/PluginBase(119): pmexporter\MetricsLoader->onEnable()
#4 pmsrc/src/plugin/PluginManager(456): pocketmine\plugin\PluginBase->onEnableStateChange(true)
#5 pmsrc/src/Server(1449): pocketmine\plugin\PluginManager->enablePlugin(object pmexporter\MetricsLoader#43719)
#6 pmsrc/src/Server(1067): pocketmine\Server->enablePlugins(object pocketmine\plugin\PluginEnableOrder#50799)
#7 pmsrc/src/PocketMine(341): pocketmine\Server->__construct(object pocketmine\thread\ThreadSafeClassLoader#3, object pocketmine\utils\MainLogger#6, string[24] /home/anmine/servers/s8/, string[32] /home/anmine/servers/s8/plugins/)
#8 pmsrc/src/PocketMine(364): pocketmine\server()
#9 pmsrc(11): require(string[61] phar:///home/anmine/servers/s8/InCore.phar/src/PocketMine.php)

Loaded Plugins

  • Show

Server Settings

  • Show

Installed Composer Dependencies

Installed PHP Extensions

  • Show