boostorg / boostorg/python

no_init/compiler-generated constructor on struct causes segfault

Aperta
#120 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
537
Fork
223
Merge medio
11h 22m
PR unite (30g)
2

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.