ericgrandt / TotalEconomy

All in one economy plugin for Minecraft.
https://ericgrandt.github.io/TotalEconomy/
MIT License
32 stars 33 forks source link

Exception of the mysql module of the plugin #294

Closed OldKingisdie closed 10 months ago

OldKingisdie commented 6 years ago

Sponge Version: spongeforge-1.12.2-2555-7.1.0-BETA-2857 Forge Version: forge-1.12.2-14.23.1.2555 Total Economy Version: TotalEconomy-1.8.1

Description of issue

I will not be able to use any of the functions of the TotalEconomy when I use poreRT https://github.com/MCHanxi/PoreRT

Console errors

[13:39:27] [Server thread/INFO] [STDERR]: [com.erigitic.sql.SqlQuery:recordExists:104]: java.sql.SQLException: Operation not allowed after ResultSet closed [13:39:27] [Server thread/INFO] [STDERR]: [com.erigitic.sql.SqlQuery:recordExists:104]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957) [13:39:27] [Server thread/INFO] [STDERR]: [com.erigitic.sql.SqlQuery:recordExists:104]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:896) [13:39:27] [Server thread/INFO] [STDERR]: [com.erigitic.sql.SqlQuery:recordExists:104]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:885) [13:39:27] [Server thread/INFO] [STDERR]: [com.erigitic.sql.SqlQuery:recordExists:104]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860) [13:39:27] [Server thread/INFO] [STDERR]: [com.erigitic.sql.SqlQuery:recordExists:104]: at com.mysql.jdbc.ResultSetImpl.checkClosed(ResultSetImpl.java:743) [13:39:27] [Server thread/INFO] [STDERR]: [com.erigitic.sql.SqlQuery:recordExists:104]: at com.mysql.jdbc.ResultSetImpl.isBeforeFirst(ResultSetImpl.java:6135) [13:39:27] [Server thread/INFO] [STDERR]: [com.erigitic.sql.SqlQuery:recordExists:104]: at com.zaxxer.hikari.pool.HikariProxyResultSet.isBeforeFirst(HikariProxyResultSet.java) [13:39:27] [Server thread/INFO] [STDERR]: [com.erigitic.sql.SqlQuery:recordExists:104]: at com.erigitic.sql.SqlQuery.recordExists(SqlQuery.java:100) [13:39:27] [Server thread/INFO] [STDERR]: [com.erigitic.sql.SqlQuery:recordExists:104]: at com.erigitic.config.AccountManager.hasAccount(AccountManager.java:278) [13:39:27] [Server thread/INFO] [STDERR]: [com.erigitic.sql.SqlQuery:recordExists:104]: at com.erigitic.config.AccountManager.getOrCreateAccount(AccountManager.java:215) [13:39:27] [Server thread/INFO] [STDERR]: [com.erigitic.sql.SqlQuery:recordExists:104]: at com.erigitic.main.TotalEconomy.onPlayerJoin(TotalEconomy.java:233)

Steps to reproduce

Add TotalEconomy

Add poreRT

Use mysql in TotalEconomy config

database { enable=true password="root" url="mysql://localhost:3306/test" user="root" }

- Start the server

A player enter the server

Console errors

devthedevel commented 5 years ago

Yeah I'm getting this as well. Although I'm using postgresql and not mysql. Any ETA on the fix?

MarkL4YG commented 5 years ago

I do not know how this came to be left alone but I'll try to help now 😅 Can you elaborate on what poreRT actually is and does? Because, the documentation of the linked repository reads not that straight forward.

This is a continuation of Pore to add more features and update it for 1.10 (and beyond hopefully).

Also sounds like 1.12.2 would not be supported - unless the maintainer forgot to update the readMe 😅

Also, @devthedevel could you provide the general information of your server and link your logs for a more recent look on what might be happening?

devthedevel commented 5 years ago

Minecraft Version: 1.12.2 Forge version: 7.1.5-2768 SpongeForge version: 14.23.5.2768 TotalEconomy version: 1.8.1

I'm not using poreRT. I just noticed that I'm getting very similar logs to above. Here's a gist. I broke down the logs in separate blocks: server startup, random connection leaking, user joining, server crash. Let me know if you need anything else!

MarkL4YG commented 5 years ago

Can you test whether or not your setup works with MySQL? It might be due to differences in the two DBMS and the DDL being built for MySQL.

devthedevel commented 5 years ago

I just tried it and got a different error; Sponge couldn't even initialize the plugin

MarkL4YG commented 5 years ago

Can you please attach your full server log? 🤔 This happens when the plugin initialization failed previously.

devthedevel commented 5 years ago

Sure, I probably should have done that. Here it is. I just noticed that the plugin failed to connect with 'root'@'172.17.0.1'..... my permissions are setup for 'root'@'%' and I can connect with other plugins and my DB tool. I tried to create 'root'@'172.17.0.1' and use that in the config but I got the same error.

The more I think about it, the more I think it might be mySQL settings :thinking:

MarkL4YG commented 5 years ago

By default, root login with password is disabled in most MySQL/MariaDB environments. Did you check for that? In that case, just create a non-root user and grant the required access.

devthedevel commented 5 years ago

I did. I don't understand how another plugin can successfully use the same credentials. I tried creating another user on '%' and gave it superuser, but still wouldn't work.

MarkL4YG commented 5 years ago

I just noticed your log shows TE not using the password to connect (using password: NO) do you have correctly set the database credentials in your plugin configuration. Here is the code that loads your credentials, for reference.