From 786a4e1cef3eda8f434613d3801a5c7565fb5cd8 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 17 Aug 2019 14:11:28 -0700 Subject: [PATCH] bpo-36266: Add module name in ImportError when DLL not found on Windows (GH-15180) (cherry picked from commit 24fe46081be3d1c01b3d21cb39bc3492ab4485a3) Co-authored-by: shireenrao --- .../next/Windows/2019-08-08-18-05-27.bpo-36266.x4eZU3.rst | 1 + Python/dynload_win.c | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 Misc/NEWS.d/next/Windows/2019-08-08-18-05-27.bpo-36266.x4eZU3.rst 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 0000000000..86fdd6fe17 --- /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 457d47f5ee..2f28c3cf92 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( -- 2.50.1