On Thu, May 11, 2017 at 4:52 PM, Gianluca Sforna <gia...@gmail.com> wrote:
> The really weird failures are the the i686 ones, where all the tests
> passed with python2, while a large number of them segfaulted on
> python3.

So I digged this issue further and got this backtrace of one segfault

#0  0xf5381914 in boost::python::objects::enum_base::add_value(char
const*, long) () from /lib/libboost_python3.so.1.60.0
#1  0xf4d9c00b in
    name=0xf4dcd94a "AllProps", this=0xffffabac) at
#2  RDKit::mol_wrapper::wrap () at
#3  0xf4d84c15 in wrap_mol () at
#4  0xf4d3945a in init_module_rdchem () at

This seems to be related to the symbol AllProps, that was already
changed to fix #1351

but probably still not suitable for use on 32bit linux; I read some
pages around about the issue [1, 2] but I am still not sure abut the
most reliable way to fix it. My takeaway is that we are not using a
really robust approach, but with C++11 there is a slightly better
method[3,4]; of course that would not help with the current release...


[2] http://stackoverflow.com/questions/1448396/how-to-use-enums-as-flags-in-c
[3] http://blog.bitwigglers.org/using-enum-classes-as-type-safe-bitmasks/

Gianluca Sforna

http://plus.google.com/+gianlucasforna - http://twitter.com/giallu
Tinker Garage - http://tinkergarage.it

Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Rdkit-devel mailing list

Reply via email to