New submission from Karl Nelson <nelso...@llnl.gov>:

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 <rep...@bugs.python.org>
<https://bugs.python.org/issue42529>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to