WorldGuard

WorldGuard

8M Downloads

Missing data for region

LadyCailinBot opened this issue ยท 23 comments

commented

WORLDGUARD-3094 - Reported by ViscousSummer88

We have used WorldGuard for some 2-3years now and have never encountered this error before, here is what the issue is:

When the server starts up it loads WorldGuard, loads the regions perfectly fine for 4 of our worlds but when it comes to 4 of the others we get this issue:
[WorldGuard] Missing data for region {region name}

This error only happens for 4 of our worlds, while the others run perfectly fine. We have tried allowing the server to delete them, as it does on start up, stopping the server, starting it and then adding them again in-game but then it does it again. We have tried restoring backups and it does it to those also.
We have updated to the latest DEV Build of WorldGuard also and this error persists.

--
Server Version: Spigot #1542
Current WorldGuard Version: Release 5.9
Tested WorldGuard Version: Dev Release #1310-b0ed119
WorldEdit: Installed

Thank you for all and any help.

commented

Comment by sk89q

Are you using MySQL for regions?

commented

Comment by ViscousSummer88

No, we use the regions.yml to store the regions. Do you recommend we start using MySQL?

commented

Comment by ViscousSummer88

Hello, after some more digging, I found this which i being created in an error log each time: http://pastebin.com/DzVZ4k8D
The full file is: http://pastebin.com/gPQD2BrY

P.S. Again the regions are still deleting on start-up and have to be re-added in-game on each server start-up, if i restore them via a backup I have saved they simple just get deleted by this strange 'issue/bug/error' every single time.

commented

Comment by sk89q

I would not recommend MySQL.

Java appears to be completely crashing, so this is not something that we can fix. However, you can update Java potentially.

What's your Java version? Your OS?

commented

Comment by ViscousSummer88

Okie dokie.

In regards to java, this is indeed very strange however, from what I see the reason that Java is crashing is related solely to WorldGuard from what I see in that crash log, but I'm not genius.

OS: Linux (amd64) version 2.6.32-5-amd64 (Debian Linux 6.0)
Java Ver: 1.7.0_60, Oracle Corporation (7)

commented

Comment by sk89q

Java crashes usually only occur when something is wrong with Java, your version of Java, your hardware, or your system, especially when no external libraries are involved (as in libraries written in C/C++/etc.).

