Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GameModeInventories Crash Report #16

Open
kathfishing opened this issue Mar 8, 2022 · 20 comments
Open

GameModeInventories Crash Report #16

kathfishing opened this issue Mar 8, 2022 · 20 comments

Comments

@kathfishing
Copy link

Hi there - Our server has crashed 17 times in the past 3 days to what we believe is an issue with GameModeInventories based on every crash report. We are not receiving any console errors and are having a hard time figuring out the cause of this.

GameModeInventories Server Crash_.zip

If someone could please take a look and try to help us determine the cause and how to fix this, we would greatly appreciate it. We are dependent upon GameModeInventories for a very important aspect of our server.

We are currently running 1.18.1 with the latest version of GameModeInventories.

Thank you so much for your help!

@eccentricdevotion
Copy link
Owner

There is nothing in the zip file except a .code-workspace file that contains no relevant information

@kathfishing
Copy link
Author

There is nothing in the zip file except a .code-workspace file that contains no relevant information

Oh my word - sorry about that!

crash-2022-03-08_05.30.09-server.txt

@eccentricdevotion
Copy link
Owner

OutOfMemoryError

How big is your GMI.db database? Looks like there are millions of blocks recorded as I presume you are using the plugin as some sort of creative gamemode blocker and have track_creative_place enabled. While the plugin has this function, it was only really designed as an inventory management tool - looks like the load is now too big for the server to handle.

Attach/link to database file?

@kathfishing
Copy link
Author

OutOfMemoryError

How big is your GMI.db database? Looks like there are millions of blocks recorded as I presume you are using the plugin as some sort of creative gamemode blocker and have track_creative_place enabled. While the plugin has this function, it was only really designed as an inventory management tool - looks like the load is now too big for the server to handle.

Attach/link to database file?

Yeah, we are using it for a creative gamemode within a survival eco server and do have 'track_creative_place' enabled. However, it looks like we had it set to sqlite instead of mysql.. could that be the issue?
https://i.imgur.com/ObEACuN.png

Our GMI.db file is 2.75mb.
GMI.zip

@eccentricdevotion
Copy link
Owner

The database doesn't look so big, there are only 15,000 block records - I would have thought the server could handle that fine, especially as the plugin only loads blocks for loaded chunks as necessary.

Yes, I would try switching to MySQL (on a backup test server first), though you will need to convert your sqlite database over.

@kathfishing
Copy link
Author

The database doesn't look so big, there are only 15,000 block records - I would have thought the server could handle that fine, especially as the plugin only loads blocks for loaded chunks as necessary.

Yes, I would try switching to MySQL (on a backup test server first), though you will need to convert your sqlite database over.

Ok, thanks, I will be in touch after we test that out and figure out how to convert the database to mysql. Thanks for your help!

@GroundedJDU
Copy link

crash-2022-04-05_22.40.33-server.txt

Hello.. we switched to mySQL database and everything was working fine until yesterday when we started losing memory again. We didnt have a lot of players using gamemode creative so i dont think the database is so big that the server cant handle it.

I attached the latest crash report and our config.. if you could check them out that would be great.
Thanks.

Config.txt

@eccentricdevotion
Copy link
Owner

Hikari connection pool can't get a connection to MySQL

@GroundedJDU
Copy link

I dont really know what Hikari connection pool is.. and is there a fix for our issue? do we just not use mysql for gamemode inventories?

@eccentricdevotion
Copy link
Owner

You should be able to use MySQL for GMI, I'm not sure what your issue is, but it looks like the MySQL server is not responding? Do you have any other plugins that use MySQL?

@GroundedJDU
Copy link

Yeah, we have a bunch and they all work fine.

@eccentricdevotion
Copy link
Owner

Try lowering your connection pool. size in the GMI config:

storage:
  mysql:
    pool_size: 5

The error in the crash report is references Hikari connection pool a third party library that a lot of plugins use to connect to MySQL, as such it is not my code so there is little/nothing I can do to change it.

I'll keep looking into it.

@eccentricdevotion
Copy link
Owner

If the pool_size doesn't work at 5 try going the other way and making it larger pool_size: 100 for example

@eccentricdevotion
Copy link
Owner

Could also try the latest build...
http://tardisjenkins.duckdns.org:8080/job/GameModeInventories/

@GroundedJDU
Copy link

The latest build still crashes the server. I also lowered pool_size to 5.. still crashed.

@eccentricdevotion
Copy link
Owner

What about increasing the pool size as mentioned in my previous comment?

@GroundedJDU
Copy link

Tried increasing it too, still crashes every time i join the server. It does run while no one is on.. but as soon as someone joins the server it crashes.

@eccentricdevotion
Copy link
Owner

Made some small changes which should make the plugin slightly more efficient, try the latest build.

Also tested with 16,000+ block records with both MySQL and SQLite and not seeing any issues with crashes, out-of-memory errors or Hikari connection pool issues.

@GroundedJDU
Copy link

Hey.. sorry about late response, I wanted to try some other things before I do, but the last update didnt help. Can you please send me your config so i can compare them next to each other and see if I did something wrong in ours? And is there any way to limit all containers without that big list in config?
Thanks.

@GroundedJDU
Copy link

Also, is there any way to disable armor stand interaction?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants