Blender 2.55 1627_33321, WinXP Pro 32bit SP2, Pentium D 3.00 GHz, 2Gb RAM, nVidia GF 7300 GS, NVIDIA driver: 6.14.11.9621
toDO:
1. Render
2. Change YScale in Texture to 0.1
3. Render again. Note how the image looks now
4. Render one more time. Now here are these dots.
5. If not - try to change YScale to 1.0, render, then back to 0.1 and render.
If dots presents - re-render doesn't fix anything.
Usually it's "fixes" and dots "go away" for a session. Adter reloading Blender it starts again.
I think it's a minor bug but it's "something" and "somewhere".
Description
Event Timeline
ubuntu 10.04 64bits rev3348
I think there is a problem with color output socket of texture node.
It is connected to two RGB Curves nodes.
If I duplicate texture node in order to connect each color output socket to only one RGB Curves node; there is no dots on render.
Attached: Compositor_Distort_Node_weirdDots_small1.blend
This is a simplified file that shows the same error.
The problem is related to threading since setting a single thread in the render options makes this work without artifacts.
Attached valgrind log, using its thread checking option (helgrind)
Ignore the first 87 lines, they always show.
and I think its safe to ignore:
multitex_ext (texture.c:1354)
- Its not a node material
These look like they could be the problem
==15657== Possible data race during write of size 1 at 0xa7adc90 by thread #5
==15657== at 0x4C292D4: memcpy (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==15657== by 0xC1BE25: typecheck_compbuf_color (CMP_util.c:236)
....
==15657== Possible data race during read of size 1 at 0xa7adc9c by thread #5
==15657== at 0xC00124: do_curves (CMP_curves.c:140)
==15657== by 0xC1C8FC: composit1_pixel_processor (CMP_util.c:459)
==15657== by 0xC003E7: node_composit_exec_curve_rgb (CMP_curves.c:181)
Fix in svn.
Texture node was meant to be procedural; it has no buffer, but it allows per-pixel sampling.
The sampled color was using same memory for threads.