Since we don't use any external libraries, there's nothing we can do (and you're also the only person to have reported this problem).

Try updating to Java 1.7.0_60.

commented

Comment by ViscousSummer88

Okay, thank you for your help.
We will do some prodding and poking and we will let you know what results we get for reference.

commented

Comment by ViscousSummer88

Hello, after putting the latest version on and restarting the server we did again get the issue with the regions vanishing. Here is the error we now get in console: http://pastebin.com/QR5chagH

(There are many more, but the file is so big I can't put it in paste bin, so here is a download link: https://cloud.viscoussummer88.co.uk/public.php?service=files&t=a47efbbc784c14a695b61971a64fd76b - for the first time ever, this actually started to remove regions from the servers main world, as listed in the server properties, it has never done this before.)

Again, a simple /wg reload brought all the regions back.

commented

Comment by sk89q

Do you have some plugin that adds custom flags to WorldGuard?

commented

Comment by ViscousSummer88

Hello, I have looked over every plugin we have installed on the server and the only one that allows for custom flags into WorldGuard is this one 'http://dev.bukkit.org/bukkit-plugins/icepvpcontrol/#w-world-guard-flags'. However, we do not have any of these custom flags set anywhere, could this still cause a problem even if the flags are not set?

commented

Comment by sk89q

Yes. There appears to be an error occurring during flag parsing as WG passes over the list of flags -- one of which is unexpectedly null and likely added by another plugin.

I pushed an update that ignores this problem during loading, though I don't know if it will cause issues at a later point in time somewhere else in the code. Perhaps the fact that {{/wg reload}} works means that this other plugin fixes the problem after WG loads.

commented

Comment by ViscousSummer88

I have removed said plugin as a test to see if the errors continue. I will give a it a couple of days or depending on if the error continues to occur and then I will try with the new version along with the plugin.

commented

Comment by ViscousSummer88

Okay, thank you for your help.
We will do some prodding and poking and we will let you know what results we get for reference.

However, this does not explain why only some worlds are having their region.yml files wiped clean when the server starts. The main server worlds (World, Nether, End) never have this issue but secondary worlds do. Unless this error is completely related to the Java crash error? But please note, that the Java crash does not have to happen for the region.yml files to be wiped from what we have been seeing.

commented

Comment by wizjany

I have seen that error before, but no one has linked it to missing region data.

commented

Comment by ViscousSummer88

Well the error and the region data going missing could be completely coincidental, however from the time that the region data has been going missing and the time the errors have been showing it seems to be that they are in some way linked.

commented

Comment by Arnon.Hoogerwerf

I found someone who actually reproduced the same error: the problem seems to be linked to this: "com.sk89q.util.yaml.YAMLNode.getProperty(Ljava/lang/String;)Ljava/lang/Object;"
http://pastebin.com/NzUbmTtH

commented

Comment by sk89q

It is a bug with Java or your system.

You can see the code for getProperty() here:
https://github.com/sk89q/worldedit/blob/master/src/main/java/com/sk89q/util/yaml/YAMLNode.java#L72

That method does nothing spectacular.

We can, of course, modify the code randomly as a shot in the dark, hoping that it magically solves the problem. However, there is nothing wrong with the code.

--

As for the missing region data, we've had a few people have this problem, but we can't reproduce it. The only way we could really figure it out is if you gave us administrative access to your server so we could tinker with it.

commented

Comment by ViscousSummer88

Just as a quick update.

Last night I updated to the latest WorldGuard Dev Build and to a version of Spigot I know this error was not present in and the error is still here. I also downgraded to a version of Spigot and WorldGuard which I knew there was no error on and the error still persisted.
I ran /region save, it says the regions were saved and then this morning after a restart regions in now only 2 of the worlds were gone, whereas normally it would be 4 worlds where the region data would go missing from.

In regards to what you said about the region data, as I have said before, we have run WorldGuard since beta 1.2 and we have never had this issue, it is indeed a very strange one that I have never had to encounter before. What's even more strange is how no errors are produced or were produced via the server console and it seems that the region data only goes missing if the server has that 'Java Error', however nothing on the system has been altered for sometime.

commented

Comment by ViscousSummer88

So from looking today, from last nights reboot (we have the server reboot once a day at 4am) the server 'java error' occurred twice. During the first 'error' it removed the WorldGuard regions from one world and then on the second 'error' it removed them from another world.

The crash has to be related somehow. Here is the latest crash 'java error' - http://pastebin.com/YZxPL8G2

This is very, very frustrating as every single day we have to go back and try our best to restore every region manually. I have removed anything that hooks into WorldGuard including; IslandWorld, ProtectionStones and AnimalProtect. Removing these plugins have not solved the issues. Deleting the the 'world folder' in WorldGuard and allowing the plugin to regenerate it has not solved the issue either.

commented

Comment by ViscousSummer88

Here is something very interesting I have found out.

After trying many different things to fix the server... When/If the WorldGuard regions go missing from the region files, even when the plugin causes the java error, when I log into the server and run /wg reload suddenly all the missing region data is back... Can you explain this?

commented

Comment by ViscousSummer88

So for the time being I have used a little bit of a 'hacky' way to solve this issue. I have the server run a command as soon as the server is online and accepting player. I make the server run /wg reload which then brings back the WorldGuard regions which could be deleted during the restart.
However, this does not solve the issue of the java error and crash.

commented

Comment by sk89q

Build #1311-0d2adc5 has more detailed error messages which may help track down the disappearing region error.

commented

Comment by ViscousSummer88

Thank you, I will test this out and let you know what happens.