If a reslicing plane is visible in more than one 3D view, an OpenGL error is generated and the application is frozen. This is happening because PlaneGeometryDataVtkMapper3D does not use a LocaStorage and it is sharing vtk mappers and actors between different vtkRenderers.
Description
Description
Related Objects
Related Objects
Event Timeline
Comment Actions
@kalali Do you have a use case with the mxn widget where you could check this pull request with multiple 3d render windows?
Comment Actions
I quickly looked into this using the experimental state of the mxnMultiWidget but I get a Workbench crash. This might be unrelated so I tested something else:
I used the StdMultiWidget, loaded Pic3D but then I used the Render Window Manager to change the Mapper of the axial render window from 2D Mapper to 3D Mapper.
I get the following crash:
2022-09-14 18:15:40.458 ( 45.325s) [ ] vtkOpenGLState.cxx:83 WARN| Error in cache state for GL_BLEND 45.33 core.mod.core.loggingadapter WARNING: Generic Warning: In C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLState.cxx, line 83 Error in cache state for GL_BLEND 2022-09-14 18:15:40.462 ( 45.329s) [ ] vtkOpenGLState.cxx:90 WARN| Error in cache state for GL_DEPTH_TEST 45.34 core.mod.core.loggingadapter WARNING: Generic Warning: In C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLState.cxx, line 90 Error in cache state for GL_DEPTH_TEST 2022-09-14 18:15:40.466 ( 45.333s) [ ] vtkOpenGLState.cxx:113 WARN| Error in cache state for GL_SCISSOR_TEST 45.34 core.mod.core.loggingadapter WARNING: Generic Warning: In C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLState.cxx, line 113 Error in cache state for GL_SCISSOR_TEST 2022-09-14 18:15:40.478 ( 45.345s) [ ] vtkOpenGLState.cxx:152 WARN| Error in cache state for GL_SCISSOR_BOX 45.35 core.mod.core.loggingadapter WARNING: Generic Warning: In C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLState.cxx, line 152 Error in cache state for GL_SCISSOR_BOX 2022-09-14 18:15:40.482 ( 45.349s) [ ] vtkOpenGLState.cxx:180 WARN| Error in cache state for GL_BLEND_SRC_RGB 45.36 core.mod.core.loggingadapter WARNING: Generic Warning: In C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLState.cxx, line 180 Error in cache state for GL_BLEND_SRC_RGB 2022-09-14 18:15:40.485 ( 45.352s) [ ] vtkOpenGLState.cxx:208 WARN| Error in cache state for GL_DRAW_FRAMEBUFFER_BINDING 45.36 core.mod.core.loggingadapter WARNING: Generic Warning: In C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLState.cxx, line 208 Error in cache state for GL_DRAW_FRAMEBUFFER_BINDING 2022-09-14 18:15:40.494 ( 45.361s) [ ] vtkOpenGLState.cxx:274 WARN| at stack loc at vtksys::SystemInformationImplementation::GetProgramStack in C:\Development\MITK-dev\build\ep\src\VTK\Utilities\KWSys\vtksys\SystemInformation.cxx line 3979 at vtksys::SystemInformation::GetProgramStack in C:\Development\MITK-dev\build\ep\src\VTK\Utilities\KWSys\vtksys\SystemInformation.cxx line 829 at vtkOpenGLState::CheckState in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLState.cxx line 273 at vtkOpenGLState::vtkglPointSize in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLState.cxx line 715 at vtkOpenGLPolyDataMapper::RenderPieceStart in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLPolyDataMapper.cxx line 3380 at vtkOpenGLPolyDataMapper::RenderPiece in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLPolyDataMapper.cxx line 3610 at vtkPolyDataMapper::Render in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\Core\vtkPolyDataMapper.cxx line 66 at vtkDataSetMapper::Render in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\Core\vtkDataSetMapper.cxx line 157 at vtkOpenGLActor::Render in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLActor.cxx line 106 at vtkActor::RenderOpaqueGeometry in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\Core\vtkActor.cxx line 231 at vtkAssembly::RenderOpaqueGeometry in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\Core\vtkAssembly.cxx line 212 at mitk::VtkMapper::MitkRenderOpaqueGeometry in C:\Development\MITK-dev\src\Modules\Core\src\Rendering\mitkVtkMapper.cpp line 72 at mitk::VtkMapper::MitkRender in C:\Development\MITK-dev\src\Modules\Core\src\Rendering\mitkVtkMapper.cpp line 29 at mitk::VtkPropRenderer::Render in C:\Development\MITK-dev\src\Modules\Core\src\Rendering\mitkVtkPropRenderer.cpp line 177 at vtkMitkRenderProp::RenderOpaqueGeometry in C:\Development\MITK-dev\src\Modules\Core\src\Rendering\vtkMitkRenderProp.cpp line 51 at vtkRenderer::UpdateOpaquePolygonalGeometry in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\Core\vtkRenderer.cxx line 741 at vtkRenderer::DeviceRenderOpaqueGeometry in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\Core\vtkRenderer.cxx line 442 at vtkOpenGLRenderer::DeviceRenderOpaqueGeometry in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLRenderer.cxx line 520 at vtkOpenGLRenderer::UpdateGeometry in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLRenderer.cxx line 394 at vtkOpenGLRenderer::DeviceRender in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLRenderer.cxx line 300 at vtkRenderer::Render in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\Core\vtkRenderer.cxx line 383 at vtkRendererCollection::Render in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\Core\vtkRendererCollection.cxx line 53 at vtkRenderWindow::DoStereoRender in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\Core\vtkRenderWindow.cxx line 347 at vtkRenderWindow::Render in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\Core\vtkRenderWindow.cxx line 306 at vtkOpenGLRenderWindow::Render in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkOpenGLRenderWindow.cxx line 2335 at vtkGenericOpenGLRenderWindow::Render in C:\Development\MITK-dev\build\ep\src\VTK\Rendering\OpenGL2\vtkGenericOpenGLRenderWindow.cxx line 225 at mitk::RenderingManager::ForceImmediateUpdate in C:\Development\MITK-dev\src\Modules\Core\src\Controllers\mitkRenderingManager.cpp line 246 at mitk::RenderingManager::ExecutePendingRequests in C:\Development\MITK-dev\src\Modules\Core\src\Controllers\mitkRenderingManager.cpp line 557 at QmitkRenderingManager::event in C:\Development\MITK-dev\src\Modules\QtWidgets\src\QmitkRenderingManager.cpp line 62 at QInputDialog::textEchoMode at QInputDialog::textEchoMode at QmitkSafeNotify<QtSingleApplication> in C:\Development\MITK-dev\src\Modules\AppUtil\src\QmitkSafeNotify.h line 27 at QmitkSingleApplication::notify in C:\Development\MITK-dev\src\Modules\AppUtil\src\QmitkSingleApplication.cpp line 23 at qIsFinite at qIsFinite at qIsFinite at qIsFinite at FT_Angle_Diff at qIsFinite at CallWindowProcW at DispatchMessageW at qIsFinite at FT_Angle_Diff at qIsFinite at qIsFinite at qIsFinite at QOpenGLFunctions_2_0::glCopyTexSubImage1D at QInputDialog::textEchoMode at berry::QtDisplay::RunEventLoop in C:\Development\MITK-dev\src\Plugins\org.blueberry.ui.qt\src\internal\berryQtDisplay.cpp line 42 at berry::Workbench::RunUI in C:\Development\MITK-dev\src\Plugins\org.blueberry.ui.qt\src\internal\berryWorkbench.cpp line 792 at berry::Workbench::CreateAndRunWorkbench in C:\Development\MITK-dev\src\Plugins\org.blueberry.ui.qt\src\internal\berryWorkbench.cpp line 212 at berry::PlatformUI::CreateAndRunWorkbench in C:\Development\MITK-dev\src\Plugins\org.blueberry.ui.qt\src\berryPlatformUI.cpp line 39 at QmitkExtApplication::Start in C:\Development\MITK-dev\src\Plugins\org.mitk.gui.qt.extapplication\src\internal\QmitkExtApplication.cpp line 29 at berry::ApplicationHandle::run in C:\Development\MITK-dev\src\Plugins\org.blueberry.core.runtime\src\internal\berryApplicationHandle.cpp line 190 at ctkDefaultApplicationLauncher::runApplication in C:\Development\MITK-dev\build\ep\src\CTK\Libs\PluginFramework\ctkDefaultApplicationLauncher.cpp line 157 at ctkDefaultApplicationLauncher::start in C:\Development\MITK-dev\build\ep\src\CTK\Libs\PluginFramework\ctkDefaultApplicationLauncher.cpp line 85 at ctkPluginFrameworkLauncher::run in C:\Development\MITK-dev\build\ep\src\CTK\Libs\PluginFramework\ctkPluginFrameworkLauncher.cpp line 486 at ctkPluginFrameworkLauncher::run in C:\Development\MITK-dev\build\ep\src\CTK\Libs\PluginFramework\ctkPluginFrameworkLauncher.cpp line 427 at mitk::BaseApplication::main in C:\Development\MITK-dev\src\Modules\AppUtil\src\mitkBaseApplication.cpp line 719 at Poco::Util::Application::run in C:\Development\MITK-dev\build\ep\src\Poco\Util\src\Application.cpp line 358 at mitk::BaseApplication::run in C:\Development\MITK-dev\src\Modules\AppUtil\src\mitkBaseApplication.cpp line 849 at main in C:\Development\MITK-dev\src\Applications\Workbench\MitkWorkbench.cpp line 46 at invoke_main in D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl line 79 at __scrt_common_main_seh in D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl line 288 at __scrt_common_main in D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl line 331 at mainCRTStartup in D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp line 17 at BaseThreadInitThunk at RtlUserThreadStart
I don't think that this is the same error but I also don't know how to reproduce the mentioned problem.