<div dir="ltr"><div>To track down a crash I&#39;m getting my Cycles application I created a very minimal version of cycles_standalone.cpp (attached). That does nothing except create a context and set progress CB.</div><div><br></div><div>The result, weirdly is a crash in the process initialization function (as in never gets to the compiled application code at all, never reaches the start of the main function ). Looks to be crashing creating a boost condition_variable object. I suspect this may be a similar issue to what I&#39;m seeing in my app.</div><div><br></div><div>This is at <span style="background-color:rgb(240,247,255);color:rgb(0,0,0);font-family:Consolas,&quot;Lucida Console&quot;,monospace;font-size:12.8px">5d0d9687ace6b07f42a153db1294669b46fedd15 on Ubunty 14.04, with GPU, CUDA, and MULTI disabled. The full app still works fine (you can replace </span><font color="#000000" face="Consolas, Lucida Console, monospace"><span style="font-size:12.8px">\src\app\</span></font>cycles_standalone.cpp with the attached to repro the crash).</div><div><span style="background-color:rgb(240,247,255);color:rgb(0,0,0);font-family:Consolas,&quot;Lucida Console&quot;,monospace;font-size:12.8px"><br></span></div><div>So what else needs to happen in an Cycles application to avoid the globals getting trashed in this way?</div><div><br></div><div>The actual crash I&#39;m getting in my app is a &quot;free(): invalid pointer&quot; error the first time set_status is called (as with this crash I suspect this is caused by some global object that was initialized badly in the process initialization function)</div><div><br></div><div><br></div><div><br></div><div>Program received signal SIGABRT, Aborted.</div><div>0x00007ffff6417c37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56</div><div>56      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.</div><div>(gdb) bt</div><div>#0  0x00007ffff6417c37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56</div><div>#1  0x00007ffff641b028 in __GI_abort () at abort.c:89</div><div>#2  0x00007ffff6410bf6 in __assert_fail_base (fmt=0x7ffff65613b8 &quot;%s%s%s:%u: %s%sAssertion `%s&#39; failed.\n%n&quot;, assertion=assertion@entry=0x326a290 &quot;!ret&quot;, file=file@entry=0x326a1d0 &quot;/usr/include/boost/thr</div><div>ead/pthread/condition_variable_fwd.hpp&quot;, line=line@entry=81, function=function@entry=0x326a800 &lt;boost::condition_variable::~condition_variable()::__PRETTY_FUNCTION__&gt; &quot;boost::condition_variable::~conditi</div><div>on_variable()&quot;) at assert.c:92</div><div>#3  0x00007ffff6410ca2 in __GI___assert_fail (assertion=0x326a290 &quot;!ret&quot;, file=0x326a1d0 &quot;/usr/include/boost/thread/pthread/condition_variable_fwd.hpp&quot;, line=81, function=0x326a800 &lt;boost::condition_vari</div><div>able::~condition_variable()::__PRETTY_FUNCTION__&gt; &quot;boost::condition_variable::~condition_variable()&quot;) at assert.c:101</div><div>#4  0x0000000003181eb0 in boost::condition_variable::~condition_variable (this=0x37faee0 &lt;ccl::TaskScheduler::queue_cond&gt;, __in_chrg=&lt;optimized out&gt;) at /usr/include/boost/thread/pthread/condition_variab</div><div>le_fwd.hpp:81</div><div>#5  0x00007ffff641d1a9 in __run_exit_handlers (status=0, listp=0x7ffff679f6c8 &lt;__exit_funcs&gt;, run_list_atexit=run_list_atexit@entry=true) at exit.c:82</div><div>#6  0x00007ffff641d1f5 in __GI_exit (status=&lt;optimized out&gt;) at exit.c:104</div><div>#7  0x00007ffff6402f4c in __libc_start_main (main=0x56c148 &lt;main(int, char const**)&gt;, argc=1, argv=0x7fffffffdf48, init=&lt;optimized out&gt;, fini=&lt;optimized out&gt;, rtld_fini=&lt;optimized out&gt;, stack_end=0x7ffff</div><div>fffdf38) at libc-start.c:321</div><div>#8  0x000000000056ba7c in _start ()</div><div><br></div></div>