OIDN crashes Blender 3.4.1
When rendering with OpenImageDenoise Blender crashes, but in the viewport it works fine. Also thanks for keeping LuxCore alive!
.blend file: Default project
Steps to reproduce:
- Open Blender
- Switch Render Engine to LuxCoreRender
- Enable Halt condition and Denoise with OIDN
- Render
Screenshots or rendered images: N/A
Error message from Blender console:
...
[LuxCore][66.508] Samples per pixel 100%, rendering done.
Refreshing DENOISED
[SDL][66.573] Image pipeline: film.imagepipelines.001
[SDL][66.573] Image pipeline step 0: INTEL_OIDN
[SDL][66.573] Image pipeline step 1: NOP
[SDL][66.573] Image pipeline step 2: TONEMAP_LINEAR
free(): invalid pointer
zsh: IOT instruction (core dumped) blender
OS: Arch Linux Blender version: 3.4.1 LuxCore version: 8bdcb81
I can reproduce this here - tried debugging and can't find anywhere obvious, the same problem doesn't happen in luxcoreui or luxcoreconsole, or with denoising off.
I'm testing with this blender file: (with the halt conditions turned down to 10-20 instead of 2000, but it doesn't seem to matter, it's just quicker) https://github.com/LuxCoreRender/LuxCoreTestScenes/tree/master/scenes/UnderwaterPaintings
With API logging turned on, I get the following output:
[API][13.815] Begin [virtual const luxrays::Properties& luxcore::detail::RenderSessionImpl::GetStats() const]()
[API][13.815] End [virtual const luxrays::Properties& luxcore::detail::RenderSessionImpl::GetStats() const]()
Refreshing DENOISED
[API][13.815] Begin [virtual void luxcore::detail::RenderSessionImpl::Parse(const luxrays::Properties&)](Properties[
film.imagepipelines.001.0.type = "INTEL_OIDN"
film.imagepipelines.001.0.oidnmemory = 6000
film.imagepipelines.001.0.sharpness = 0
film.imagepipelines.001.0.prefilter.enable = 1
film.imagepipelines.001.1.type = "NOP"
film.imagepipelines.001.2.type = "TONEMAP_LINEAR"
film.imagepipelines.001.2.scale = 1
film.imagepipelines.001.radiancescales.0.enabled = 1
film.imagepipelines.001.radiancescales.0.globalscale = 1
film.imagepipelines.001.radiancescales.0.rgbscale = 1 1 1
])
[SDL][13.816] Image pipeline: film.imagepipelines.001
[SDL][13.816] Image pipeline step 0: INTEL_OIDN
[SDL][13.816] Image pipeline step 1: NOP
[SDL][13.816] Image pipeline step 2: TONEMAP_LINEAR
[API][13.816] End [virtual void luxcore::detail::RenderSessionImpl::Parse(const luxrays::Properties&)]()
[API][13.816] Begin [virtual bool luxcore::detail::RenderSessionImpl::IsInPause() const]()
[API][13.816] Return [virtual bool luxcore::detail::RenderSessionImpl::IsInPause() const](false)
[API][13.816] Begin [virtual void luxcore::detail::RenderSessionImpl::Pause()]()
[API][13.816] End [virtual void luxcore::detail::RenderSessionImpl::Pause()]()
[API][13.816] Begin [virtual luxcore::Film& luxcore::detail::RenderSessionImpl::GetFilm()]()
[API][13.816] Return [virtual luxcore::Film& luxcore::detail::RenderSessionImpl::GetFilm()](0x7fc440707140)
[API][13.816] Begin [virtual void luxcore::detail::FilmImpl::AsyncExecuteImagePipeline(u_int)](1)
[API][13.816] End [virtual void luxcore::detail::FilmImpl::AsyncExecuteImagePipeline(u_int)]()
[API][13.816] Begin [virtual luxcore::Film& luxcore::detail::RenderSessionImpl::GetFilm()]()
[API][13.816] Return [virtual luxcore::Film& luxcore::detail::RenderSessionImpl::GetFilm()](0x7fc440707140)
[API][13.816] Begin [virtual bool luxcore::detail::FilmImpl::HasDoneAsyncExecuteImagePipeline()]()
[API][13.816] Return [virtual bool luxcore::detail::FilmImpl::HasDoneAsyncExecuteImagePipeline()](false)
free(): invalid pointer