Please add option disable Slimefun error-reports
andris155 opened this issue · 15 comments
Slimefun create 100-150 error reports per day. I already reported errors, but TheBusyBiscuit closed all without reason.
Please add option disable error-reports create and write full errors only in the console (and server log file).
The all other plugin developer fixed the bugs if I send only the error. I don't know why Slimefun developers or community can't fix if I send only error-reports.
Not all code is the same.
Not all errors are the same.
And even those developers WILL need more info.
They maybe just have more time on their hands or they are paid for their work.
But in all honesty: You are the one who wants things fixed, we have no benefit from that, we don't get paid for this.
So if you would just spare a minute researching, testing and writing proper and detailed descriptions...
Then someone may consider fixing stuff.
I suggest you to read the article on How to report bugs on the wiki.
Maybe cause this errors the Java 11? If the Slimefun not compatible with java 11 then it should be add. Some servers use the Java 11.
You can just ignore that exception, your Server tries to load a skin from someone who does not exist.
he commented this
also suggestions go on the discord https://discordapp.com/invite/fsD4Bkh
There is a comment after he closes it with a whole host of possible reasons. If he didn't comment, it's one of those. If you don't think any apply to you feel free to respond again saying so.
Pretty sure all those are already fixed. Use latest dev, if you get errors report them. Can't even look into fixing those (if even broken) due to the pastebin not being up anymore.
Okay. I open new issues with new version errors. Please look it, and fix it if possible. Thanks.
Sometimes I don't know how to reproduce errors, sorry. The players sometimes don't report errors and I only see the error-reports.
An error report alone won't do.
Please do NOT report them if you cannot give a proper description of the problem.
All your issues without any description are really not useful and will be closed.
java.util.ConcurrentModificationException
at java.base/java.util.HashMap.merge(Unknown Source)
at me.mrCookieSlime.Slimefun.api.TickerTask.run(TickerTask.java:130)
at me.mrCookieSlime.Slimefun.SlimefunPlugin.lambda$onEnable$1(SlimefunPlugin.java:303)
at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:84)
at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54)
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
This error in almost every error report.
And this
java.util.ConcurrentModificationException
at java.base/java.util.HashMap.computeIfAbsent(Unknown Source)
at me.mrCookieSlime.Slimefun.api.BlockStorage.refreshCache(BlockStorage.java:539)
at me.mrCookieSlime.Slimefun.api.BlockStorage.setBlockInfo(BlockStorage.java:442)
at me.mrCookieSlime.Slimefun.api.BlockStorage.addBlockInfo(BlockStorage.java:410)
at me.mrCookieSlime.Slimefun.api.BlockStorage.addBlockInfo(BlockStorage.java:396)
at me.mrCookieSlime.Slimefun.api.BlockStorage.addBlockInfo(BlockStorage.java:400)
at me.mrCookieSlime.Slimefun.androids.ProgrammableAndroid.tick(ProgrammableAndroid.java:276)
at me.mrCookieSlime.Slimefun.androids.ProgrammableAndroid$4.tick(ProgrammableAndroid.java:1027)
at me.mrCookieSlime.Slimefun.api.TickerTask.lambda$run$0(TickerTask.java:110)
at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:84)
at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452)
at net.minecraft.server.v1_14_R1.MinecraftServer.b(MinecraftServer.java:1171)
at net.minecraft.server.v1_14_R1.DedicatedServer.b(DedicatedServer.java:417)
at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:1098)
at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:925)
at java.base/java.lang.Thread.run(Unknown Source)
No one else can repro these... if you can't give a proper description for how they're happening how should we help.
Can they be fixed? Yes, but, it shouldn't fire to begin so... something your end is causing that especially since no one else can repro. Likely stuff not being updated.
BlockStorage isn't really thread safe, but it is used concurrently. For the most part, it apparently ends up being okay. Java 11 introduced some more checks for concurrent modifications, specifically in HashMap.computeIfAbsent and HashMap.merge, which lines up with the stack traces you posted. It's not really a Java 11 problem or a computeIfAbsent problem. The real issue is that BlockStorage needs some work, but that would be a pretty substantial change, so I'm not sure exactly what'll happen. For all I know, swapping out all the HashMaps with ConcurrentHashMaps could be good enough (probably not), but someone would need to give the code some careful scrutiny to find out exactly what needs to be changed.
tl;dr Yes, you wouldn't be seeing errors if you weren't using Java 11, but only because Java 8 doesn't detect them