Maybe it's related to this? https://stackoverflow.com/questions/4697859/mac-os-x-and-static-boost-libs-stdstring-fail
On Mon, Jan 26, 2015 at 11:03 AM, Simon Smith <[email protected]> wrote: > Hi, > > OK, so we have OIIO (v1.4) running fine under Windows and Linux, but have > hit a very odd crash in OIIO under OSX that I cannot get to the bottom of > (and it happens every time) - basically it crashes out in the texture > system. > Here are 2 stack traces from GBD after it went pop > > *Program received signal SIGABRT, Aborted.* > *[Switching to process 98037 thread 0x9503]* > *0x00007fff8dbd2ce2 in __pthread_kill ()* > *(gdb) bt* > *#0 0x00007fff8dbd2ce2 in __pthread_kill ()* > *#1 0x00007fff8fa837d2 in pthread_kill ()* > *#2 0x00007fff8fa74a7a in abort ()* > *#3 0x00007fff8fad384c in free ()* > *#4 0x00007fff8908b702 in std::string::_Rep::_M_dispose ()* > *#5 0x00007fff8908c424 in std::string::reserve ()* > *#6 0x00007fff8908c7d9 in std::string::append ()* > *#7 0x00000001027d1f7a in OpenImageIO::v1_4::declare_imageio_format ()* > *#8 0x00000001027d2553 in OpenImageIO::v1_4::pvt::catalog_all_plugins ()* > *#9 0x00000001027d4810 in OpenImageIO::v1_4::ImageInput::create ()* > *#10 0x0000000102800c4e in OpenImageIO::v1_4::pvt::ImageCacheFile::open ()* > *#11 0x0000000102805a4d in > OpenImageIO::v1_4::pvt::ImageCacheImpl::find_file ()* > *#12 0x00000001027ff807 in > OpenImageIO::v1_4::pvt::TextureSystemImpl::find_texturefile ()* > *#13 0x0000000102824d95 in > OpenImageIO::v1_4::pvt::TextureSystemImpl::get_texture_handle ()* > > > > *Program received signal EXC_BAD_ACCESS, Could not access memory.* > *Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000010* > *[Switching to process 98059 thread 0x9603]* > *0x00007fff8906aa3f in std::_Rb_tree_rotate_left ()* > *(gdb) bt* > *#0 0x00007fff8906aa3f in std::_Rb_tree_rotate_left ()* > *#1 0x00007fff8906ab8b in std::_Rb_tree_insert_and_rebalance ()* > *#2 0x00000001027d6409 in std::_Rb_tree<std::string, > std::pair<std::string const, OpenImageIO::v1_4::ImageInput* (*)()>, > std::_Select1st<std::pair<std::string const, OpenImageIO::v1_4::ImageInput* > (*)()> >, std::less<std::string>, std::allocator<std::pair<std::string > const, OpenImageIO::v1_4::ImageInput* (*)()> > >::_M_insert ()* > *#3 0x00000001027d5212 in std::map<std::string, > OpenImageIO::v1_4::ImageInput* (*)(), std::less<std::string>, > std::allocator<std::pair<std::string const, OpenImageIO::v1_4::ImageInput* > (*)()> > >::operator[] ()* > *#4 0x00000001027d1bab in OpenImageIO::v1_4::declare_imageio_format ()* > *#5 0x00000001027d276f in OpenImageIO::v1_4::pvt::catalog_all_plugins ()* > *#6 0x00000001027d4810 in OpenImageIO::v1_4::ImageInput::create ()* > *#7 0x0000000102800c4e in OpenImageIO::v1_4::pvt::ImageCacheFile::open ()* > *#8 0x0000000102805a4d in > OpenImageIO::v1_4::pvt::ImageCacheImpl::find_file ()* > *#9 0x00000001027ff807 in > OpenImageIO::v1_4::pvt::TextureSystemImpl::find_texturefile ()* > *#10 0x0000000102824d95 in > OpenImageIO::v1_4::pvt::TextureSystemImpl::get_texture_handle ()* > > It can also report other areas, but seeing it all around std::string seems > gets me suspicious that somehow we're compiling/linking against the wrong > libraries somewhere along the line. > Perhaps debug and release, or perhaps in the versions of the c-runtime > somehow. > Here is another stack trace: > > *imagecache.cpp:1233: failed assertion 'memsize() == 0 && size > 0'* > > *Program received signal SIGABRT, Aborted.* > *[Switching to process 98099 thread 0x8803]* > *0x00007fff8dbd2ce2 in __pthread_kill ()* > *(gdb) bt* > *#0 0x00007fff8dbd2ce2 in __pthread_kill ()* > *#1 0x00007fff8fa837d2 in pthread_kill ()* > *#2 0x00007fff8fa74a7a in abort ()* > *#3 0x00000001028061f3 in OpenImageIO::v1_4::pvt::ImageCacheTile::read ()* > *#4 0x000000010280561f in > OpenImageIO::v1_4::pvt::ImageCacheImpl::add_tile_to_cache ()* > *#5 0x000000010280cf9c in > OpenImageIO::v1_4::pvt::ImageCacheImpl::find_tile_main_cache ()* > *#6 0x00000001028120f4 in > OpenImageIO::v1_4::pvt::ImageCacheImpl::find_tile ()* > *#7 0x000000010281f4c8 in > OpenImageIO::v1_4::pvt::TextureSystemImpl::accum_sample_bilinear ()* > *#8 0x000000010281e098 in > OpenImageIO::v1_4::pvt::TextureSystemImpl::texture_lookup ()* > *#9 0x000000010281d7e2 in > OpenImageIO::v1_4::pvt::TextureSystemImpl::texture ()* > > I was wondering if there was an easy way to see what we are linking to, > and work out if we were somehow mixing release and debug code together. > The thing is though, we are dynamically linking to everything (from boost > through to OIIO, libpng/jpeg/tiff etc) so I would expect it to try to load > multiple versions of the same library, or give me some sort of error. > > Anyway, as you can see I'm at a total loss here and hence asking if anyone > here has any input from either experience under OSX with OIIO. > > As a last resort I will rebuild all the dependencies and on to OIIO from > scratch, but if I made an error somewhere in doing that originally, it is > likely that I could just make it again next time around. > I have a mix of creating XCode projects and building from there (OIIO for > example) through to just using make, which I assume might use GCC instead > of the LLVM in XCode - I'm not sure if this might be causing the issue. > > Thanks in advance for any help in this one .... > > > > > Best Regards, > Simon > > _______________________________________________ > Oiio-dev mailing list > [email protected] > http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org > >
_______________________________________________ Oiio-dev mailing list [email protected] http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
