boostorg / boostorg/python

no_init/compiler-generated constructor on struct causes segfault

Aberta
#120 5 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
C++
Estrelas
537
Forks
223
Merge médio
11h 22min
PRs com merge (30d)
2

Descrição

If I compile the following extension, then as soon as I load it into a Python script I get a `Segmentation fault (core dumped)`. The cause seems to be the `no_init` on class Bar. I'd be grateful for any help.

```
#include

using namespace std;
using namespace boost::python;

struct Bar {
string x;
};

BOOST_PYTHON_MODULE (libtest_python) {
class_("Bar", no_init)
.def_readonly("x", &Bar::x);
}
```

The reason for using the `no_init` is that `init()` doesn't pick up the compiler-generated constructor. If I write my own constructor and use `init()`, it loads fine. (But I'm wrapping code that I can't modify, and the struct constructor is compiler generated.)

Using Windows/Cygwin, gcc 5.4.0, python 2.7 and Boost 1.60.0, all installed via Cygwin rather than windows.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.