[Python-checkins] bpo-36266: Add module name in ImportError when DLL not found on Windows (GH-15180)

Miss Islington (bot) webhook-mailer at python.org
Sat Aug 17 17:11:32 EDT 2019


https://github.com/python/cpython/commit/786a4e1cef3eda8f434613d3801a5c7565fb5cd8
commit: 786a4e1cef3eda8f434613d3801a5c7565fb5cd8
branch: 3.8
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2019-08-17T14:11:28-07:00
summary:

bpo-36266: Add module name in ImportError when DLL not found on Windows (GH-15180)

(cherry picked from commit 24fe46081be3d1c01b3d21cb39bc3492ab4485a3)

Co-authored-by: shireenrao <shireenrao at gmail.com>

files:
A Misc/NEWS.d/next/Windows/2019-08-08-18-05-27.bpo-36266.x4eZU3.rst
M Python/dynload_win.c

diff --git a/Misc/NEWS.d/next/Windows/2019-08-08-18-05-27.bpo-36266.x4eZU3.rst b/Misc/NEWS.d/next/Windows/2019-08-08-18-05-27.bpo-36266.x4eZU3.rst
new file mode 100644
index 000000000000..86fdd6fe17f4
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2019-08-08-18-05-27.bpo-36266.x4eZU3.rst
@@ -0,0 +1 @@
+Add the module name in the formatted error message when DLL load fail happens during module import in ``_PyImport_FindSharedFuncptrWindows()``. Patch by Srinivas Nyayapati.
\ No newline at end of file
diff --git a/Python/dynload_win.c b/Python/dynload_win.c
index 457d47f5eed5..2f28c3cf9249 100644
--- a/Python/dynload_win.c
+++ b/Python/dynload_win.c
@@ -258,8 +258,8 @@ dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix,
                This should not happen if called correctly. */
             if (theLength == 0) {
                 message = PyUnicode_FromFormat(
-                    "DLL load failed with error code %u",
-                    errorCode);
+                    "DLL load failed with error code %u while importing %s",
+                    errorCode, shortname);
             } else {
                 /* For some reason a \r\n
                    is appended to the text */
@@ -269,8 +269,8 @@ dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix,
                     theLength -= 2;
                     theInfo[theLength] = '\0';
                 }
-                message = PyUnicode_FromString(
-                    "DLL load failed: ");
+                message = PyUnicode_FromFormat(
+                    "DLL load failed while importing %s: ", shortname);
 
                 PyUnicode_AppendAndDel(&message,
                     PyUnicode_FromWideChar(



More information about the Python-checkins mailing list