New submission from Karl Nelson <[email protected]>:
While trying to use JPype on Windows Python 3.9.0, we are running into an
bizarre issue with loading the internal module which is written in C. When
running a python script the first time the internal module loads correctly.
However, the second time that script is run the internal module reports "A
dynamic link library (DLL) initialization routine failed." If you then erase
the pyc cache file that is importing the internal module then it works again.
This only occurs on Windows and was not present using the same source prior
versions of Python 3.8.
We investigate the byte codes from both version and they are doing the same
series of actions so the problem appears to be calling the same opcode to
execute an import.
I make sure all required symbols were found in the libraries and only only copy
of the internal DLL was the same with and without loading from a pyc.
It may be a change in the requirements of module initialization, but I don't
know how to proceed. There was one deprecation warning but correcting that did
not alter the outcome.
It appears that the execute path for importing a CPython module takes a
different path when the script was imported from something compiled on the fly
as opposed to loading from a pyc.
```
import: 'jpype'
Traceback (most recent call last):
File "D:\bld\jpype1_1605785280189\test_tmp\run_test.py", line 2, in <module>
import jpype
File
"D:\bld\jpype1_1605785280189\_test_env\lib\site-packages\jpype\__init__.py",
line 18, in <module>
import _jpype
ImportError: DLL load failed while importing _jpype: A dynamic link library
(DLL) initialization routine failed.
```
----------
components: Windows
messages: 382275
nosy: Thrameos, paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: CPython DLL initialization routine failed from PYC cache file
type: behavior
versions: Python 3.9
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue42529>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com