mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-26 15:10:22 -05:00
Crash signature 43cb673b7481. RimPolygonFilter::updateCellIndexFilter writes visibility using cached m_cells indices without a bounds check. The cache is cleared only in onGridChanged(), so when the Eclipse case changes to a grid with fewer cells the stale indices write past the end of the array. Override setCase() to clear the cached cells, and skip indices outside the visibility array. Call stack: [3] RimPolygonFilter::updateCellIndexFilter(cvf::Array<unsigned char>*, cvf::Array<unsigned char>*, int) at ResInsight/ApplicationLibCode/ProjectDataModel/CellFilters/RimPolygonFilter.cpp:399 [4] RimCellFilterCollection::updateCellVisibilityByIndex(cvf::Array<unsigned char>*, cvf::Array<unsigned char>*, unsigned long) const at ResInsight/ApplicationLibCode/ProjectDataModel/CellFilters/RimCellFilterCollection.cpp:605 [5] RivReservoirViewPartMgr::computeFilterVisibility(RivCellSetEnum, cvf::Array<unsigned char>*, RigGridBase const*, cvf::Array<unsigned char> const*, RimCellFilterCollection const*) at ResInsight/ApplicationLibCode/ModelVisualization/RivReservoirViewPartMgr.cpp:755 [6] RivReservoirViewPartMgr::computeVisibility(cvf::Array<unsigned char>*, RivCellSetEnum, RigGridBase*, unsigned long) at ResInsight/ApplicationLibCode/ModelVisualization/RivReservoirViewPartMgr.cpp:352 [7] RivReservoirViewPartMgr::createGeometry(RivCellSetEnum) at ResInsight/ApplicationLibCode/ModelVisualization/RivReservoirViewPartMgr.cpp:278 [8] RivReservoirViewPartMgr::appendStaticGeometryPartsToModel(cvf::ModelBasicList*, RivCellSetEnum, std::vector<unsigned long, std::allocator<unsigned long> > const&) at ResInsight/ApplicationLibCode/ModelVisualization/RivReservoirViewPartMgr.cpp:205 [9] RimEclipseView::onCreateDisplayModel() at ResInsight/ApplicationLibCode/ProjectDataModel/RimEclipseView.cpp:737 [10] Rim3dView::createDisplayModelAndRedraw() at ResInsight/ApplicationLibCode/ProjectDataModel/Rim3dView.cpp:718 [11] RiaViewRedrawScheduler::updateAndRedrawScheduledViews() at ResInsight/ApplicationLibCode/Application/RiaViewRedrawScheduler.cpp:93 [16] RiaGuiApplication::notify(QObject*, QEvent*) at ResInsight/ApplicationLibCode/Application/RiaGuiApplication.cpp:1828 [26] main at ResInsight/ApplicationExeCode/RiaMain.cpp:267 [27] __libc_start_main at :0