STINNER Victor added the comment:
I believe that this issue cannot occur in Python 3.8 thanks for bpo-36475.
According to the backtrace, a thread does crash in PyEval_EvalFrameEx(). I
understand that it's a daemon thread. To execute PyEval_EvalFrameEx(), a daemon
thread must hold the GIL. Wi
Tim Peters added the comment:
Nothing should ever crash the interpreter :-) So this is a thoroughly
legitimate bug report.
However, there's no way to guess whether _this_ crasher is easy to fix, or next
to impossible. Without a test program to provoke the error, there's little to
go on. If
A. Skrobov added the comment:
That's right; and working around this issue, by taming the daemon threads a
bit, wasn't too difficult.
Still, if the daemon threads are part of the language, they shouldn't crash the
interpreter process, I suppose?
--
Antoine Pitrou added the comment:
Yes, daemon threads are really dangerous because they may keep running while
the interpreter has started releasing critical resources. Things have improved
in 3.x compared to 2.x, though.
--
nosy: +pitrou
___
Python
New submission from A. Skrobov:
I'm observing that this line of code:
https://hg.python.org/cpython/file/ec9bffc35cad/Python/ceval.c#l3010
-- causes a SIGSEGV on interpreter shutdown, after running some really
convoluted Python code with daemon threads running wild.
At the time of the crash,