Slimefun

Slimefun

3M Downloads

Slimefun blocks turn into vanilla blocks randomly

LordIdra opened this issue · 6 comments

commented

❗ Checklist

  • I am using the official english version of Slimefun and did not modify the jar.
  • I am using an up to date "DEV" (not "RC") version of Slimefun.
  • I am aware that issues related to Slimefun addons need to be reported on their bug trackers and not here.
  • I searched for similar open issues and could not find an existing bug report on this.

📍 Description

Blocks from slimefun and addons turn into vanilla blocks with alarming frequency (almost every day). I have yet to figure out if restarts affect the frequency, though I do 2 restarts a day. This seems to happen more commonly with certain addons (infinity expansion storage units are the main culprit) but blocks from core slimefun and all other addons are also affected. There is no NBT data on the affected blocks, nor can I find them in their respective file in data-storage/Slimefun/stored-blocks. This issue has persisted for over a month with up-to-date Slimefun DEV versions.

I don't know how this can be reproduced, but there are slimefun errors relating to save file copying in the attached log file on lines 1000, 881, and 897 - may be related?

📑 Reproduction Steps

Can't figure out how to reproduce this. Events where slimefun blocks are converted to vanilla blocks seem to be completely random; I'm unable to find any regularity or pattern.

💡 Expected Behavior

Expected slimefun blocks not to turn into vanilla blocks.

📷 Screenshots / Videos

No response

📜 Server Log

https://gist.github.com/LordIdra/89536afff6533120d5b8592205cd812e

📂 /error-reports/ folder

No response

💻 Server Software

Paper

🎮 Minecraft Version

1.17.x

⭐ Slimefun version

image
image

🧭 Other plugins

No response

commented

server log doesnt seem to have any data on it

commented

Hastebin doesn't do well with a lot of data. Use something like Pastebin or a GitHub Gist

commented

My bad, uploaded it to a gist instead and edited the report.

commented

I found an interesting error:

[04:54:25] [Craft Scheduler Thread - 1866/ERROR]: [Slimefun] An Error occurred while copying a temporary File for Slimefun DEV - 950 (git 8c0ef8a9)
java.nio.file.AccessDeniedException: data-storage\Slimefun\stored-blocks\world\WATER_TURBINE.sfb.tmp -> data-storage\Slimefun\stored-blocks\world\WATER_TURBINE.sfb
	at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89) ~[?:?]
	at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103) ~[?:?]
	at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:315) ~[?:?]
	at sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:293) ~[?:?]
	at java.nio.file.Files.move(Files.java:1426) ~[?:?]
	at me.mrCookieSlime.Slimefun.api.BlockStorage.save(BlockStorage.java:339) ~[?:?]
	at io.github.thebusybiscuit.slimefun4.core.services.AutoSavingService.saveAllBlocks(AutoSavingService.java:94) ~[?:?]
	at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[patched_1.17.1.jar:git-Paper-123]
	at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[patched_1.17.1.jar:git-Paper-123]
	at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.17.1.jar:git-Paper-123]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) ~[?:?]
	at java.lang.Thread.run(Thread.java:831) [?:?]

This means that server does not have access to the WATER_TURBINE.sfb file. And this means that block has not been saved.
There are also other similar errors.

commented

Closing this because there is no update on it.
We discussed this on Discord and it seems like there is file permission issue.
You could reopen this or create a new issue if this still occured.

commented

For those wondering, this issue was closed due to it not being reproducible (I'm still unsure why this only happened to me specifically, but suspect is has something to do with the operating system or some obscure conflicting plugins), so I 'solved' the problem by compiling slimefun myself and modifying the save script to retry file movement if it failed initially. If anyone else is experiencing the same issue or wants the exact code, shoot me a message on Discord under Idra#9838 :)