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]

Reply via email to