Unusual UI freeze with not too big volume and low VRAM

I just wish to report this unexpected behavior. It is not a fundamental problem.

My laptop has 1 GB shared VRAM. Loaded a DICOM volume 1024x1024x499 volume and initiated a Volume Rendering display (GPU tay casting, normal quality). No 3D view is obtained, that was expected.

What’s weird is a partial UI freeze : the module’s widgets, slice views and 3D view do not respond at all, while the upper Module selection combobox and the menus work normally, though not altering the UI anymore. No background process is hung nor eating CPU.

Below is console output.

Imported a DICOM directory, checking for extensions
The following data types are in your database:

Structured Report Objects

The following extensions are not installed, but may help you work with this data:

QuantitativeReporting

You can install extensions using the Extensions Manager option from the View menu.
Loading with imageIOName: GDCM
Window/level found in DICOM tags (center=40.0, width=400.0) has been applied to volume 3: TSA Willis 1024
Switch to module: “VolumeRendering”
amdgpu: Not enough memory for command submission.
Switch to module: “Volumes”
Switch to module: “Transforms”
Assertion this->Table->columnWidth(j) == newWidth failed in /home/arc/src/Slicer4138-SuperBuild/CTK/Libs/Widgets/ctkMatrixWidget.cpp line 242

Assertion this->Table->rowHeight(i) == newHeight failed in /home/arc/src/Slicer4138-SuperBuild/CTK/Libs/Widgets/ctkMatrixWidget.cpp line 253
An OpenGL Core Profile was requested, but it is not supported on the current platform. Falling back to a non-Core profile. Note that this might cause rendering issues.

DevTools listening on ws://127.0.0.1:1337/devtools/browser/360087ad-40d1-40d3-8dca-b3c4141061a1
Remote debugging server started successfully. Try pointing a Chromium-based browser to http://127.0.0.1:1337
Switch to module: “Volumes”

The amdgpu module declares “Not enough memory for command submission” very quickly.

I’m wondering if Slicer can catch this limit, issue a warning and restore control to the main thread.

Not a fundamental problem, just FYI.

Regards.

Slicer catches C++ exceptions generated from library code, but this looks like a driver error so it may not be possible for us to catch. Once you start getting these driver errors the system may be in a corrupt state that is not recoverable.