Awhile back I wrote:
> I noticed that the old NetBSD 5.1.5 installation I had on my G4 Mac
> was no longer passing our regression tests, because it has a strtof()
> that is sloppy about underflow. Rather than fight with that I decided
> to update it to something shinier (well, as shiny as you can get on
> hardware that's old enough to apply for a driver's license). I stuck in
> NetBSD/macppc 8.0, and things seem to work, except that PL/Python
> crashes on launch. I see something like this in the postmaster log:
> Traceback (most recent call last):
> File "<frozen importlib._bootstrap>", line 1162, in _install_external_importers
> File "<frozen importlib._bootstrap>", line 980, in _find_and_load
> File "<frozen importlib._bootstrap>", line 149, in __enter__
> File "<frozen importlib._bootstrap>", line 84, in acquire
> RuntimeError: no current thread ident
> Fatal Python error: initexternalimport: external importer setup failed
>
> Current thread 0xffffffff (most recent call first):
> 2019-06-18 17:40:59.629 EDT [20764] LOG: server process (PID 23714) was terminated by signal 6: Abort trap
> 2019-06-18 17:40:59.629 EDT [20764] DETAIL: Failed process was running: CREATE FUNCTION stupid() RETURNS text AS
'return"zarkon"' LANGUAGE plpython3u;
So ... I just got this identical failure on NetBSD 8.1 on a shiny
new Intel NUC box. So that removes the excuse of old unsupported
hardware, and leaves us with the conclusion that PL/Python is
flat out broken on recent NetBSD.
This is with today's HEAD of our code and the python37-3.7.4/amd64
package from NetBSD 8.1.
BTW, the only somewhat-modern NetBSD machine in our buildfarm is
coypu, which is running NetBSD/macppc 8.0 ... but what it is testing
PL/Python against is python 2.7.15, so the fact that it doesn't
fail can probably be explained as a python 2 vs python 3 thing.
regards, tom lane