LuckPerms

LuckPerms

41.4k Downloads

Connection Timeout Causes Sever Crash

DarkArc opened this issue ยท 1 comments

commented

Description

There's a random crash after several hours that started happening after an update (I'll dig out the old version soon).

Reproduction Steps

Random, server sitting idle for a while.

Expected Behaviour

No crash.

Server Details

git-Paper-168 (MC: 1.18.1) (Implementing API version 1.18.1-R0.1-SNAPSHOT) (Git: dcca6cb)

LuckPerms Version

LuckPerms v5.3.89

Logs and Configs

[22:00:24 WARN]: [Vault] Stable Version: 1.7.3 is out! You are still running version: 1.7.2
[22:00:24 WARN]: [Vault] Update at: https://dev.bukkit.org/projects/vault
[02:05:42 INFO]: Stopping server
[02:05:42 WARN]: [me.lucko.luckperms.lib.hikari.pool.PoolBase] luckperms-hikari - Failed to validate connection me.lucko.luckperms.lib.mariadb.MariaDbConnection@14ce4416 ((conn=2502) Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
[02:05:42 WARN]: [me.lucko.luckperms.lib.hikari.pool.PoolBase] luckperms-hikari - Failed to validate connection me.lucko.luckperms.lib.mariadb.MariaDbConnection@7e2e90ab ((conn=2503) Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
[02:05:42 WARN]: [me.lucko.luckperms.lib.hikari.pool.PoolBase] luckperms-hikari - Failed to validate connection me.lucko.luckperms.lib.mariadb.MariaDbConnection@6057aaec ((conn=2505) Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
[02:05:42 WARN]: [me.lucko.luckperms.lib.hikari.pool.PoolBase] luckperms-hikari - Failed to validate connection me.lucko.luckperms.lib.mariadb.MariaDbConnection@65fbc04 ((conn=2507) Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
[02:05:42 WARN]: [me.lucko.luckperms.lib.hikari.pool.PoolBase] luckperms-hikari - Failed to validate connection me.lucko.luckperms.lib.mariadb.MariaDbConnection@31e327a4 ((conn=2508) Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
[02:05:42 WARN]: [me.lucko.luckperms.lib.hikari.pool.PoolBase] luckperms-hikari - Failed to validate connection me.lucko.luckperms.lib.mariadb.MariaDbConnection@3b4242fb ((conn=2509) Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
[02:05:42 WARN]: [me.lucko.luckperms.lib.hikari.pool.PoolBase] luckperms-hikari - Failed to validate connection me.lucko.luckperms.lib.mariadb.MariaDbConnection@669f8fb5 ((conn=2514) Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
[02:05:42 WARN]: [me.lucko.luckperms.lib.hikari.pool.PoolBase] luckperms-hikari - Failed to validate connection me.lucko.luckperms.lib.mariadb.MariaDbConnection@1d5bb0fe ((conn=2516) Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
[02:05:42 WARN]: [me.lucko.luckperms.lib.hikari.pool.PoolBase] luckperms-hikari - Failed to validate connection me.lucko.luckperms.lib.mariadb.MariaDbConnection@35ad7af6 ((conn=2517) Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
[02:05:42 WARN]: [me.lucko.luckperms.lib.hikari.pool.PoolBase] luckperms-hikari - Failed to validate connection me.lucko.luckperms.lib.mariadb.MariaDbConnection@1cd1a322 ((conn=2518) Connection.setNetworkTimeout cannot be called on a closed connection). Possibly consider using a shorter maxLifetime value.
[02:05:47 WARN]: java.sql.SQLTransientConnectionException: luckperms-hikari - Connection is not available, request timed out after 5000ms.
[02:05:47 WARN]:         at me.lucko.luckperms.lib.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:696)
[02:05:47 WARN]:         at me.lucko.luckperms.lib.hikari.pool.HikariPool.getConnection(HikariPool.java:197)
[02:05:47 WARN]:         at me.lucko.luckperms.lib.hikari.pool.HikariPool.getConnection(HikariPool.java:162)
[02:05:47 WARN]:         at me.lucko.luckperms.lib.hikari.HikariDataSource.getConnection(HikariDataSource.java:100)
[02:05:47 WARN]:         at me.lucko.luckperms.common.storage.implementation.sql.connection.hikari.HikariConnectionFactory.getConnection(HikariConnectionFactory.java:174)
[02:05:47 WARN]:         at me.lucko.luckperms.common.messaging.sql.SqlMessenger.getConnection(SqlMessenger.java:85)
[02:05:47 WARN]:         at me.lucko.luckperms.common.messaging.sql.AbstractSqlMessenger.pollMessages(AbstractSqlMessenger.java:115)
[02:05:47 WARN]:         at me.lucko.luckperms.common.plugin.scheduler.AbstractJavaScheduler$ErrorReportingRunnable.run(AbstractJavaScheduler.java:124)
[02:05:47 WARN]:         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[02:05:47 WARN]:         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[02:05:47 WARN]:         at java.base/java.lang.Thread.run(Thread.java:833)
[02:05:47 WARN]: Caused by: java.sql.SQLSyntaxErrorException: (conn=2518) Connection.setNetworkTimeout cannot be called on a closed connection
[02:05:47 WARN]:         at me.lucko.luckperms.lib.mariadb.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62)
[02:05:47 WARN]:         at me.lucko.luckperms.lib.mariadb.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:171)
[02:05:47 WARN]:         at me.lucko.luckperms.lib.mariadb.MariaDbConnection.setNetworkTimeout(MariaDbConnection.java:1655)
[02:05:47 WARN]:         at me.lucko.luckperms.lib.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:566)
[02:05:47 WARN]:         at me.lucko.luckperms.lib.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173)
[02:05:47 WARN]:         at me.lucko.luckperms.lib.hikari.pool.HikariPool.getConnection(HikariPool.java:186)
[02:05:47 WARN]:         ... 9 more
[02:05:48 WARN]: Caused by: java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=REDACTED)(port=REDACTED)(type=master) : Socket fail to connect to host:REDACTED, port:REDACTED. Connect timed out
[02:05:48 WARN]:         at me.lucko.luckperms.lib.mariadb.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:73)
[02:05:48 WARN]:         at me.lucko.luckperms.lib.mariadb.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:192)
[02:05:48 WARN]:         at me.lucko.luckperms.lib.mariadb.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1392)
[02:05:48 WARN]:         at me.lucko.luckperms.lib.mariadb.internal.util.Utils.retrieveProxy(Utils.java:635)
[02:05:48 WARN]:         at me.lucko.luckperms.lib.mariadb.MariaDbConnection.newConnection(MariaDbConnection.java:150)
[02:05:48 WARN]:         at me.lucko.luckperms.lib.mariadb.MariaDbDataSource.getConnection(MariaDbDataSource.java:302)
[02:05:48 WARN]:         ... 10 more
[02:05:48 WARN]: Caused by: java.sql.SQLNonTransientConnectionException: Socket fail to connect to host:REDACTED, port:REDACTED. Connect timed out
[02:05:48 WARN]:         at me.lucko.luckperms.lib.mariadb.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:73)
[02:05:48 WARN]:         at me.lucko.luckperms.lib.mariadb.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:183)
[02:05:48 WARN]:         at me.lucko.luckperms.lib.mariadb.internal.protocol.AbstractConnectProtocol.createSocket(AbstractConnectProtocol.java:255)
[02:05:48 WARN]:         at me.lucko.luckperms.lib.mariadb.internal.protocol.AbstractConnectProtocol.createConnection(AbstractConnectProtocol.java:519)
[02:05:48 WARN]:         at me.lucko.luckperms.lib.mariadb.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1387)
[02:05:48 WARN]:         ... 13 more
[02:05:48 WARN]: Caused by: java.net.SocketTimeoutException: Connect timed out
[02:05:48 WARN]:         at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546)
[02:05:48 WARN]:         at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597)
[02:05:48 WARN]:         at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
[02:05:48 WARN]:         at java.base/java.net.Socket.connect(Socket.java:633)
[02:05:48 WARN]:         at me.lucko.luckperms.lib.mariadb.internal.protocol.AbstractConnectProtocol.createSocket(AbstractConnectProtocol.java:250)
[02:05:48 WARN]:         ... 15 more
<more of these>

Extra Details

Given the timing, and the server setup, this might be related to automatic rebooting. It's possible this occurs when the database shutsdown faster than the main server.

commented

Given the timing, and the server setup, this might be related to automatic rebooting. It's possible this occurs when the database shutsdown faster than the main server.

Sounds plausible.

Seems to be a driver error, not sure what I can do in LP to fix (https://luckperms.net/wiki/Storage-system-errors)