tgxn / Backup

A Backup plugin for the Bukkit Server API.
http://bukkitbackup.com
GNU General Public License v3.0
23 stars 14 forks source link

[1.8.8] Backup kicks all players and does incomplete backup of a world #90

Closed matepeter closed 12 years ago

matepeter commented 12 years ago

Hello,

I'm admin on a server with ~200 active players (not usually more than 30-40 online at once). We have been experiencing a severe issue for a while now: every time Backup gets to the main world, every player gets disconnected and Backup throws the following error:

2012-03-15 18:27:50 [SEVERE] [Backup] Please provide following error with support request:
2012-03-15 18:27:50 [INFO] java.io.IOException: Bad address
2012-03-15 18:27:50 [INFO]      at sun.nio.ch.FileDispatcherImpl.pwrite0(Native Method)
2012-03-15 18:27:50 [INFO]      at sun.nio.ch.FileDispatcherImpl.pwrite(FileDispatcherImpl.java:65)
2012-03-15 18:27:50 [INFO]      at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:85)
2012-03-15 18:27:50 [INFO]      at sun.nio.ch.IOUtil.write(IOUtil.java:46)
2012-03-15 18:27:50 [INFO]      at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:700)
2012-03-15 18:27:50 [INFO]      at sun.nio.ch.FileChannelImpl.transferFromFileChannel(FileChannelImpl.java:580)
2012-03-15 18:27:50 [INFO]      at sun.nio.ch.FileChannelImpl.transferFrom(FileChannelImpl.java:652)
2012-03-15 18:27:50 [INFO]      at net.tgxn.bukkit.backup.utils.FileUtils.doCopyFile(FileUtils.java:303)
2012-03-15 18:27:50 [INFO]      at net.tgxn.bukkit.backup.utils.FileUtils.doCopyDirectory(FileUtils.java:263)
2012-03-15 18:27:50 [INFO]      at net.tgxn.bukkit.backup.utils.FileUtils.doCopyDirectory(FileUtils.java:261)
2012-03-15 18:27:50 [INFO]      at net.tgxn.bukkit.backup.utils.FileUtils.copyDirectory(FileUtils.java:221)
2012-03-15 18:27:50 [INFO]      at net.tgxn.bukkit.backup.utils.FileUtils.copyDirectory(FileUtils.java:141)
2012-03-15 18:27:50 [INFO]      at net.tgxn.bukkit.backup.utils.FileUtils.copyDirectory(FileUtils.java:110)
2012-03-15 18:27:50 [INFO]      at net.tgxn.bukkit.backup.threading.BackupTask.backupWorlds(BackupTask.java:230)
2012-03-15 18:27:50 [INFO]      at net.tgxn.bukkit.backup.threading.BackupTask.processBackup(BackupTask.java:110)
2012-03-15 18:27:50 [INFO]      at net.tgxn.bukkit.backup.threading.BackupTask.run(BackupTask.java:95)
2012-03-15 18:27:50 [INFO]      at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
2012-03-15 18:27:50 [INFO]      at java.lang.Thread.run(Thread.java:722)

The main world's folder is not being backed up properly, it's missing a lot of the files and subdirectories.

Info about the server: Running CraftBukkit 1.1 RB4 Using RTK / SpaceBukkit Plugins: ScheduledAnnouncer, WorldEdit, VoxelSniper, GlowSTONE, Backup, HeroChat, Vault, BanHammer, PermissionsEx, Multiverse-Core, WorldGuard, RemoteToolkitPlugin, Permissions, CommandHelper, BKCommonLib, ServerLogSaver, SpaceBukkit, Modifyworld, NoCheat, NoLaggChunks, Essentials, WorldBorder, NoLaggTNT, EssentialsSpawn, Multiverse-Portals, PetitionPlugin, Multiverse-Inventories, Multiverse-NetherPortals, LWC, dynmap, Dynmap-WorldGuard, HawkEye, NoLagg, VanishNoPacket

tgxn commented 12 years ago

Let me know if this resolves this ticket: http://ci.tgxn.net/job/dev-Backup/82/

Thanks :)

matepeter commented 12 years ago

Sadly not, just tried running a backup:

