On Tue, 20 Nov 2018 22:45:46 +0100 "Matteo F. Vescovi" <m...@debian.org> wrote:
> Hi again!
> 
> On 2018-11-20 at 18:55 (+0100), Lucio Crusca wrote:
> > On 20/11/18 18:06, Matteo F. Vescovi wrote:
> >> Is it ok for you, Lucio?
> >
> > Yes, no problem, I can wait. Thanks.
> 
> Meanwhile, I figured out what's the problem here: OpenColorIO library.
> 
> A rebuild+install on up-to-date unstable/sid machine of that library
> made Blender run back again.
> 
> I'll ask for a give-back on all architectures, since OCIO seems to be
> not part of any transition, at the moment.

Normally when a rebuild fixes a problem like this, there's probably an ABI 
break somewhere, which needs to be addressed properly.

Thread 1 "blender" received signal SIGSEGV, Segmentation fault.
YAML::detail::node_data::get<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > > (pMemory=..., 
key="ocio_profile_version", this=<optimized out>) at 
/usr/include/yaml-cpp/node/detail/impl.h:91
91      /usr/include/yaml-cpp/node/detail/impl.h: No such file or directory.
(gdb) bt
#0  0x00007ffff4dc95e2 in 
YAML::detail::node_data::get<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > 
>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> const&, boost::shared_ptr<YAML::detail::memory_holder>) const (pMemory=..., 
key="ocio_profile_version", this=<optimized out>)
    at /usr/include/yaml-cpp/node/detail/impl.h:91
#1  0x00007ffff4dc95e2 in 
YAML::detail::node_ref::get<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > 
>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> const&, boost::shared_ptr<YAML::detail::memory_holder>) const (pMemory=..., 
key="ocio_profile_version", this=<optimized out>)
    at /usr/include/yaml-cpp/node/detail/node_ref.h:61
#2  0x00007ffff4dc95e2 in 
YAML::detail::node::get<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > 
>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> const&, boost::shared_ptr<YAML::detail::memory_holder>) const (pMemory=..., 
key="ocio_profile_version", this=<optimized out>)
    at /usr/include/yaml-cpp/node/detail/node.h:121
#3  0x00007ffff4dc95e2 in YAML::Node::operator[]<char [21]>(char const (&) 
[21]) const (this=this@entry=0x7fffffffdbc0, key=...) at 
/usr/include/yaml-cpp/node/impl.h:370
#4  0x00007ffff4dc2b1d in OpenColorIO::v1::(anonymous 
namespace)::load(YAML::Node const&, OpenColorIO::v1::ConfigRcPtr&, char const*) 
(node=..., c=std::tr1::shared_ptr<OpenColorIO::v1::Config> (use count 1, weak 
count 0) = {...}, filename=filename@entry=0x7fffffffe200 
"/usr/share/blender/datafiles/colormanagement/config.ocio") at 
./src/core/OCIOYaml.cpp:1445
#5  0x00007ffff4dc669d in OpenColorIO::v1::OCIOYaml::open(std::istream&, 
std::tr1::shared_ptr<OpenColorIO::v1::Config>&, char const*) const 
(this=<optimized out>, istream=..., 
c=std::tr1::shared_ptr<OpenColorIO::v1::Config> (use count 1, weak count 0) = 
{...}, filename=filename@entry=0x7fffffffe200 
"/usr/share/blender/datafiles/colormanagement/config.ocio")
    at ./src/core/OCIOYaml.cpp:1841
#6  0x00007ffff4d3fa63 in OpenColorIO::v1::Config::CreateFromFile(char const*) 
(filename=0x7fffffffe200 
"/usr/share/blender/datafiles/colormanagement/config.ocio") at 
./src/core/Config.cpp:385
#7  0x000055555801f37f in OCIOImpl::configCreateFromFile(char const*) ()
#8  0x0000555556fc3d3a in colormanagement_init ()
#9  0x00005555565a3fe2 in main ()
(gdb) quit

The crash is happening in libyaml-cpp.

ii  libyaml-cpp0.5v5:amd64                  0.5.3-0.1                           
  amd64        YAML parser and emitter for C++

Note that that was updated to 0.5.3 two days ago. Downgrading to the
version in testing fixes this crash. So it seems like yaml-cpp broke
the ABI in 0.5.3 if a rebuild of opencolorio against the new version
solves the crash.

I have noticed that both yaml-cpp and opencolorio build-dep on libboost-dev,
but they don't depend on any boost package. If yaml-cpp is exposing some
boost symbols in its own ABI, it could need a SONAME bump for every
boost transition.

Cheers,
Emilio

Reply via email to