Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ConcurrentModificationException in the class cache #179

Open
derrop opened this issue May 2, 2021 · 0 comments
Open

ConcurrentModificationException in the class cache #179

derrop opened this issue May 2, 2021 · 0 comments
Labels
bug Something isn't working

Comments

@derrop
Copy link
Member

derrop commented May 2, 2021

Description
Sometimes the class cache throws a ConcurrentModificationException when transforming classes which crashes the client:

Log Output

Caused by: net.flintmc.transform.exceptions.ClassTransformException: transform threw an exception
	at net.flintmc.transform.javassist.internal.DefaultMethodBasedClassTransformMeta.execute(DefaultMethodBasedClassTransformMeta.java:113)
	at net.flintmc.transform.javassist.internal.DefaultClassTransformService.transform(DefaultClassTransformService.java:163)
	at net.flintmc.transform.launchplugin.FlintLauncherPlugin.modifyClass(FlintLauncherPlugin.java:153)
	at net.flintmc.launcher.classloading.RootClassLoader.findClass(RootClassLoader.java:241)
	at net.flintmc.launcher.classloading.RootClassLoader.findClass(RootClassLoader.java:145)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at e.<init>(SourceFile:21)
	at e.<clinit>(SourceFile:8)
	... 52 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at net.flintmc.transform.javassist.internal.DefaultMethodBasedClassTransformMeta.execute(DefaultMethodBasedClassTransformMeta.java:107)
	... 60 more
Caused by: java.util.ConcurrentModificationException
	at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429)
	at java.util.HashMap$EntryIterator.next(HashMap.java:1463)
	at java.util.HashMap$EntryIterator.next(HashMap.java:1461)
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(MapTypeAdapterFactory.java:206)
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(MapTypeAdapterFactory.java:145)
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:127)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:245)
	at com.google.gson.Gson.toJson(Gson.java:704)
	at com.google.gson.Gson.toJson(Gson.java:683)
	at com.google.gson.Gson.toJson(Gson.java:638)
	at com.google.gson.Gson.toJson(Gson.java:618)
	at net.flintmc.util.classcache.internal.DefaultClassCacheIndex.write(DefaultClassCacheIndex.java:93)
	at net.flintmc.util.classcache.internal.DefaultClassCache.writeClass(DefaultClassCache.java:94)
	at net.flintmc.util.classcache.internal.DefaultClassCache.getOrTransformAndWriteClass(DefaultClassCache.java:108)
	at net.flintmc.transform.minecraft.obfuscate.MinecraftInstructionObfuscator.transform(MinecraftInstructionObfuscator.java:85)
	at net.flintmc.transform.launchplugin.FlintLauncherPlugin.modifyClass(FlintLauncherPlugin.java:153)
	at net.flintmc.launcher.classloading.RootClassLoader.findClass(RootClassLoader.java:241)
	at net.flintmc.launcher.classloading.RootClassLoader.findClass(RootClassLoader.java:145)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at net.flintmc.transform.shadow.internal.ShadowHelper.getLocation(ShadowHelper.java:63)
	at net.flintmc.transform.shadow.internal.handler.defaults.ShadowGetterHandler.transform(ShadowGetterHandler.java:57)
	at net.flintmc.transform.shadow.internal.ShadowService.transformMethods(ShadowService.java:110)
	at net.flintmc.transform.shadow.internal.ShadowService.transform(ShadowService.java:101)
	... 64 more

System Information:

  • Operating System: Windows 10
  • Launcher: Official
  • Flint Version: 2.0.36
  • Minecraft Versions: 1.16.5
  • Java Version: Launcher bundled
@derrop derrop added the bug Something isn't working label May 2, 2021
@derrop derrop added this to To do in Flint Development via automation May 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Development

No branches or pull requests

1 participant