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

Reply via email to