Details
-
Bug
-
Status: Patch Available
-
Critical
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
-
Patch Available
Description
Loading different TokenFilter/Tokenizer/CharFilter from different threads is causing deadlock. To reproduce use the below code:
public static void main(String[] args)
{ Thread thread1 = new Thread(UpperCaseFilterFactory::new); Thread thread2 = new Thread(LowerCaseFilterFactory::new); thread1.start(); thread2.start(); }Took the thread dump, and found that thread1 gets stuck while calling ensureClassInitialized(LowerCaseFilterFactory) possibly because thread2 is holding some lock on the same class.