Yelijah commented on issue #10001: URL: https://github.com/apache/skywalking/issues/10001#issuecomment-1324506346
I think the dead lock progress is : 1. main thread try to load a class in one jar(alias it as jar A) then lock this jar (0x00000005800666a0, hold by JarFile.ensureInitialization), then trigger skywalking tranfromer, then skywalking.net.bytebuddy.pool.TypePool.TokenList init, then trigger some class(alias it as class B) begin load and wait this class lock. 2. FileHandlerLogFilesCleaner thread used FileSystems.getDefault method which triggered skywalking tranfromer, then skywalking.net.bytebuddy.pool.TypePool.TokenList init, then trigger some class(alias it as class B) begin load and get class lock (0x000000059d482db0, held by ClassLoader.loadClass), then URLClassLoader try find class by scan all jars, but jarA is locked by main. FileHandlerLogFilesCleaner is async , so this deadlock is quite rare -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
