BlendLuxCore icon indicating copy to clipboard operation
BlendLuxCore copied to clipboard

OIDN crashes Blender 3.4.1

Open Epicalert opened this issue 2 years ago • 1 comments

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:

  1. Open Blender
  2. Switch Render Engine to LuxCoreRender
  3. Enable Halt condition and Denoise with OIDN
  4. 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

Epicalert avatar Feb 07 '23 11:02 Epicalert

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

callym avatar Mar 14 '23 18:03 callym