Failed making field 'java.util.concurrent.locks.ReentrantLock#sync' accessible
SecretlyJealous opened this issue ยท 5 comments
Server Implementation
Paper
Server Version
1.20
Describe the bug
A user undid a paste and disconnected but triggered an error in console:
[13:31:38] [Server thread/INFO]: AwakeningLilli issued server command: //set grass_block
[13:31:50] [Server thread/INFO]: AwakeningLilli issued server command: //set grass_block
[13:31:58] [Server thread/INFO]: AwakeningLilli issued server command: //set grass_block
[13:32:33] [Server thread/INFO]: AwakeningLilli issued server command: //set dirt
[13:32:44] [Server thread/INFO]: AwakeningLilli issued server command: //copy
[13:32:48] [Server thread/INFO]: AwakeningLilli issued server command: //undo
[13:32:52] [Server thread/INFO]: AwakeningLilli issued server command: //flip south
[13:32:56] [Server thread/INFO]: AwakeningLilli issued server command: //paste
[13:32:59] [Server thread/INFO]: AwakeningLilli issued server command: //undo
[13:33:04] [Server thread/INFO]: AwakeningLilli lost connection: Disconnected
[13:38:49] [WorldEdit Session Saver - 0/WARN]: Failed to write session for UUID b8adf636-b7f1-4ea3-9c18-619a9ee07204
java.io.IOException: com.google.gson.JsonIOException: Failed making field 'java.util.concurrent.locks.ReentrantLock#sync' accessible; either increase its visibility or write a custom TypeAdapter for its declaring type.
at com.sk89q.worldedit.session.storage.JsonFileSessionStore.save(JsonFileSessionStore.java:118) ~[FastAsyncWorldEdit-Bukkit-2.6.3-SNAPSHOT.jar:?]
at com.sk89q.worldedit.session.SessionManager.lambda$commit$0(SessionManager.java:259) ~[FastAsyncWorldEdit-Bukkit-2.6.3-SNAPSHOT.jar:?]
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131) ~[guava-31.1-jre.jar:?]
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74) ~[guava-31.1-jre.jar:?]
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82) ~[guava-31.1-jre.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.lang.Thread.run(Thread.java:1589) ~[?:?]
Caused by: com.google.gson.JsonIOException: Failed making field 'java.util.concurrent.locks.ReentrantLock#sync' accessible; either increase its visibility or write a custom TypeAdapter for its declaring type.
at com.google.gson.internal.reflect.ReflectionHelper.makeAccessible(ReflectionHelper.java:38) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:287) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:130) ~[gson-2.10.jar:?]
at com.google.gson.Gson.getAdapter(Gson.java:546) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:55) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:196) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:366) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ObjectTypeAdapter.write(ObjectTypeAdapter.java:183) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:70) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:196) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:366) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:70) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:196) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:366) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:70) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:196) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:366) ~[gson-2.10.jar:?]
at com.google.gson.Gson.toJson(Gson.java:825) ~[gson-2.10.jar:?]
at com.google.gson.Gson.toJson(Gson.java:795) ~[gson-2.10.jar:?]
at com.google.gson.Gson.toJson(Gson.java:766) ~[gson-2.10.jar:?]
at com.sk89q.worldedit.session.storage.JsonFileSessionStore.save(JsonFileSessionStore.java:116) ~[FastAsyncWorldEdit-Bukkit-2.6.3-SNAPSHOT.jar:?]
... 7 more
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.util.concurrent.locks.ReentrantLock$Sync java.util.concurrent.locks.ReentrantLock.sync accessible: module java.base does not "opens java.util.concurrent.locks" to unnamed module @5a06787e
at java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:387) ~[?:?]
at java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:363) ~[?:?]
at java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:311) ~[?:?]
at java.lang.reflect.Field.checkCanSetAccessible(Field.java:180) ~[?:?]
at java.lang.reflect.Field.setAccessible(Field.java:174) ~[?:?]
at com.google.gson.internal.reflect.ReflectionHelper.makeAccessible(ReflectionHelper.java:35) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:287) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:130) ~[gson-2.10.jar:?]
at com.google.gson.Gson.getAdapter(Gson.java:546) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:55) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:196) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:366) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ObjectTypeAdapter.write(ObjectTypeAdapter.java:183) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:70) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:196) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:366) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:70) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:196) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:366) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:70) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:196) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:366) ~[gson-2.10.jar:?]
at com.google.gson.Gson.toJson(Gson.java:825) ~[gson-2.10.jar:?]
at com.google.gson.Gson.toJson(Gson.java:795) ~[gson-2.10.jar:?]
at com.google.gson.Gson.toJson(Gson.java:766) ~[gson-2.10.jar:?]
at com.sk89q.worldedit.session.storage.JsonFileSessionStore.save(JsonFileSessionStore.java:116) ~[FastAsyncWorldEdit-Bukkit-2.6.3-SNAPSHOT.jar:?]
... 7 more
To Reproduce
Not sure
Expected behaviour
No errors
Screenshots / Videos
No response
Error log (if applicable)
No response
Fawe Debugpaste
debugpaste is not working so here is my log: https://paste.gg/p/anonymous/b5abd4a969ef4870ab702697209c8d52
Fawe Version
FastAsyncWorldEdit version 2.6.3-SNAPSHOT (https://ci.athion.net/job/FAWE-PS-v7/)
Checklist
- I have included a Fawe debugpaste.
- I am using the newest build from https://ci.athion.net/job/FastAsyncWorldEdit/ and the issue still persists.
Anything else?
No response
This stacktrace was reported in #2131 (comment) but there is still no proper way to reproduce it I guess.
This ConsoleSpamFix does make me wonder if it hides something we need to know in order to find the cause. Would be better to get rid of it at the moment and the builder retries what he did on your server
Also how is it possible that the /fawe debugpaste command is not working? Can you retry that as well?
Here you go, important to reproduce (like it happened in the wild) is to undo someone else quite a few times after the person left
https://paste.gg/p/anonymous/dc6d4d0f18c24ca7829648d0f8085f89
That was 1.19.4 with fawe-473