From 24fe46081be3d1c01b3d21cb39bc3492ab4485a3 Mon Sep 17 00:00:00 2001 From: shireenrao Date: Sat, 17 Aug 2019 16:50:39 -0400 Subject: [PATCH] bpo-36266: Add module name in ImportError when DLL not found on Windows (GH-15180) --- .../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 00000000000..86fdd6fe17f --- /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 5096555e701..6deba1134e2 100644 --- a/Python/dynload_win.c +++ b/Python/dynload_win.c @@ -240,8 +240,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 */ @@ -251,8 +251,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(