Description
LuxCoreNodeShapeHeightDisplacement causes intermittent crashes during interactive render. The crash can be triggered in different ways but displacement is always the common factor. Removing the displacement node eliminates the crashes entirely.
Ways it can be triggered
- Starting interactive render with displacement node connected
- Changing a value (e.g. scale) on the displacement node while interactive render is running
- Starting interactive render after editing a scene that previously had displacement
Steps to reproduce (most reliable)
- New scene with a default cube
- Create a LuxCore material
- Add a LuxCoreNodeShapeHeightDisplacement node and connect it to the Material Output
- Switch viewport to Rendered mode to start interactive render
- Crash occurs immediately or after changing the scale value
Notes
- Removing the displacement node completely eliminates all crashes
- The crash location varies between blender.exe and pyluxcore.pyd
- Stack traces consistently show slg::ExtMeshCache and slg::RenderState
- Disconnecting the displacement node while interactive render is running does not update the viewport, the displaced mesh remains visible until the session is restarted.
The slg::ExtMeshCache appears to hold references to displaced mesh geometry that become invalid or uninitialized during interactive render session startup or updates. Unlike regular material changes which go through the material pipeline, displacement modifies actual mesh geometry via LuxCoreNodeShapeHeightDisplacement, requiring a mesh cache rebuild. The crash likely occurs when LuxCore attempts to serialize or access this cache during a BeginSceneEdit/EndSceneEdit cycle while the displaced mesh data is in an inconsistent state.
When the displacement node is disconnected during interactive render, the viewport continues showing the displaced mesh, suggesting the mesh cache is not being invalidated on topology changes to the shape node tree, only on full session restarts.
Crash logs
Attached crash log and blender file
Displacement.crash_changing Scale Value.txt
Displacement.zip
Environment
- Blender: 4.5.7, Commit date: 2026-02-16 13:34, Hash a9874eeece8d
- BlendLuxCore: v2.11.0-a.5
- OS: Windows 11
- GPU: NVIDIA GeForce RTX 5080
Description
LuxCoreNodeShapeHeightDisplacement causes intermittent crashes during interactive render. The crash can be triggered in different ways but displacement is always the common factor. Removing the displacement node eliminates the crashes entirely.
Ways it can be triggered
Steps to reproduce (most reliable)
Notes
The slg::ExtMeshCache appears to hold references to displaced mesh geometry that become invalid or uninitialized during interactive render session startup or updates. Unlike regular material changes which go through the material pipeline, displacement modifies actual mesh geometry via LuxCoreNodeShapeHeightDisplacement, requiring a mesh cache rebuild. The crash likely occurs when LuxCore attempts to serialize or access this cache during a BeginSceneEdit/EndSceneEdit cycle while the displaced mesh data is in an inconsistent state.
When the displacement node is disconnected during interactive render, the viewport continues showing the displaced mesh, suggesting the mesh cache is not being invalidated on topology changes to the shape node tree, only on full session restarts.
Crash logs
Attached crash log and blender file
Displacement.crash_changing Scale Value.txt
Displacement.zip
Environment