Page MenuHomePhabricator

No LocalStorage for PlaneGeometryDataVtkMapper3D
Open, NormalPublic

Description

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.

PR: https://github.com/MITK/MITK/pull/246

Event Timeline

milano triaged this task as Normal priority.Apr 16 2020, 12:41 PM
milano created this task.
kislinsk edited projects, added MITK (v2021.02); removed MITK.

@kalali Do you have a use case with the mxn widget where you could check this pull request with multiple 3d render windows?

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.