Same here, i´ll debug this soon....
- Code: Select all
luxrender(3017,0x10ede3000) malloc: *** error for object 0x106162b60: double free
*** set a breakpoint in malloc_error_break to debug
(lldb) bt
* thread #10: tid = 0x3903, 0x00007fff95c47ce2 libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT
frame #0: 0x00007fff95c47ce2 libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x00007fff9152c7d2 libsystem_c.dylib`pthread_kill + 95
frame #2: 0x00007fff9151da7a libsystem_c.dylib`abort + 143
frame #3: 0x00007fff9153f4ac libsystem_c.dylib`szone_error + 459
frame #4: 0x00007fff91540e2a libsystem_c.dylib`free_tiny_botch + 93
frame #5: 0x00007fff9157c789 libsystem_c.dylib`free + 194
frame #6: 0x0000000100311577 liblux.dylib`std::vector<unsigned int, std::allocator<unsigned int> >::_M_insert_aux(__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > >, unsigned int const&) + 295
frame #7: 0x000000010038e788 liblux.dylib`lux::BidirIntegrator::RequestSamples(lux::Sample*, lux::Scene const&) + 1144
frame #8: 0x00000001003f8e43 liblux.dylib`lux::SamplerRenderer::RenderThread::RenderImpl(lux::SamplerRenderer::RenderThread*) + 99
frame #9: 0x000000010062c120 liblux.dylib`thread_proxy + 160
frame #10: 0x00007fff9152a8bf libsystem_c.dylib`_pthread_start + 335
frame #11: 0x00007fff9152db75 libsystem_c.dylib`thread_start + 13
(lldb)
EDIT: from debug build:
- Code: Select all
(lldb) bt
* thread #15: tid = 0x3a03, 0x00007fff91503e08 libsystem_c.dylib`memcpy$VARIANT$sse42 + 331, stop reason = EXC_BAD_ACCESS (code=1, address=0x164d056e7)
frame #0: 0x00007fff91503e08 libsystem_c.dylib`memcpy$VARIANT$sse42 + 331
frame #1: 0x00000001002b1b8f liblux.dylib`unsigned int* std::__copy<true, std::random_access_iterator_tag>::copy<unsigned int>(unsigned int const*, unsigned int const*, unsigned int*) + 63
frame #2: 0x00000001002b1b49 liblux.dylib`unsigned int* std::__copy_aux<unsigned int*, unsigned int*>(unsigned int*, unsigned int*, unsigned int*) + 41
frame #3: 0x00000001002b1b15 liblux.dylib`unsigned int* std::__copy_normal<false, false>::__copy_n<unsigned int*, unsigned int*>(unsigned int*, unsigned int*, unsigned int*) + 37
frame #4: 0x00000001002b1add liblux.dylib`unsigned int* std::copy<unsigned int*, unsigned int*>(unsigned int*, unsigned int*, unsigned int*) + 45
frame #5: 0x00000001002b1aa5 liblux.dylib`unsigned int* std::__uninitialized_copy_aux<unsigned int*, unsigned int*>(unsigned int*, unsigned int*, unsigned int*, std::__true_type) + 37
frame #6: 0x00000001002b1a75 liblux.dylib`unsigned int* std::uninitialized_copy<unsigned int*, unsigned int*>(unsigned int*, unsigned int*, unsigned int*) + 37
frame #7: 0x00000001002b14d5 liblux.dylib`unsigned int* std::__uninitialized_copy_a<unsigned int*, unsigned int*, unsigned int>(unsigned int*, unsigned int*, unsigned int*, std::allocator<unsigned int>) + 37
frame #8: 0x000000010047d416 liblux.dylib`std::vector<unsigned int, std::allocator<unsigned int> >::_M_insert_aux(__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > >, unsigned int const&) + 502
frame #9: 0x000000010047c944 liblux.dylib`std::vector<unsigned int, std::allocator<unsigned int> >::push_back(unsigned int const&) + 116
frame #10: 0x000000010054f0ec liblux.dylib`lux::BidirIntegrator::RequestSamples(lux::Sample*, lux::Scene const&) + 748
frame #11: 0x00000001005df157 liblux.dylib`lux::SamplerRenderer::RenderThread::RenderImpl(lux::SamplerRenderer::RenderThread*) + 151
frame #12: 0x00000001005e0c65 liblux.dylib`void boost::_bi::list1<boost::_bi::value<lux::SamplerRenderer::RenderThread*> >::operator()<void (*)(lux::SamplerRenderer::RenderThread*), boost::_bi::list0>(boost::_bi::type<void>, void (*&)(lux::SamplerRenderer::RenderThread*), boost::_bi::list0&, int) + 85
frame #13: 0x00000001005e0bff liblux.dylib`boost::_bi::bind_t<void, void (*)(lux::SamplerRenderer::RenderThread*), boost::_bi::list1<boost::_bi::value<lux::SamplerRenderer::RenderThread*> > >::operator()() + 63
frame #14: 0x00000001005e0bac liblux.dylib`boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(lux::SamplerRenderer::RenderThread*), boost::_bi::list1<boost::_bi::value<lux::SamplerRenderer::RenderThread*> > > >::run() + 28
frame #15: 0x000000010088ea90 liblux.dylib`thread_proxy + 160
frame #16: 0x00007fff9152a8bf libsystem_c.dylib`_pthread_start + 335
frame #17: 0x00007fff9152db75 libsystem_c.dylib`thread_start + 13
(lldb)
console too: luxconsole(7968,0x103987000) malloc: *** error for object 0x100b20c80: pointer being freed was not allocated
- Code: Select all
luxconsole(8057,0x104ad1000) malloc: *** error for object 0x100b20690: double free
*** set a breakpoint in malloc_error_break to debug
[Lux 2012-May-18 13:23:31 INFO : 0] Thread 2 uses seed: 2512194109
[Lux
Program received signal SIGABRT, Aborted.
[Switching to process 8057 thread 0x3303]
0x00007fff95c47ce2 in __pthread_kill ()
(gdb) bt
#0 0x00007fff95c47ce2 in __pthread_kill ()
#1 0x00007fff9152c7d2 in pthread_kill ()
#2 0x00007fff9151da7a in abort ()
#3 0x00007fff9153f4ac in szone_error ()
#4 0x00007fff91540e2a in free_tiny_botch ()
#5 0x00007fff9157c789 in free ()
#6 0x00000001001dd577 in std::vector<unsigned int, std::allocator<unsigned int> >::_M_insert_aux ()
#7 0x000000010025a788 in lux::BidirIntegrator::RequestSamples ()
#8 0x00000001002c4e43 in lux::SamplerRenderer::RenderThread::RenderImpl ()
#9 0x00000001004f8120 in thread_proxy ()
#10 0x00007fff9152a8bf in _pthread_start ()
#11 0x00007fff9152db75 in thread_start ()
(gdb)
Edit2: also pylux crashes ocassinally, prefered when starting blender with preview pane "on top" , same crashlog.
I verified this does not happen with rc1.
Culprit is still 4a773ea2940b, the hybrid lightstrategy was seperate it seems.
Hard to track, perhaps pointer is allocated but block gets bad and cannot found back ( allignment ? ). Or possibly we overshoot the indizes in the loops ?
Jens