Stefan Krah <ste...@bytereef.org> added the comment:
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. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue39776> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com