Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Ignore org.bouncycastle.* types (DataDog#4586)
This avoids a potential deadlock scenario where one thread might be loading a bouncycastle type which triggers type-matching causing a related class file to be fetched from a signed jar. When the JVM verifies the signed jar entry it might need to access the shared X509Factory certificate store. Meanwhile another thread is checking some SSL certificates when it needs to load a bouncycastle implementation class. The first thread has acquired a class-loading lock and wants the X509Factory lock. The second thread has acquired the X509Factory lock and wants a class-loading lock. I ran the bouncycastle test-suite with the tracer attached and no types of interest matched our existing instrumentations, so it is safe to ignore these classes. This is the simplest solution to avoid the potential deadlock scenario described above.
- Loading branch information