01:01:23 [INFO] java.io.IOException: Bad address
01:01:26 [INFO]         at sun.nio.ch.FileDispatcher.pwrite0(Native Method)
01:01:26 [INFO]         at sun.nio.ch.FileDispatcher.pwrite(FileDispatcher.java:63)
01:01:26 [INFO]         at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:118)
01:01:26 [INFO]         at sun.nio.ch.IOUtil.write(IOUtil.java:78)
01:01:26 [INFO]         at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:689)
01:01:26 [INFO]         at sun.nio.ch.FileChannelImpl.transferFromFileChannel(FileChannelImpl.java:580)
01:01:26 [INFO]         at sun.nio.ch.FileChannelImpl.transferFrom(FileChannelImpl.java:641)
01:01:26 [INFO]         at net.tgxn.bukkit.backup.utils.FileUtils.doCopyFile(FileUtils.java:303)
01:01:26 [INFO]         at net.tgxn.bukkit.backup.utils.FileUtils.doCopyDirectory(FileUtils.java:263)
01:01:26 [INFO]         at net.tgxn.bukkit.backup.utils.FileUtils.doCopyDirectory(FileUtils.java:261)
01:01:26 [INFO]         at net.tgxn.bukkit.backup.utils.FileUtils.copyDirectory(FileUtils.java:221)
01:01:26 [INFO]         at net.tgxn.bukkit.backup.utils.FileUtils.copyDirectory(FileUtils.java:141)
01:01:26 [INFO]         at net.tgxn.bukkit.backup.utils.FileUtils.copyDirectory(FileUtils.java:110)
01:01:26 [INFO]         at net.tgxn.bukkit.backup.threading.BackupTask.backupWorlds(BackupTask.java:218)
01:01:26 [INFO]         at net.tgxn.bukkit.backup.threading.BackupTask.processBackup(BackupTask.java:113)
01:01:26 [INFO]         at net.tgxn.bukkit.backup.threading.BackupTask.run(BackupTask.java:75)
01:01:26 [INFO]         at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
01:01:26 [INFO]         at java.lang.Thread.run(Thread.java:636)
01:01:26 [INFO] [Backup] Failed to copy world: IO Exception.
tgxn commented 12 years ago

How big is your world?

matepeter commented 12 years ago

10,000x10,000, completely generated with WorldBorder. Directory size: 2.5 GB The minecraft server has 12GB of RAM allocated to it.

We're not using .zip compression for the backups

tgxn commented 12 years ago

Hmm, That makes everything difficult :P

Seems that its failing to copy an individual file. 01:01:26 [INFO]         at net.tgxn.bukkit.backup.utils.FileUtils.doCopyFile(FileUtils.java:303)

Perhaps it is being written by another plugin while mine is attempting to back it up?

I'm just thinking of plugins that might be causing this.. Not too sure, are there any other processes underway/continuous actions on the datafile? Perhaps try disabling a couple of your plugins and seeing if this helps?

matepeter commented 12 years ago

Hmm... it's really just happening with this world, the other five worlds it backs up are fine... and there usually are no players on the large world, they are all on another world.

Could you maybe add a config option to have it skip that single file and continue backing up the world, just giving a warning on the console, maybe with the file name? If it's not an important chunk it's failing to back up, maybe I can just try deleting it and having it regenerated.

EDIT: Maybe, if it's an issue with a .mcr region file, it will be fixed when the world is converted to Anvil format when we upgrade the server to 1.2... Just a thought...

tgxn commented 12 years ago

Possibly, are your other worlds on the new version?

matepeter commented 12 years ago

No, the server is running 1.1 at the moment, none of the worlds have been converted yet.

I can try disabling some plugins, but that will have to wait ~12 hours, right now it's the time most players are online and want to play.

tgxn commented 12 years ago

Fixed your comments :)

Also, It would be good if you could try that, but yeah, maybe makje a full copy of your server, and see if it works after upgrading to anvil? Just an idea... As all my tests are with it.

matepeter commented 12 years ago

I had already set up a local copy of the server and upgraded it to 1.2 and anvil, I just installed the build you linked above, let it generate a new config, edited the config to turn split backups on and compression off (like on the "real" server), and ran a backup. It worked without problems :D

Seems to have been some kind of problem with the old files, I guess?

Anyway, seeing as we are soon going to upgrade to 1.2 on the server and since this didn't seem to be a problem with the plugin itself, but one of our map files, I'll close this issue for now.

Thank you very much for your help :D

tgxn commented 12 years ago

Not a worry, if you have any more issues, please do open it again :)