diff --git a/deps/checksums/libuv-be317349252699670131395f125c3861d793ca86.tar.gz/md5 b/deps/checksums/libuv-be317349252699670131395f125c3861d793ca86.tar.gz/md5 deleted file mode 100644 index 71e5c8f5a910c..0000000000000 --- a/deps/checksums/libuv-be317349252699670131395f125c3861d793ca86.tar.gz/md5 +++ /dev/null @@ -1 +0,0 @@ -71e609bfc84077aff986a2765d84e3ff diff --git a/deps/checksums/libuv-be317349252699670131395f125c3861d793ca86.tar.gz/sha512 b/deps/checksums/libuv-be317349252699670131395f125c3861d793ca86.tar.gz/sha512 deleted file mode 100644 index bb28470ed38b6..0000000000000 --- a/deps/checksums/libuv-be317349252699670131395f125c3861d793ca86.tar.gz/sha512 +++ /dev/null @@ -1 +0,0 @@ -c9040816b2e2439017071f1ca1293258e6066486310b2c89a8eac2524c19366033c6ff6d1eadf910961b8cec3d1dafb4a63af96a2749baa8c85a725cd1de7d43 diff --git a/deps/checksums/libuv-ed3700c849289ed01fe04273a7bf865340b2bd7e.tar.gz/md5 b/deps/checksums/libuv-ed3700c849289ed01fe04273a7bf865340b2bd7e.tar.gz/md5 new file mode 100644 index 0000000000000..f2728429466bb --- /dev/null +++ b/deps/checksums/libuv-ed3700c849289ed01fe04273a7bf865340b2bd7e.tar.gz/md5 @@ -0,0 +1 @@ +4b25bc8933574c8ced7b0005883338ee diff --git a/deps/checksums/libuv-ed3700c849289ed01fe04273a7bf865340b2bd7e.tar.gz/sha512 b/deps/checksums/libuv-ed3700c849289ed01fe04273a7bf865340b2bd7e.tar.gz/sha512 new file mode 100644 index 0000000000000..7860ef8c5f2b5 --- /dev/null +++ b/deps/checksums/libuv-ed3700c849289ed01fe04273a7bf865340b2bd7e.tar.gz/sha512 @@ -0,0 +1 @@ +1305035b1372bdf234e3c5e673ee4c8ab5bda83ff06bc27704786def52667c3143fe587fca8f6e0855ba0c8b6d4dd90b2faefd33736224173f459d751885683e diff --git a/deps/libuv.version b/deps/libuv.version index b69299ece35c4..17a47f3323e49 100644 --- a/deps/libuv.version +++ b/deps/libuv.version @@ -1,2 +1,2 @@ LIBUV_BRANCH=julia-uv2 -LIBUV_SHA1=be317349252699670131395f125c3861d793ca86 +LIBUV_SHA1=ed3700c849289ed01fe04273a7bf865340b2bd7e diff --git a/ui/repl.c b/ui/repl.c index 3f41b62a7a2fa..fe5ecf53fbdd9 100644 --- a/ui/repl.c +++ b/ui/repl.c @@ -169,22 +169,9 @@ int main(int argc, char *argv[]) uv_setup_args(argc, argv); // no-op on Windows #else -#if defined(_P64) && defined(JL_DEBUG_BUILD) -static int is_running_under_wine() -{ - static const char * (CDECL *pwine_get_version)(void); - HMODULE hntdll = GetModuleHandle("ntdll.dll"); - assert(hntdll); - pwine_get_version = (void *)GetProcAddress(hntdll, "wine_get_version"); - return pwine_get_version != 0; -} -#endif - static void lock_low32() { #if defined(_P64) && defined(JL_DEBUG_BUILD) // Wine currently has a that causes it to answer VirtualQuery incorrectly. - // See https://www.winehq.org/pipermail/wine-devel/2016-March/112188.html for details - int under_wine = is_running_under_wine(); // block usage of the 32-bit address space on win64, to catch pointer cast errors char *const max32addr = (char*)0xffffffffL; SYSTEM_INFO info; @@ -198,7 +185,6 @@ static void lock_low32() { if (meminfo.State == MEM_FREE) { // reserve all free pages in the first 4GB of memory char *first = (char*)meminfo.BaseAddress; char *last = first + meminfo.RegionSize; - char *p; if (last > max32addr) last = max32addr; // adjust first up to the first allocation granularity boundary @@ -206,8 +192,12 @@ static void lock_low32() { first = (char*)(((long long)first + info.dwAllocationGranularity - 1) & ~(info.dwAllocationGranularity - 1)); last = (char*)((long long)last & ~(info.dwAllocationGranularity - 1)); if (last != first) { - p = VirtualAlloc(first, last - first, MEM_RESERVE, PAGE_NOACCESS); // reserve all memory in between - assert(under_wine || p == first); + void *p = VirtualAlloc(first, last - first, MEM_RESERVE, PAGE_NOACCESS); // reserve all memory in between + if ((char*)p != first) + // Wine and Windows10 seem to have issues with reporting memory access information correctly + // so we sometimes end up with unexpected results - this is just ignore those and continue + // this is just a debugging aid to help find accidental pointer truncation anyways, so it's not critical + VirtualFree(p, 0, MEM_RELEASE); } } meminfo.BaseAddress += meminfo.RegionSize;