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

Submitted by PocketMine-MP 5.9.1+dev.2020

General information

Version: 5.9.1+dev.2020
Git commit: 64a686e3
Plugin involvement: Direct
Report date: 2024-03-24 10:45:00 +0000 UTC
Server uptime: 0 days 0 hours 0 minutes 2 seconds

System Information

PHP version: 8.2.9
JIT status: Not available
Operating system: linux
System banner: Linux anmine.ru 5.10.0-27-amd64 #1 SMP Debian 5.10.205-2 (2023-12-31) 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/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[82] /home/anupdate/servers/dev/plugins/pm5-prometheus/src/pmexporter/MetricsServer.p, int 42)
#1 plugins/pm5-prometheus/src/pmexporter/MetricsServer(42): socket_bind(object Socket#78336, string[7] 0.0.0.0, int 40032)
#2 plugins/pm5-prometheus/src/pmexporter/MetricsLoader(21): pmexporter\MetricsServer->__construct(int 40032, object pocketmine\utils\MainLogger#6, object pocketmine\snooze\SleeperHandlerEntry#78334)
#3 pmsrc/src/plugin/PluginBase(119): pmexporter\MetricsLoader->onEnable()
#4 pmsrc/src/plugin/PluginManager(456): pocketmine\plugin\PluginBase->onEnableStateChange(true)
#5 pmsrc/src/Server(1448): pocketmine\plugin\PluginManager->enablePlugin(object pmexporter\MetricsLoader#44050)
#6 pmsrc/src/Server(1066): pocketmine\Server->enablePlugins(object pocketmine\plugin\PluginEnableOrder#51263)
#7 pmsrc/src/PocketMine(341): pocketmine\Server->__construct(object pocketmine\thread\ThreadSafeClassLoader#3, object pocketmine\utils\MainLogger#6, string[27] /home/anupdate/servers/dev/, string[35] /home/anupdate/servers/dev/plugins/)
#8 pmsrc/src/PocketMine(364): pocketmine\server()
#9 pmsrc(11): require(string[64] phar:///home/anupdate/servers/dev/InCore.phar/src/PocketMine.php)

Loaded Plugins

  • Show

Server Settings

  • Show

Installed Composer Dependencies

Installed PHP Extensions

  • Show