Files
ResInsight/ApplicationLibCode
Magne Sjaastad f1218e527f #14183 Fix crash in AABB cell search tree from unsynchronized lazy build
RigMainGrid::findIntersectingCells is const and lazily builds the mutable m_cellSearchTree without synchronization, yet it is called from many multi-threaded (OpenMP) query paths. When two threads race the isNull check, both build a new tree and the cvf::ref reassignment deletes the first tree while it is still being built, leading to a use-after-free and a segfault deep in AABBTree::buildTree (BoundingBox::addValid reading a dangling leaf box).

Serialize building of the cell search tree with a mutex, both in computeCachedData (which nulls and rebuilds the tree) and in the lazy build in findIntersectingCells. The query also keeps a local reference to the tree so it stays alive if another thread rebuilds m_cellSearchTree during the read-only intersection query.
2026-06-10 12:32:54 +02:00
..
2025-10-31 13:21:19 +01:00
2025-11-19 10:25:32 +01:00
2024-07-01 14:09:56 +02:00