Hair bsdf implementation question

I have noticed this behavior in Cycles hair rendering:

This is a close up of a some hair strands. What is causing the sudden changes of side of the “glint” in the hair strands? They are marked with red arrows in the image above.

I did not find information about this kind of behavior in the publications about hair bsdf. Nor did I find in cycles code where such a behavior could stem from (I am using Blender 2.80).

It looks like a bug, or a float precision issue if these hairs are very small.

To investigate this would require a .blend file, and you could report it as a bug.

Ok, thanks. Will try to provide a minimal sample as soon as possible.

It appears I cannot share the .blend file I used for this bug report. Will try provide an another one.

I noticed something nodd in blender\intern\cycles\blender\blender_curves.cpp, ObtainCacheParticleData().

b_psys.co_hair(*b_ob, pa_no, step_no, nco);

co_hair() has a code path where nco does not get initialized. This is unsafe imho and unclear by co_hair() signature. Maybe it is one possible cause.