Levi Broderick [Wed, 15 Jan 2020 21:04:09 +0000 (13:04 -0800)]
[release/3.1] Port fix to revert EncoderNLS and DecoderNLS Convert changes (#27996)
Matt Mitchell [Wed, 15 Jan 2020 19:51:12 +0000 (11:51 -0800)]
Update branding to 3.1.2 (#27998)
eng/Versions.props doesn't seem to be the source of truth for branding
Vladimir Sadov [Wed, 15 Jan 2020 03:31:01 +0000 (19:31 -0800)]
Revert CPU clipping in the presence of CPU quota to 3.0, 2.x behavior.
Basically reverting https://github.com/dotnet/coreclr/pull/26806
Andy Ayers [Tue, 14 Jan 2020 18:36:18 +0000 (10:36 -0800)]
[release/3.1] Port fix for JIT silent bad code (#27972)
* [release/3.1] Port fix for JIT silent bad code
Release/3.1 port of https://github.com/dotnet/runtime/pull/797.
Fixes https://github.com/dotnet/runtime/issues/764
The jit might incorrectly order a read from a struct field with an operation
that modifies the field, so that the read returns the wrong value.
Silent bad code; program behaves incorrectly.
Yes, introduced in the 3.0 cycle.
Verified the user's test case now passes; no diffs seen in any existing framework
or test code.
**Low**: the jit is now spilling the eval stack entries to temps in cases where it
did not before; this should be conservatively safe.
cc: @brucefo
____
If we're appending an assignment whose LHS is is a location within a local
struct, we need to spill all references to that struct from the eval stack.
Update the existing logic for this to handle the case where the LHS is a field
of a local struct, and the field is updated by unusual means (here, `initobj`).
Fixes dotnet/runtime#764.
* Fix test
Stephen Toub [Tue, 14 Jan 2020 18:36:07 +0000 (13:36 -0500)]
Fix CancellationTokenRegistration.Unregister race condition (#27949)
Andy Ayers [Tue, 14 Jan 2020 18:35:50 +0000 (10:35 -0800)]
Release/3.1 port of dotnet/runtime#239 (#27973)
Fix for #27923
The jit might fail to locate a class handle for a ref class, leading to an
unexpected crash while jitting.
## Customer Impact
Unexpected and hard to diagnose crash/exception
## Regression?
Yes, introduced during the development 3.0 cycle. 2.x behaves correctly.
## Testing
Verified the user's test case now passes; no diffs seen in any existing
framework or test code.
## Risk
**Low**: the jit will now fall back to using the handle for System.Object if no
better option can be found.
cc @BruceForstall
____
In some cases we may end up in lvaSetClass without a valid ref class handle
from either the IR or the stack. Use the handle for object as a conservative
fallback.
Sung Yoon Whang [Tue, 14 Jan 2020 18:35:31 +0000 (10:35 -0800)]
Fix EventSource to stop ignoring EventCommand.SendManifest (#27979)
Eric Erhardt [Tue, 14 Jan 2020 18:35:16 +0000 (12:35 -0600)]
Stop throwing exception in TimeZoneInfo POSIX parsing (#27969)
IsDaylightSavingTime_CasablancaMultiYearDaylightSavings fails on rhel.8
When parsing the tzdata POSIX string that contains an 'n' Julian date, we are currently throwing an exception, and then falling back to a TimeZoneInfo without DST enabled. However, this is a mistake because there are other DST transitions that were read from the tzdata file that are valid and usable. We shouldn't be throwing that information away.
So instead, we now skip the POSIX string if we detect an unsupported 'n' Julian date, and just use the last transition as the AdjustmentRule for all the DateTimes in the future. This way we can still make DST determinations correctly for some DateTimes.
Fix https://github.com/dotnet/corefx/issues/42192
Jarret Shook [Tue, 14 Jan 2020 18:35:01 +0000 (10:35 -0800)]
This is a point fix for not allowing fast tail calls on windows arm64 for vararg methods (#27963)
* This is a point fix for not allowing fast tail calls on windows arm64
This only affects windows arm and arm64.
* Fix build break
Jan Vorlicek [Tue, 14 Jan 2020 18:34:51 +0000 (19:34 +0100)]
Port to 3.1 - Fix out of range access in GetRecycleMemoryInfo (#27959)
Ports change #26873 to release 3.1 branch.
On OpenVZ virtualized linux, GetCurrentProcessorNumber which uses sched_getcpu()
can return a value greater than the number of processors reported by
sched_getaffinity with CPU_COUNT or sysconf(_SC_NPROCESSORS_ONLN).
For example, taskset -c 2,3 ./MyApp will make CPU_COUNT be 2 but
sched_getcpu() can return 2 or 3, and OpenVZ kernel can make
sysconf(_SC_NPROCESSORS_ONLN) return a limited cpu count but
sched_getcpu() still report the real processor number.
Example of affinity vs current CPU id on OpenVZ:
nproc: 8
nprocOnline: 1
affinity: 1, 0, 0, 0, 0, 0, 0, 0, cpuid: 2
affinity: 1, 0, 0, 0, 0, 0, 0, 0, cpuid: 2
affinity: 1, 0, 0, 0, 0, 0, 0, 0, cpuid: 2
affinity: 1, 0, 0, 0, 0, 0, 0, 0, cpuid: 2
affinity: 1, 0, 0, 0, 0, 0, 0, 0, cpuid: 2
affinity: 1, 0, 0, 0, 0, 0, 0, 0, cpuid: 5
affinity: 1, 0, 0, 0, 0, 0, 0, 0, cpuid: 5
Jan Vorlicek [Tue, 14 Jan 2020 18:34:38 +0000 (19:34 +0100)]
Port to 3.1 - Fix VirtualMemoryLogging::logRecords overflow (#27958)
when VirtualMemoryLogging::recordNumber increments from LONG_MAX,
it became negative number, and the result of i % MaxRecords became
a number from -127 to 0.
When that happens we will ovewrite CRITICAL_SECTION virtual_critsec
which are stored in bss right before logRecords with garbage data.
Then most likely the process will have a GC hang with one or more
GC threads stuck trying to enter or leave critical section.
The fix is to ensure ULONG value are passed to modulo operation.
Jan Vorlicek [Tue, 14 Jan 2020 18:33:49 +0000 (19:33 +0100)]
Port to 3.1 - Fix getting affinity set on MUSL on Jetson TX2 (#27957)
Ports https://github.com/dotnet/runtime/pull/206 to release/3.1.
The code in PAL_GetCurrentThreadAffinitySet relied on the fact that the
number of processors reported as configured in the system is always
larger than the maximum CPU index. However, it turns out that it is not
true on some devices / distros. The Jetson TX2 reports CPUs 0, 3, 4 and
5 in the affinity mask and the 1 and 2 are never reported. GLIBC reports
6 as the number of configured CPUs, however MUSL reports just 4. The
PAL_GetCurrentThreadAffinitySet was using the number of CPUs reported as
configured as the upper bound for scanning affinity set, so on Jetson
TX2, the affinity mask returned had just two bits set while there were
4 CPUs. That triggered an assert in the GCToOSInterface::Initialize.
This change fixes that by reading the maximum CPU index from the
/proc/cpuinfo. It falls back to using the number of processors
configured when the /proc/cpuinfo is not available (on macOS, FreeBSD, ...)
Fixes https://github.com/dotnet/runtime/issues/170
Anirudh Agnihotry [Tue, 14 Jan 2020 18:16:15 +0000 (10:16 -0800)]
update branding to 3.1.2 (#27981)
Matt Mitchell [Thu, 5 Dec 2019 23:18:05 +0000 (15:18 -0800)]
Use 3.1.100 SDK in 3.1 build (#27965)
To ensure that the 3.1 stack uses a consistent SDK. The upper portions of the stack require the 3.1 SDK because for TFM purposes.
dotnet-maestro[bot] [Thu, 5 Dec 2019 18:47:54 +0000 (10:47 -0800)]
[release/3.1] Update dependencies from dotnet/arcade (#27927)
* Update dependencies from https://github.com/dotnet/arcade build
20191122.3
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19572.3
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19572.3
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19572.3
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19572.3
* Update dependencies from https://github.com/dotnet/arcade build
20191127.5
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19577.5
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19577.5
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19577.5
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19577.5
dotnet-maestro-bot [Mon, 2 Dec 2019 19:25:15 +0000 (11:25 -0800)]
[automated] Merge branch 'release/3.0' => 'release/3.1' (#27922)
* Fix Segfault in PerfInfo Image Logging (#26910)
* update branding for 3.0.2 (#27896)
* update branding
* remove stable properties from coreclr as it never stablises
* [release/3.0] Fix use of ilasm during test builds when using a 3.0 SDK (#27820)
* Add fix for restore of ilasm
The restore logic in buildtools tried to use a netcoreapp2.1 TFM for Linux-musl.
This ended up restoring Linux-x64 binaries which then broke the test build.
This change works around this by saving a copy of the depproj that BuildTools used into
the tree and restore it as a 3.0 app manually in init-tools on our side of the build.
* Change to a 3.0 SDK for servicing
* Bump test versions of ilasm and runtime package to match the RC
* Move off of the old arm32 queue (#27905)
* Add alpine3.10 testing to 3.0 (#27214)
* Fix GetSequencePoints when profiler provides mapping via SetILInstrumentedCodeMap (#27843)
Port #25802 to 3.0.2
* [release/3.0] Update dependencies from dotnet/core-setup (#27910)
* Update dependencies from https://github.com/dotnet/core-setup build
20191016.12
- Microsoft.NETCore.App - 3.0.1-servicing-19516-12
* Update dependencies from https://github.com/dotnet/core-setup build
20191121.02
- Microsoft.NETCore.App - 3.0.2-servicing-19571-02
Juan Hoyos [Mon, 2 Dec 2019 15:53:14 +0000 (07:53 -0800)]
Change non_virtual_calls_to_instance_methods test to non-il-sdk format (#27952)
* Change non_virtual_calls_to_instance_methods test to non-il-sdk format
* Work around maxpath hit by method name
* Fix compile item to short file name
Jarret Shook [Thu, 28 Nov 2019 15:39:52 +0000 (07:39 -0800)]
Disable formatting jobs in release/3.1 (#27954)
Anirudh Agnihotry [Tue, 26 Nov 2019 21:25:03 +0000 (13:25 -0800)]
update branding for 3.1 sevicing (#27921)
* update branding for 3.1 sevicing
* added internal branch
David Wrighton [Fri, 22 Nov 2019 21:26:57 +0000 (13:26 -0800)]
Non virtual calls to instance methods non-virtual dispatch on instance interface methods (#27756) (#27868)
* est for non_virtual_calls_to_instance_methods
* Fix handling of callvirt to instance methods on interface types that are not virtual
- Use call type to indicate if its non-virtual or not, instead of opcode
* Use ilproj to protect against future C# compiler changes
- This test needs to test the use of specific opcodes, and so an IL proj is required
Jarret Shook [Thu, 21 Nov 2019 17:31:01 +0000 (09:31 -0800)]
Move off of the old arm32 queue (#27906)
dotnet-maestro[bot] [Thu, 21 Nov 2019 02:56:36 +0000 (18:56 -0800)]
[release/3.1] Update dependencies from dotnet/arcade (#26886)
* Update dependencies from https://github.com/dotnet/arcade build
20190924.3
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19474.3
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19474.3
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19474.3
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19474.3
* Add lots o' sources
* Update dependencies from https://github.com/dotnet/arcade build
20191119.2
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19569.2
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19569.2
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19569.2
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19569.2
William Godbe [Fri, 15 Nov 2019 00:21:02 +0000 (16:21 -0800)]
Update PreReleaseVersionLabel to RTM (#27885)
Juan Hoyos [Mon, 11 Nov 2019 23:40:59 +0000 (15:40 -0800)]
[release/3.1] Fix use of ilasm during test builds when using a 3.0 SDK (#27818)
* Add fix for restore of ilasm
The restore logic in buildtools tried to use a netcoreapp2.1 TFM for Linux-musl.
This ended up restoring Linux-x64 binaries which then broke the test build.
This change works around this by saving a copy of the depproj that BuildTools used into
the tree and restore it as a 3.0 app manually in init-tools on our side of the build.
* Change to a 3.0 SDK for servicing
William Godbe [Mon, 11 Nov 2019 19:15:16 +0000 (11:15 -0800)]
Revert "stablixe package (#27740)" (#27816)
This reverts commit
2bc3c7c6feede9a40deb7474ecdafa8d0809d8af.
Anirudh Agnihotry [Mon, 11 Nov 2019 17:31:24 +0000 (09:31 -0800)]
stablixe package (#27740)
William Godbe [Mon, 11 Nov 2019 17:31:07 +0000 (09:31 -0800)]
Merge pull request #27742 from dotnet/darc-release/3.1-
d5e14434-9c47-489d-80e5-
c9ee4d41b969
[release/3.1] Update dependencies from dotnet/core-setup and dotnet/corefx
Jeremy Koritzinsky [Mon, 11 Nov 2019 17:30:52 +0000 (09:30 -0800)]
[release/3.1] Reword comments for policheck (#27670)
* Comment rewordings required by policheck.
* Use AppContainer instead of Windows Store.
wtgodbe [Fri, 8 Nov 2019 22:29:02 +0000 (14:29 -0800)]
Fixup PrivateAssets->ExcludeAssets
wtgodbe [Fri, 8 Nov 2019 22:17:32 +0000 (14:17 -0800)]
Add packagereference to System.IO.FileSystem.AccessControl
wtgodbe [Fri, 8 Nov 2019 21:12:36 +0000 (13:12 -0800)]
Set RuntimeFrameworkVersion in CoreFx.depproj
wtgodbe [Fri, 8 Nov 2019 19:19:14 +0000 (11:19 -0800)]
Line up corefx & core-setup versions
wtgodbe [Thu, 7 Nov 2019 20:34:43 +0000 (12:34 -0800)]
Update dependencies from corefx
dotnet-maestro[bot] [Thu, 7 Nov 2019 20:08:27 +0000 (20:08 +0000)]
Update dependencies from https://github.com/dotnet/core-setup build
20191103.2
- Microsoft.NETCore.App - 3.1.0-preview3.19553.2
Stephen Toub [Thu, 31 Oct 2019 17:06:30 +0000 (13:06 -0400)]
Fix StreamReader to pass cancellation token into ReadBufferAsync (#27464) (#27501)
ReadAsyncInternal is correctly passing its token into the two call sites where it delegates directly to the underlying stream, but in one place it calls through ReadBufferAsync, which is currently not defined to take a token. Fix that, and pass the token through.
Noah Falk [Thu, 31 Oct 2019 00:09:33 +0000 (17:09 -0700)]
Support large EventSource filter args (#27522)
1. Fix NullReferenceException. When the filter args exceeded the
hard-coded size limit GetDataFromController would return data = null.
The code previously asserted that data was not null and triggered NRE
when it was. The fix correctly null checks the value instead of
asserting and uses an empty args dictionary in this case, the same as if
filter args had been empty to begin with.
2. ETW has always limited filter args to 1024 bytes but EventPipe has no
such restriction. When using DiagnosticSourceEventSource it can be
useful to specify a larger filter arg blob. I can't do anything about
ETW's restriction but there is no need for the runtime to force
EventPipe to be equally limited. The larger size also reduces the chance
that we need to hit the fallback path above causing filter args to be
ignored.
Mike McLaughlin [Wed, 30 Oct 2019 23:12:47 +0000 (16:12 -0700)]
Fix minidumps not loading in VS issue (#27553)
Fix a function that was ifdef'ed needed for the metadata locator callbacks to work.
Fix some not properly DAC'ized code in the type desc and server GC code. Caused an exception during dump generation.
Issue: https://github.com/dotnet/coreclr/issues/26907
David Mason [Wed, 30 Oct 2019 18:26:32 +0000 (11:26 -0700)]
[Release/3.1] Port profiler APIs to set and retrieve environment variables to 3.1 (#27512)
William Godbe [Wed, 30 Oct 2019 17:52:38 +0000 (10:52 -0700)]
Rebrand to preview3 (#27552)
Koundinya Veluri [Thu, 24 Oct 2019 20:06:58 +0000 (13:06 -0700)]
[3.1] Protect against a rare invalid lock acquision attempt during etw processing during shutdown (#27241)
* Protect against a rare invalid lock acquision attempt during etw processing during abrupt shutdown
Targeted and partial fix for https://github.com/dotnet/coreclr/issues/27129
- This is not a generic fix for the issue above, it is only a very targeted fix for an issue seen (a new issue introduced in 3.x). For a generic fix and more details, see the fix in 5.0: https://github.com/dotnet/coreclr/pull/27238.
- This change avoids taking a lock during process detach - a point in time when all other threads have already been abruptly shut down by the OS and locks may have been orphaned.
- The issue leads to a hang during shutdown when ETW tracing is enabled and the .NET process being traced begins the shutdown sequence at an unfortunate time - this is a probably rare timing issue. It would take the shutdown sequence to begin at just the point when a thread holds a particular lock and is terminated by the OS while holding the lock, then the OS sends the process detach event to the CLR, work during which then tries to acquire the lock and cannot because it is orphaned.
- The generic fix has broader consequences and is unlikely to be a reasonable change to make so late in the cycle, such a change needs some bake time and feedback. Hence this targeted fix for 3.x.
* Report tier as unknown when it cannot be determined
* Return unknown only on process detach
Steve MacLean [Tue, 22 Oct 2019 20:58:15 +0000 (16:58 -0400)]
Fix step with stackalloc (#27246) (#27351)
* Make ControllerStackInfo::m_returnFrame private
* Make ControllerStackInfo always capture a return frame
In case the active frame has no managed caller, capture
the unmanaged frame
* Fix step over stackalloc
Generalize handling of stack allocations and stepping
* Fix GetFunctionFromToken() argument checking
Check token type is a method before creating a CordbFunction.
Add extra assert to check for invalid tokens
Sung Yoon Whang [Mon, 21 Oct 2019 23:04:28 +0000 (16:04 -0700)]
Fix LTTng build for build environments with older liblttng-ust-dev (#27273) (#27294)
* Fix macro redefinition to use XplatEventLogger instead of simply writing FALSE
* Fix linker error
* undo newline changes
* Some changes to comment
* Move wrapper export from eventpipe.cpp to eventtrace.cpp
David Mason [Mon, 21 Oct 2019 20:57:30 +0000 (13:57 -0700)]
[Release/3.1] Fixes for profiler stack sampling (#27300)
* only set THREAD_IS_SUSPENDED if we are truly doing an async stack walk (#26985)
* Use a new COR_PRF_SUSPEND_FOR_PROFILER in ICorProfilerCallback::RuntimeThreadSuspended() when requested by profiler (#27041)
Fixes https://github.com/dotnet/coreclr/issues/26576
John Salem [Mon, 21 Oct 2019 18:22:50 +0000 (11:22 -0700)]
[3.1] Backport fixes to ETW/EventPipe events to enable GCDumps (#27297)
* Move TypeSystemLog::OnKeywordsChanged from EtwCallback to EtwCallbackCommon to enable this same behavior in ETW and EventPipe. This unblocks parity for GCHeapDumps between ETW and EventPipe (#26270)
* Fix unique ETW events for GC Type logging, so they are also fired across EventPipe (#27250)
Brian Robbins [Tue, 15 Oct 2019 18:23:19 +0000 (11:23 -0700)]
Fix Segfault in PerfInfo Image Logging (#26910)
Levi Broderick [Thu, 17 Oct 2019 18:33:32 +0000 (11:33 -0700)]
Fix DecoderNLS.Convert to out the correct value for 'completed' (#27229)
Port https://github.com/dotnet/coreclr/pull/27210 to release/3.1
Stephen Toub [Thu, 17 Oct 2019 15:32:29 +0000 (11:32 -0400)]
Enable ETW/EventSource logging of task IDs for boxed state machines (#27115) (#27217)
* Wrap MoveNext Action for TPL event tracing
Wraps the MoveNext action of the AsyncStateMachineBox in a
continuation wrapper when async causality tracing is on so that the
TPL event source can find the task that is associated with a
continuation. Does not wrap otherwise.
* Clarifying comment
* removing trailing whitespace
* code review feedback.
Makes AsyncMethodBuilderCore.TryFindContinuationTask check to
whether the target of a continuation is itself a task, as a fall-back
to checking to see if the continuation is a ContinuationWrapper
* Got rid of unnecessary null checks
David Mason [Wed, 16 Oct 2019 20:13:55 +0000 (13:13 -0700)]
Fix GetSequencePoints when profiler provides mapping via SetILInstrumentedCodeMap (#27075)
Port #25802 to 3.1
Sung Yoon Whang [Wed, 16 Oct 2019 05:08:30 +0000 (22:08 -0700)]
Improve the performance of Environment.WorkingSet in Windows (#26522) (#27212)
* Use win32 api directly for workingset counter
* Fix build warnings
* Removing useless code
* more cleanup
* remove size annotation
* remove useless comment
* Move all the changes to Environment.WorkingSet and remove it from RuntimeEventSourceHelper
* removing useless usings
* Use kernel32.dll instead of psapi.dll
* Code review feedback
* Remove newline change
* More code review nits
Sung Yoon Whang [Tue, 15 Oct 2019 01:29:38 +0000 (18:29 -0700)]
Do not create diagnostics server thread and pipe if EnableDiagnostics is set to 0 (#27137) (#27140)
* Do not create diagnostics server thread and pipe if EnableDiagnostics is set to 0
* Remove unnecessary check for config var in DiagnosticServer::Shutdown
Carol Eidt [Mon, 14 Oct 2019 20:23:46 +0000 (13:23 -0700)]
Correctly handle variable argument SIMDScalar (#26421) (#26778)
* Correctly handle variable argument SIMDScalar
Fix #26286
Jan Kotas [Mon, 14 Oct 2019 17:25:34 +0000 (10:25 -0700)]
Enable optimized single-proc allocation helpers for single-proc x86/x64 systems only (#27014) (#27080)
Use maximum number of processors the process may run on to determine whether it is ok to use
single-proc allocation helpers. It is not sufficient to depend on current process affinity since
that can change during the process lifetime.
Also, the single-proc allocation helpers work well on x86/x64 systems only because of they depend
on atomic non-interlocked increment instruction for good performance. Such instruction is available
on x86/x64 only. Disable them everywhere else.
Fixes #26990
agoretsky [Mon, 14 Oct 2019 17:03:12 +0000 (20:03 +0300)]
Fix available memory extraction on Linux (#26764) (#26938)
* Fix available memory extraction on Linux
The GlobalMemoryStatusEx in PAL is returning number of free physical pages in
the ullAvailPhys member. But there are additional pages that are allocated
as buffers and caches that get released when there is a memory pressure and
thus they are effectively available too.
This change extracts the available memory on Linux from the /proc/meminfo
MemAvailable row, which is reported by the kernel as the most precise
amount of available memory.
Anirudh Agnihotry [Thu, 10 Oct 2019 21:07:17 +0000 (14:07 -0700)]
preview2 (#27127)
Fadi Hanna [Fri, 4 Oct 2019 18:58:23 +0000 (11:58 -0700)]
Handle AV caused by invalid IBC data (#27029) (#27034)
Make FindOrCreateAssociatedMethodDesc throw a type load exception instead of an AV, which can't be handled by EX_TRY/EX_CATCH on Unix systems.
Jan Kotas [Fri, 4 Oct 2019 18:07:23 +0000 (11:07 -0700)]
Improve TimeSpan precision (#26992) (#27010)
Change multiplying by (x * (1.0 / BigValue)) on (x / BigValue).
Fix #41380
Maoni Stephens [Thu, 3 Oct 2019 19:44:36 +0000 (12:44 -0700)]
oom (#26457) (#26983)
+ when hardlimit is specified we should only retry when we didn't fail due to commit failure - if commit failed it means we simply didn't have as much memory as what the hardlimit specified. we should throw OOM in this case.
+ added some diag info around OOM history to help with future diagnostics.
(cherry picked from commit
7dca41fd36721068e610c537654765e8e42275d7)
Fadi Hanna [Thu, 3 Oct 2019 19:08:01 +0000 (12:08 -0700)]
Fix read ordering bug between buckets pointer and counter (#26997) (#27009)
* Fix read ordering bug between buckets pointer and counter
Use VolaiteLoad to read counter
William Godbe [Tue, 1 Oct 2019 17:35:32 +0000 (10:35 -0700)]
Merge pull request #26893 from dotnet-maestro-bot/merge/release/3.0-to-release/3.1
[automated] Merge branch 'release/3.0' => 'release/3.1'
William Godbe [Tue, 1 Oct 2019 17:35:17 +0000 (10:35 -0700)]
Merge branch 'release/3.1' into merge/release/3.0-to-release/3.1
Steve MacLean [Mon, 30 Sep 2019 18:25:42 +0000 (14:25 -0400)]
Abort FuncEval on unaligned SP (for 3.1) (#26607)
* Abort FuncEval on unaligned SP (#26572)
* Check for nullity of the context in FuncEval setup SP alignment checks (#26911)
Jan Vorlicek [Fri, 27 Sep 2019 08:47:27 +0000 (10:47 +0200)]
Port to Release/3.1 - enabling MHR support (#26803)
* Move JIT_WriteBarrier that is modified at runtime to a dynamically
allocated memory instead of making a page in libcoreclr.dylib RWX.
* Fix JIT_Stelem_Ref calls to JIT_WriteBarrier
* Update PAL to add MEM_JIT flag for allocations and reservations of
executable memory.
* Update native runtime in EH and stack unwinding areas so that it can
unwind from the write barrier copy. That code has no unwind info, so
without special handling, runtime would not be able to unwind from
it.
Anirudh Agnihotry [Wed, 25 Sep 2019 17:05:05 +0000 (10:05 -0700)]
update branding (#26875)
Jan Kotas [Mon, 23 Sep 2019 01:31:09 +0000 (18:31 -0700)]
Do not clip CPU count when CPU quota is used. (#26153) (#26806)
Tarek Mahmoud Sayed [Sat, 21 Sep 2019 18:24:14 +0000 (11:24 -0700)]
Port The Fix When Enabling Windows Compatibilty Mode (#26805)
Jeremy Koritzinsky [Tue, 17 Sep 2019 19:26:35 +0000 (12:26 -0700)]
[release/3.1] Fix marshalling a pinnable multi-dimensional arr… (#26664)
* Use the exact methodtable of the parameter to calculate the offset into a pinned array.
Matt Mitchell [Fri, 13 Sep 2019 00:45:23 +0000 (17:45 -0700)]
Merge pull request #26692 from mmitche/merge-to-31
Merge to release/3.0 -> release/3.1
Matt Mitchell [Thu, 12 Sep 2019 22:47:32 +0000 (15:47 -0700)]
Merge remote-tracking branch 'upstream/release/3.0' into merge-to-31
Matt Mitchell [Thu, 12 Sep 2019 22:44:00 +0000 (15:44 -0700)]
Merge pull request #26620 from dotnet-maestro-bot/merge/release/3.0-to-release/3.1
[automated] Merge branch 'release/3.0' => 'release/3.1'
Mike McLaughlin [Thu, 12 Sep 2019 22:39:39 +0000 (15:39 -0700)]
Fix watson bucketing/broken triage dumps (#26670)
Fix watson bucketing/broken triage dumps
The DAC EnumMemoryRegions needs to include some missing code version
manager memory.
dotnet-maestro[bot] [Thu, 12 Sep 2019 14:45:02 +0000 (14:45 +0000)]
Update dependencies from https://github.com/dotnet/arcade build
20190911.7 (#26683)
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19461.7
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19461.7
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19461.7
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19461.7
dotnet-maestro[bot] [Thu, 12 Sep 2019 14:44:13 +0000 (14:44 +0000)]
Update dependencies from https://github.com/dotnet/corefx build
20190911.12 (#26682)
- Microsoft.NETCore.Platforms - 3.1.0-preview1.19461.12
- Microsoft.Private.CoreFx.NETCoreApp - 4.7.0-preview1.19461.12
dotnet-maestro[bot] [Thu, 12 Sep 2019 14:37:27 +0000 (14:37 +0000)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190912.1 (#26681)
- optimization.IBC.CoreCLR - 99.99.99-master-
20190912.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190912.1
dotnet-maestro[bot] [Thu, 12 Sep 2019 14:30:47 +0000 (14:30 +0000)]
Update dependencies from https://github.com/dotnet/corefx build
20190911.13 (#26680)
- Microsoft.NETCore.Platforms - 3.0.0-rc2.19461.13
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-rc2.19461.13
dotnet-maestro[bot] [Thu, 12 Sep 2019 14:15:05 +0000 (14:15 +0000)]
Update dependencies from https://github.com/dotnet/arcade build
20190911.7 (#26679)
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19461.7
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19461.7
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19461.7
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19461.7
dotnet-maestro[bot] [Wed, 11 Sep 2019 16:44:04 +0000 (16:44 +0000)]
Update dependencies from https://github.com/dotnet/core-setup build
20190910.02 (#26655)
- Microsoft.NETCore.App - 3.0.0-rc2-19460-02
dotnet-maestro[bot] [Wed, 11 Sep 2019 16:23:39 +0000 (16:23 +0000)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190911.1 (#26654)
- optimization.IBC.CoreCLR - 99.99.99-master-
20190911.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190911.1
dotnet-maestro[bot] [Wed, 11 Sep 2019 15:00:28 +0000 (15:00 +0000)]
Update dependencies from https://github.com/dotnet/corefx build
20190910.23 (#26656)
- Microsoft.NETCore.Platforms - 3.1.0-preview1.19460.23
- Microsoft.Private.CoreFx.NETCoreApp - 4.7.0-preview1.19460.23
dotnet-maestro[bot] [Wed, 11 Sep 2019 14:56:17 +0000 (14:56 +0000)]
Update dependencies from https://github.com/dotnet/arcade build
20190910.3 (#26657)
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19460.3
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19460.3
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19460.3
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19460.3
dotnet-maestro[bot] [Wed, 11 Sep 2019 14:32:11 +0000 (14:32 +0000)]
Update dependencies from https://github.com/dotnet/corefx build
20190910.22 (#26653)
- Microsoft.NETCore.Platforms - 3.0.0-rc2.19460.22
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-rc2.19460.22
Anirudh Agnihotry [Wed, 11 Sep 2019 06:24:34 +0000 (23:24 -0700)]
Merge branch 'release/3.1' into merge/release/3.0-to-release/3.1
dotnet-maestro[bot] [Wed, 11 Sep 2019 01:13:29 +0000 (01:13 +0000)]
[release/3.1] Update dependencies from dotnet/corefx (#26508)
* Update dependencies from https://github.com/dotnet/corefx build
20190903.6
- Microsoft.NETCore.Platforms - 3.0.0-rc1.19453.6
- Microsoft.Private.CoreFx.NETCoreApp - 4.7.0-rc1.19453.6
* Update dependencies from https://github.com/dotnet/corefx build
20190904.8
- Microsoft.NETCore.Platforms - 3.0.0-rc1.19454.8
- Microsoft.Private.CoreFx.NETCoreApp - 4.7.0-rc1.19454.8
* Update dependencies from https://github.com/dotnet/corefx build
20190906.2
- Microsoft.NETCore.Platforms - 3.1.0-preview1.19456.2
- Microsoft.Private.CoreFx.NETCoreApp - 4.7.0-preview1.19456.2
* changing the target framework for tests to 3.1
* Update dependencies from https://github.com/dotnet/corefx build
20190906.20
- Microsoft.NETCore.Platforms - 3.1.0-preview1.19456.20
- Microsoft.Private.CoreFx.NETCoreApp - 4.7.0-preview1.19456.20
* Update dependencies from https://github.com/dotnet/corefx build
20190907.5
- Microsoft.NETCore.Platforms - 3.1.0-preview1.19457.5
- Microsoft.Private.CoreFx.NETCoreApp - 4.7.0-preview1.19457.5
* Update dependencies from https://github.com/dotnet/corefx build
20190909.13
- Microsoft.NETCore.Platforms - 3.1.0-preview1.19459.13
- Microsoft.Private.CoreFx.NETCoreApp - 4.7.0-preview1.19459.13
* 3.0 -> 3.1
dotnet-maestro[bot] [Wed, 11 Sep 2019 00:41:31 +0000 (00:41 +0000)]
Update dependencies from https://github.com/dotnet/arcade build
20190910.3 (#26622)
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19460.3
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19460.3
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19460.3
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19460.3
dotnet-maestro[bot] [Tue, 10 Sep 2019 19:44:52 +0000 (12:44 -0700)]
Update dependencies from https://github.com/dotnet/arcade build
20190909.10 (#26618)
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19459.10
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19459.10
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19459.10
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19459.10
Anirudh Agnihotry [Tue, 10 Sep 2019 19:42:32 +0000 (12:42 -0700)]
Merge branch 'release/3.1' into merge/release/3.0-to-release/3.1
dotnet-maestro[bot] [Tue, 10 Sep 2019 19:31:04 +0000 (19:31 +0000)]
[release/3.0] Update dependencies from dotnet/core-setup (#26563)
* Update dependencies from https://github.com/dotnet/core-setup build
20190905.28
- Microsoft.NETCore.App - 3.0.0-rc2-19455-28
* Update dependencies from https://github.com/dotnet/core-setup build
20190907.02
- Microsoft.NETCore.App - 3.0.0-rc2-19457-02
* Update dependencies from https://github.com/dotnet/core-setup build
20190907.15
- Microsoft.NETCore.App - 3.0.0-rc2-19457-15
* Update dependencies from https://github.com/dotnet/core-setup build
20190908.11
- Microsoft.NETCore.App - 3.0.0-rc2-19458-11
* Update dependencies from https://github.com/dotnet/core-setup build
20190909.40
- Microsoft.NETCore.App - 3.0.0-rc2-19459-40
dotnet-maestro[bot] [Tue, 10 Sep 2019 19:13:53 +0000 (19:13 +0000)]
Update dependencies from https://github.com/dotnet/corefx build
20190910.1 (#26616)
- Microsoft.NETCore.Platforms - 3.0.0-rc2.19460.1
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-rc2.19460.1
dotnet-maestro[bot] [Tue, 10 Sep 2019 18:59:49 +0000 (18:59 +0000)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190910.1 (#26617)
- optimization.IBC.CoreCLR - 99.99.99-master-
20190910.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190910.1
dotnet-maestro[bot] [Tue, 10 Sep 2019 18:35:51 +0000 (11:35 -0700)]
Update dependencies from https://github.com/dotnet/core-setup build
20190909.38 (#26619)
- Microsoft.NETCore.App - 3.1.0-preview1.19459.38
dotnet-maestro[bot] [Tue, 10 Sep 2019 14:04:47 +0000 (14:04 +0000)]
Update dependencies from https://github.com/dotnet/arcade build
20190909.10 (#26615)
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19459.10
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19459.10
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19459.10
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19459.10
Anirudh Agnihotry [Tue, 10 Sep 2019 00:21:02 +0000 (17:21 -0700)]
Merge pull request #26510 from dotnet-maestro-bot/merge/release/3.0-to-release/3.1
[automated] Merge branch 'release/3.0' => 'release/3.1'
dotnet-maestro[bot] [Mon, 9 Sep 2019 20:23:15 +0000 (20:23 +0000)]
[release/3.1] Update dependencies from dotnet/arcade (#26564)
* Update dependencies from https://github.com/dotnet/arcade build
20190905.21
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19455.21
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19455.21
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19455.21
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19455.21
* Update dependencies from https://github.com/dotnet/arcade build
20190906.10
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19456.10
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19456.10
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19456.10
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19456.10
* Update dependencies from https://github.com/dotnet/arcade build
20190907.1
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19457.1
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19457.1
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19457.1
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19457.1
* Update dependencies from https://github.com/dotnet/arcade build
20190908.2
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19458.2
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19458.2
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19458.2
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19458.2
Anipik [Mon, 9 Sep 2019 19:12:40 +0000 (12:12 -0700)]
Merge branch 'release/3.0' into release/3.1
dotnet-maestro[bot] [Mon, 9 Sep 2019 17:13:03 +0000 (10:13 -0700)]
[release/3.0] Update dependencies from dotnet/arcade (#26560)
* Update dependencies from https://github.com/dotnet/arcade build
20190905.21
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19455.21
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19455.21
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19455.21
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19455.21
* Update dependencies from https://github.com/dotnet/arcade build
20190906.10
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19456.10
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19456.10
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19456.10
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19456.10
* Update dependencies from https://github.com/dotnet/arcade build
20190907.1
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19457.1
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19457.1
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19457.1
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19457.1
* Update dependencies from https://github.com/dotnet/arcade build
20190908.2
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19458.2
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19458.2
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19458.2
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19458.2
dotnet-maestro[bot] [Mon, 9 Sep 2019 17:12:38 +0000 (10:12 -0700)]
[release/3.0] Update dependencies from dotnet/corefx (#26561)
* Update dependencies from https://github.com/dotnet/corefx build
20190906.1
- Microsoft.NETCore.Platforms - 3.0.0-rc2.19456.1
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-rc2.19456.1
* Update dependencies from https://github.com/dotnet/corefx build
20190907.2
- Microsoft.NETCore.Platforms - 3.0.0-rc2.19457.2
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-rc2.19457.2
* Update dependencies from https://github.com/dotnet/corefx build
20190907.8
- Microsoft.NETCore.Platforms - 3.0.0-rc2.19457.8
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-rc2.19457.8
* Update dependencies from https://github.com/dotnet/corefx build
20190908.3
- Microsoft.NETCore.Platforms - 3.0.0-rc2.19458.3
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-rc2.19458.3
dotnet-maestro[bot] [Mon, 9 Sep 2019 17:11:25 +0000 (10:11 -0700)]
[release/3.1] Update dependencies from dotnet/core-setup (#26565)
* Update dependencies from https://github.com/dotnet/core-setup build
20190905.31
- Microsoft.NETCore.App - 3.1.0-preview1.19455.31
* Update dependencies from https://github.com/dotnet/core-setup build
20190907.3
- Microsoft.NETCore.App - 3.1.0-preview1.19457.3
* Update dependencies from https://github.com/dotnet/core-setup build
20190907.10
- Microsoft.NETCore.App - 3.1.0-preview1.19457.10
* Update dependencies from https://github.com/dotnet/core-setup build
20190908.7
- Microsoft.NETCore.App - 3.1.0-preview1.19458.7
dotnet-maestro[bot] [Mon, 9 Sep 2019 17:10:33 +0000 (10:10 -0700)]
[release/3.0] Update dependencies from dnceng/internal/dotnet-optimization (#26588)
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190908.1
- optimization.IBC.CoreCLR - 99.99.99-master-
20190908.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190908.1
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190909.1
- optimization.IBC.CoreCLR - 99.99.99-master-
20190909.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190909.1
dotnet-maestro[bot] [Fri, 6 Sep 2019 01:12:40 +0000 (01:12 +0000)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190905.1 (#26528)
- optimization.IBC.CoreCLR - 99.99.99-master-
20190905.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190905.1
dotnet-maestro[bot] [Fri, 6 Sep 2019 00:06:31 +0000 (00:06 +0000)]
Update dependencies from https://github.com/dotnet/core-setup build
20190904.16 (#26532)
- Microsoft.NETCore.App - 3.1.0-preview1.19454.16
Anirudh Agnihotry [Thu, 5 Sep 2019 23:36:54 +0000 (16:36 -0700)]
rc2 version updated (#26548)