Message362834
I built your example with 3.6:
git clone https://github.com/pybind/pybind11
wget https://bugs.python.org/file48923/decimal_crash.zip
unzip decimal_crash.zip
git checkout v3.6.7
./configure --with-pydebug
make
g++ -std=c++11 -pthread -Wno-unused-result -Wsign-compare -g -Og -Wall -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -I. -I./Include -I./pybind11/include -c main.cpp
g++ -pthread -Xlinker -export-dynamic -o main main.o libpython3.6dm.a -lpthread -ldl -lutil -lm
cp python python3
PATH=.:$PATH
./main
And I literally get this error (not always, it may take 10 runs or so):
$ ./main
Fatal Python error: Python memory allocator called without holding the GIL
Thread 0x00007f1e73fff700 (most recent call first):
Thread 0x00007f1e7b836700 (most recent call first):
Thread 0x00007f1e7a834700 (most recent call first):
Thread 0x00007f1e7b035700 (most recent call first):
Thread 0x00007f1e7d039700 (most recent call first):
Thread 0x00007f1e7c838700 (most recent call first):
Current thread 0x00007f1e7c037700 (most recent call first):
Thread 0x00007f1e7e84f740 (most recent call first):
Aborted (core dumped)
So no, I don't think the GIL handling is correct. |
|
Date |
User |
Action |
Args |
2020-02-27 20:07:54 | skrah | set | recipients:
+ skrah, boytsovea |
2020-02-27 20:07:54 | skrah | set | messageid: <1582834074.39.0.976766207979.issue39776@roundup.psfhosted.org> |
2020-02-27 20:07:54 | skrah | link | issue39776 messages |
2020-02-27 20:07:54 | skrah | create | |
|