Re: Multithreading error

Larry Gritz

With a debug build, can you get a stack trace at the point that the assertion is hit?

That looks like an assertion in SimplePool::alloc(). But I'm not sure what could go wrong. Maybe something that contains a SimplePool that should be per thread is being shared?

On Sep 23, 2021, at 9:38 AM, Mark Bolstad <the.render.dude@...> wrote:

Hoping for some insight. I’ve bootstrapped OSL into a custom renderer and for the most part my simple scene is working on a single thread( the shader is three layers, marble->checkerboard (Cb)-> diffuse (base_color)).

As soon as I enable a 2nd thread, I get an assertion violation in oslexec_pvt.h:1319, “reinterpret_cast<uintptr_t>(ptr) % alignment == 0” failed.

AFAIK I’m creating the thread info and shading context per thread correctly, but obviously I’m doing something wrong.

This is with 11.15 and 11.13. Any ideas as to where I should poke to find the error?


Larry Gritz

Join { to automatically receive all group messages.