-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
High
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 6.22/00
-
Component/s: None
-
Labels:None
-
Environment:
master on bab74f41abe51c377133c7c62efa13b0be71cf9b
TTreeProcessorMT breaks without EnableImplicitMT called before. The problem is, that we access GetImplicitMTPoolSize before creating the pool via TThreadExecutor and then we divide eventually by zero.
We go [0] into MakeClusters, calling [1] GetImplicitMTPoolSize (returning zero, because uninitialized) and then fail shortly after [2] when we divide by zero.
[0] https://github.com/root-project/root/blob/master/tree/treeplayer/src/TTreeProcessorMT.cxx#L500
[1] https://github.com/root-project/root/blob/master/tree/treeplayer/src/TTreeProcessorMT.cxx#L218
[2] https://github.com/root-project/root/blob/master/tree/treeplayer/src/TTreeProcessorMT.cxx#L224
The solution would be creating the pool manager first, which sets the pool size before.
- relates to
-
ROOT-10560 [TThreadExecutor] Pool is created with size N without enabling implicit MT
-
- Closed
-