From 8d68062cc4dc34d63bd4e614d818f7c415a10251 Mon Sep 17 00:00:00 2001 From: Justin Kotalik Date: Mon, 5 Aug 2019 08:51:55 -0700 Subject: [PATCH 1/3] Always load hostfxr.dll by absolute path (#12807) --- .../AspNetCoreModuleV2/CommonLib/HostFxr.cpp | 19 ++++++++++++------- .../AspNetCoreModuleV2/CommonLib/HostFxr.h | 1 - .../inprocessapplication.cpp | 2 +- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/Servers/IIS/AspNetCoreModuleV2/CommonLib/HostFxr.cpp b/src/Servers/IIS/AspNetCoreModuleV2/CommonLib/HostFxr.cpp index b05a4d1a50..545791610b 100644 --- a/src/Servers/IIS/AspNetCoreModuleV2/CommonLib/HostFxr.cpp +++ b/src/Servers/IIS/AspNetCoreModuleV2/CommonLib/HostFxr.cpp @@ -30,16 +30,17 @@ void HostFxrErrorRedirector::HostFxrErrorRedirectorCallback(const WCHAR* message m_writeFunction->Append(std::wstring(message) + L"\r\n"); } -void HostFxr::Load() -{ - HMODULE hModule; - THROW_LAST_ERROR_IF(!GetModuleHandleEx(0, L"hostfxr.dll", &hModule)); - Load(hModule); -} - void HostFxr::Load(HMODULE moduleHandle) { + // A hostfxr may already be loaded here if we tried to start with an + // invalid configuration. Release hostfxr before loading it again. + if (m_hHostFxrDll != nullptr) + { + m_hHostFxrDll.release(); + } + m_hHostFxrDll = moduleHandle; + try { m_hostfxr_get_native_search_directories_fn = ModuleHelpers::GetKnownProcAddress(moduleHandle, "hostfxr_get_native_search_directories"); @@ -63,9 +64,13 @@ void HostFxr::Load(HMODULE moduleHandle) void HostFxr::Load(const std::wstring& location) { + // Make sure to always load hostfxr via an absolute path. + // If the process fails to start for whatever reason, a mismatched hostfxr + // may be already loaded in the process. try { HMODULE hModule; + LOG_INFOF(L"Loading hostfxr from location %s", location.c_str()); THROW_LAST_ERROR_IF_NULL(hModule = LoadLibraryW(location.c_str())); Load(hModule); } diff --git a/src/Servers/IIS/AspNetCoreModuleV2/CommonLib/HostFxr.h b/src/Servers/IIS/AspNetCoreModuleV2/CommonLib/HostFxr.h index 526222322e..ced4dd1940 100644 --- a/src/Servers/IIS/AspNetCoreModuleV2/CommonLib/HostFxr.h +++ b/src/Servers/IIS/AspNetCoreModuleV2/CommonLib/HostFxr.h @@ -60,7 +60,6 @@ public: { } - void Load(); void Load(HMODULE moduleHandle); void Load(const std::wstring& location); diff --git a/src/Servers/IIS/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.cpp b/src/Servers/IIS/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.cpp index 5707e4cd77..b671e7dba2 100644 --- a/src/Servers/IIS/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.cpp +++ b/src/Servers/IIS/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.cpp @@ -210,7 +210,7 @@ IN_PROCESS_APPLICATION::ExecuteApplication() hostFxrResolutionResult->GetArguments(context->m_argc, context->m_argv); THROW_IF_FAILED(SetEnvironmentVariablesOnWorkerProcess()); - context->m_hostFxr.Load(); + context->m_hostFxr.Load(hostFxrResolutionResult->GetHostFxrLocation()); } else { From ddcdf6dbd7a955e6b730896000ad07fd9669d5c3 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2019 17:23:34 -0700 Subject: [PATCH 2/3] Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190805.5 (#12899) - Microsoft.NET.Sdk.Razor - 3.0.0-preview8.19405.5 - Microsoft.CodeAnalysis.Razor - 3.0.0-preview8.19405.5 - Microsoft.AspNetCore.Razor.Language - 3.0.0-preview8.19405.5 - Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview8.19405.5 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 9fd0c783a5..46a6fa7b12 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -13,21 +13,21 @@ https://github.com/aspnet/Blazor 2b834cef9e511554f9c580545a15d7107aea6cc0 - + https://github.com/aspnet/AspNetCore-Tooling - 3cbb59559b5c0488bab471c0b8c0f2ecf14d5767 + 408bbfd1898fee0581ee4c67d1f757b2dc468bd1 - + https://github.com/aspnet/AspNetCore-Tooling - 3cbb59559b5c0488bab471c0b8c0f2ecf14d5767 + 408bbfd1898fee0581ee4c67d1f757b2dc468bd1 - + https://github.com/aspnet/AspNetCore-Tooling - 3cbb59559b5c0488bab471c0b8c0f2ecf14d5767 + 408bbfd1898fee0581ee4c67d1f757b2dc468bd1 - + https://github.com/aspnet/AspNetCore-Tooling - 3cbb59559b5c0488bab471c0b8c0f2ecf14d5767 + 408bbfd1898fee0581ee4c67d1f757b2dc468bd1 https://github.com/aspnet/EntityFrameworkCore diff --git a/eng/Versions.props b/eng/Versions.props index 97617e19c0..f369c16789 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -157,10 +157,10 @@ 3.0.0-preview8.19381.5 3.0.0-preview8.19381.5 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 + 3.0.0-preview8.19405.5 + 3.0.0-preview8.19405.5 + 3.0.0-preview8.19405.5 + 3.0.0-preview8.19405.5 - + https://github.com/dotnet/core-setup - c855ac718789051d5d67282c88decca445de7711 + d01b2fb7bc6bd4911e157fbd51353059a3ba1a6c - + https://github.com/dotnet/core-setup - c855ac718789051d5d67282c88decca445de7711 + d01b2fb7bc6bd4911e157fbd51353059a3ba1a6c - + https://github.com/dotnet/corefx - 7c56101d1829e8f317065f99d173834c38c2ec44 + 1bb52e6a3db7f3673a3825f3677b9f27b9af99aa - + https://github.com/aspnet/Extensions - dea3f207c8ea27f2a13ab15880df58ff91b42dfa + 898f6e9319f99bad6c917b22088144231db6c2c3 https://github.com/dotnet/arcade @@ -428,9 +428,9 @@ https://github.com/dotnet/arcade a190d4865fe3c86a168ec49c4fc61c90c96ae051 - + https://github.com/aspnet/Extensions - dea3f207c8ea27f2a13ab15880df58ff91b42dfa + 898f6e9319f99bad6c917b22088144231db6c2c3 https://github.com/dotnet/roslyn diff --git a/eng/Versions.props b/eng/Versions.props index f369c16789..dd4ad98cdf 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -54,108 +54,108 @@ 3.3.0-beta2-19381-14 - 3.0.0-preview8-28380-08 - 3.0.0-preview8-28380-08 - 3.0.0-preview8-28380-08 - 2.1.0-preview8-28380-08 + 3.0.0-preview8-28405-07 + 3.0.0-preview8-28405-07 + 3.0.0-preview8-28405-07 + 2.1.0-preview8-28405-07 - 1.0.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 + 1.0.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 4.7.0-preview6.19264.9 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 1.7.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 - 4.6.0-preview8.19379.7 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 1.7.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 + 4.6.0-preview8.19405.3 - 3.0.0-preview8.19379.7 + 3.0.0-preview8.19405.3 3.0.0-preview8.19380.1 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 - 3.0.0-preview8.19381.3 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 + 3.0.0-preview8.19405.4 - 3.0.0-preview8.19381.5 - 3.0.0-preview8.19381.5 - 3.0.0-preview8.19381.5 - 3.0.0-preview8.19381.5 - 3.0.0-preview8.19381.5 - 3.0.0-preview8.19381.5 - 3.0.0-preview8.19381.5 + 3.0.0-preview8.19405.11 + 3.0.0-preview8.19405.11 + 3.0.0-preview8.19405.11 + 3.0.0-preview8.19405.11 + 3.0.0-preview8.19405.11 + 3.0.0-preview8.19405.11 + 3.0.0-preview8.19405.11 3.0.0-preview8.19405.5 3.0.0-preview8.19405.5