[Bf-cycles] CMJ causing an infinite loop
Lukas Stockner
lukas.stockner at freenet.de
Sat Apr 12 18:36:02 CEST 2014
Hi,
while working on adaptive stopping I noticed that sometimes tiles just
freeze when using CMJ sampling. They are marked as active, but don't
return from the kernel.
After running in GDB, stopping and printing out the thread states, it
seems that they enter an infinite loop in cmj_permute(). The entire
thread states are below, 5 rendering threads work fine, 3 are hanging.
The "kernel_write_pass_data" is one of my changes, but it's completely
unrelated to sampling and works correctly with Sobol.
Is this a known problem? I can't imagine that my changes cause it to
break since I changed nothing related to CMJ. Sadly, I can't just use
Sobol instead since it gives correlation problems (the stopping works on
the difference between even passes and all passes, and with Sobol they
don't converge to the same result. A solution would be to decide whether
to add a sample to the "even buffer" with a new RNG sample).
Lukas Stockner
(gdb) info threads
Id Target Id Frame
44 Thread 0x7fffb1e21700 (LWP 25975) "blender" cmj_permute
(p=1102306825, l=44721, i=1576503139) at
/home/lukas/BlenderSrc/blender/intern/cycles/kernel/kernel_jitter.h:107
43 Thread 0x7fffb2eb6700 (LWP 25974) "blender" 0x00007fffee61fb42
in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
42 Thread 0x7fffb39bd700 (LWP 25973) "blender" 0x00007fffee61fb42
in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
41 Thread 0x7fffb44c4700 (LWP 25972) "blender" 0x00007fffee61fb42
in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
40 Thread 0x7fffb4fcb700 (LWP 25971) "blender" 0x00007fffee61fb42
in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
39 Thread 0x7fffb5ad2700 (LWP 25970) "blender" 0x00007fffee61fb42
in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
38 Thread 0x7fffb65d9700 (LWP 25969) "blender" 0x00007fffee61fb42
in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
37 Thread 0x7fffb70e0700 (LWP 25968) "blender" 0x00007fffee61fb42
in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
36 Thread 0x7fffbd3cf700 (LWP 25967) "blender" 0x0000000003637a1d
in kernel_write_pass_data (L=..., evenSample=true, writeVarData=true,
writeConstData=false, weight=1, sample=258,
buffer=0x60a2028558d0, pd=0x7fffbd3c1d20, kg=0x7fffbd3c2610) at
/home/lukas/BlenderSrc/blender/intern/cycles/kernel/kernel_passes.h:148
35 Thread 0x7fffbded6700 (LWP 25966) "blender" cmj_permute
(p=2243010963, l=44721, i=3758030672) at
/home/lukas/BlenderSrc/blender/intern/cycles/kernel/kernel_jitter.h:104
34 Thread 0x7fffbe9dd700 (LWP 25965) "blender" 0x00007ffff2ef9c84
in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/x86_64-linux-gnu/libpthread.so.0
33 Thread 0x7fffbf4e4700 (LWP 25964) "blender" 0x00000000034ee00f
in cmj_permute (p=3837528855, l=44721, i=3522537535) at
/home/lukas/BlenderSrc/blender/intern/cycles/kernel/kernel_jitter.h:102
32 Thread 0x7fffbffeb700 (LWP 25963) "blender" 0x00000000034f24f2
in ccl::bvh_intersect_instancing (kg=kg at entry=0x7fffbffde610,
ray=ray at entry=0x7fffbffccd50, isect=isect at entry=0x7fffbffcc8d0,
visibility=visibility at entry=256) at
/home/lukas/BlenderSrc/blender/intern/cycles/kernel/kernel_bvh_traversal.h:194
31 Thread 0x7fffc0af2700 (LWP 25962) "blender" 0x00000000034ee00f
in cmj_permute (p=2537997320, l=44721, i=1494394943) at
/home/lukas/BlenderSrc/blender/intern/cycles/kernel/kernel_jitter.h:102
30 Thread 0x7fffc15f9700 (LWP 25961) "blender" 0x0000000003532c5d
in fetch (this=0xc110, index=<optimized out>) at
/home/lukas/BlenderSrc/blender/intern/cycles/kernel/kernel_compat_cpu.h:43
29 Thread 0x7fffc1dfa700 (LWP 25960) "blender" cmj_permute
(p=3687792016, l=44721, i=4285244509) at
/home/lukas/BlenderSrc/blender/intern/cycles/kernel/kernel_jitter.h:98
28 Thread 0x7fffd0f27700 (LWP 25958) "blender" 0x00007ffff2ef71f8
in pthread_join () from /lib/x86_64-linux-gnu/libpthread.so.0
27 Thread 0x7fffc8e63700 (LWP 25957) "blender" 0x00007fffee61fb42
in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
26 Thread 0x7fffc996a700 (LWP 25956) "blender" 0x00007fffee61fb42
in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
25 Thread 0x7fffca471700 (LWP 25955) "blender" 0x00007fffee61fb42
in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
24 Thread 0x7fffcaf78700 (LWP 25954) "blender" 0x00007fffee61fb42
in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
23 Thread 0x7fffcba7f700 (LWP 25953) "blender" 0x00007fffee61fb42
in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
22 Thread 0x7fffcc586700 (LWP 25952) "blender" 0x00007fffee61fb42
in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
21 Thread 0x7fffcd08d700 (LWP 25951) "blender" 0x00007fffee61fb42
in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
20 Thread 0x7fffd256e700 (LWP 25950) "blender" 0x00007ffff2ef9c84
in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/x86_64-linux-gnu/libpthread.so.0
19 Thread 0x7fffd3075700 (LWP 25949) "blender" 0x00007ffff2ef9c84
in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/x86_64-linux-gnu/libpthread.so.0
18 Thread 0x7fffd3b7c700 (LWP 25948) "blender" 0x00007ffff2ef9c84
in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/x86_64-linux-gnu/libpthread.so.0
17 Thread 0x7fffd4683700 (LWP 25947) "blender" 0x00007ffff2ef9c84
in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/x86_64-linux-gnu/libpthread.so.0
16 Thread 0x7fffd518a700 (LWP 25946) "blender" 0x00007ffff2ef9c84
in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/x86_64-linux-gnu/libpthread.so.0
15 Thread 0x7fffd5c91700 (LWP 25945) "blender" 0x00007ffff2ef9c84
in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/x86_64-linux-gnu/libpthread.so.0
14 Thread 0x7fffd6798700 (LWP 25944) "blender" 0x00007ffff2ef9c84
in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/x86_64-linux-gnu/libpthread.so.0
12 Thread 0x7fffdcc00700 (LWP 25941) "blender" 0x00007ffff2efd41d
in nanosleep () from /lib/x86_64-linux-gnu/libpthread.so.0
11 Thread 0x7fffe1a0e700 (LWP 25940) "threaded-ml"
0x00007fffeef1af7d in poll () from /lib/x86_64-linux-gnu/libc.so.6
9 Thread 0x7fffe253c700 (LWP 25938) "blender" 0x00007ffff2efbf60
in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
8 Thread 0x7fffe3043700 (LWP 25937) "blender" 0x00007ffff2efbf60
in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
7 Thread 0x7fffe3b4a700 (LWP 25936) "blender" 0x00007ffff2efbf60
in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
6 Thread 0x7fffe4651700 (LWP 25935) "blender" 0x00007ffff2efbf60
in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
5 Thread 0x7fffe5158700 (LWP 25934) "blender" 0x00007ffff2efbf60
in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
4 Thread 0x7fffe5c5f700 (LWP 25933) "blender" 0x00007ffff2efbf60
in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
3 Thread 0x7fffe6766700 (LWP 25932) "blender" 0x00007ffff2efbf60
in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
2 Thread 0x7fffe726d700 (LWP 25931) "blender" 0x00007ffff2efbf60
in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
* 1 Thread 0x7ffff7fb87c0 (LWP 25927) "blender" 0x00007fffdb6bc36c in
?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
More information about the Bf-cycles
mailing list