BentoBoxWorld / Biomes

Biomes addon for BSkyBlock and AcidIsland
Eclipse Public License 2.0
7 stars 16 forks source link

Massive console errors when changing biome with SQLite database #55

Closed mindw0rm closed 5 years ago

mindw0rm commented 5 years ago

Bug Report

Description

I'm running Bentobox and BSkyblock 1.8.0, along with the newest biomes snapshot (and a bunch of other addons). After submitting the Biomes GUI, the server console is spammed with error messages of the following type: [20:50:00] [Craft Scheduler Thread - 25/ERROR]: [BentoBox] Could not delete object world.bentobox.biomes.database.objects.BiomeChunkUpdateObject BSkyBlock_-15--1 Delete did not affect any rows! [20:50:00] [Craft Scheduler Thread - 25/ERROR]: [BentoBox] Could not delete object world.bentobox.biomes.database.objects.BiomeChunkUpdateObject BSkyBlock_-14--1 Delete did not affect any rows! They start with -15, -1 and finally (3.5 minutes later) end with 8,31 - presumably all chunks of my island.

Steps to reproduce the behavior:

  1. enter /island biomes
  2. Click on some biome
  3. Click on island (well, it's already selected), and click accept
  4. check server console

When setting for the whole island, there were the massive errors shown above. On the first try (which was with an outdated spigot version (maybe 7-10 days old)), the server console was not responsive afterwards, shutting it down with Ctrl+C worked, but took quite some time. On the second try, the server was still responsive; in both tries there was no success output and no autput regarding the offline updater, and debug info in the clienst still showed the old biome - only after a relogin, or dying, or teleporting to another world (acid island) and returning the new biome was shown (but I think this might be a Minecraft issue).

I tried other settings as well:

The last message makes me assume that the problem are chunks that are not loaded.

Expected behavior

No errors in the console.

Screenshots or video

n/a

Server Information:

[Please complete the following information:]

Additional context

View distance on the server is 10, on the client 20. 10 should be enough so that a chunk range of 8 should be completely within viewing distance, i.e. loaded. So maybe my assumption that only non-loaded blocks show errors is wrong?

BONNe commented 5 years ago

There is no any reason why you should use a snapshot version... It is not the issue, but just to make it clear :) Release version is the best to use.

And it looks like it is some SQLite issue that prevents deleting objects. @tastybento please can you look into it?

mindw0rm commented 5 years ago

Well I thought since the latest release is older than the release of bentobox 1.8.0, and only claims compatibility with 1.6.x, better try the snapshot ;)

But I can try again with the newest release.

mindw0rm commented 5 years ago

Would it be preferable to change to MySQL? I saw no need to change the DB, so I kept the default. However, I'm still evaluating (mainly which addons to use and how they work), so the server isn't open to everyone yet and starting from scratch would be acceptable.

Btw. Biomes 1.6.0.1 shows the same errors.

mindw0rm commented 5 years ago

I switched the database to MySQL (and reset the server), now everything works fine (with 3229 chunks for the offline updater! o.0 ).

So this is indeed a SQLite bug, and I guess it's not even a Biomes bug but a Bentobox bug - maybe you should move the ticket there?

tastybento commented 5 years ago

This is a bug in biomes where it calls a database delete on non-existent objects. The difference with MySQL and other databases is that a delete of a non-existent object fails silently. I'll upload a PR for @BONNe to look at.

tastybento commented 5 years ago

Fixed in BentoBox.