Skip to content

Cancelation deprecations #905

Cancelation deprecations

Cancelation deprecations #905

GitHub Actions / dotnet-test-results-net8.0-Release-Pool_Enabled-devMode failed Dec 27, 2024 in 1s

25266 passed, 2 failed and 0 skipped

Tests failed

Report Passed Failed Skipped Time
TestResults/dotnet-test-results-net8.0-Release-Pool_Enabled-devMode-analyzer.trx 4✅ 3s
TestResults/dotnet-test-results-net8.0-Release-Pool_Enabled-devMode-core.trx 25262✅ 2❌ 3852s

✅ TestResults/dotnet-test-results-net8.0-Release-Pool_Enabled-devMode-analyzer.trx

4 tests were completed in 3s with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
ProtoPromise.Analyzer.Tests.ProtoPromiseAnalyzerTests 4✅ 3s

❌ TestResults/dotnet-test-results-net8.0-Release-Pool_Enabled-devMode-core.trx

25264 tests were completed in 3852s with 25262 passed, 2 failed and 0 skipped.

Test suite Passed Failed Skipped Time
ProtoPromiseTests.APIs.AllSettledTests 22✅ 3s
ProtoPromiseTests.APIs.AllTests 22✅ 2s
ProtoPromiseTests.APIs.APlus_2_1_PromiseStates+_2_1_1_WhenPendingAPromise 2✅ 204ms
ProtoPromiseTests.APIs.APlus_2_1_PromiseStates+_2_1_2_WhenFulfilledAPromise 3✅ 459ms
ProtoPromiseTests.APIs.APlus_2_1_PromiseStates+_2_1_3_WhenRejectedAPromise 4✅ 579ms
ProtoPromiseTests.APIs.APlus_2_2_TheThenMethod 4✅ 540ms
ProtoPromiseTests.APIs.APlus_2_2_TheThenMethod+_2_2_3_IfOnRejectedIsAFunction 6✅ 668ms
ProtoPromiseTests.APIs.APlus_2_2_TheThenMethod+_2_2_6_ThenMayBeCalledMultipleTimesOnTheSamePromise 4✅ 402ms
ProtoPromiseTests.APIs.APlus_2_2_TheThenMethod+IfOnFulfilledIsAFunction_2_2_2 5✅ 550ms
ProtoPromiseTests.APIs.APlus_2_2_TheThenMethod+ThenMustReturnAPromise_2_2_7 20✅ 2s
ProtoPromiseTests.APIs.APlus_2_3_ThePromiseResolutionProcedure 4✅ 696ms
ProtoPromiseTests.APIs.APlus_2_3_ThePromiseResolutionProcedure+_2_3_2_IfXIsAPromiseAdoptItsState 5✅ 774ms
ProtoPromiseTests.APIs.AsyncFunctionTests 22✅ 2s
ProtoPromiseTests.APIs.AsyncLocalTests 4✅ 443ms
ProtoPromiseTests.APIs.AwaitTests 52✅ 5s
ProtoPromiseTests.APIs.CancelationTests+Registration 40✅ 8s
ProtoPromiseTests.APIs.CancelationTests+Source 45✅ 5s
ProtoPromiseTests.APIs.CancelationTests+Token 35✅ 4s
ProtoPromiseTests.APIs.CaptureTests 24✅ 3s
ProtoPromiseTests.APIs.Channels.BoundedChannelTests 63✅ 7s
ProtoPromiseTests.APIs.Channels.UnboundedChannelTests 39✅ 5s
ProtoPromiseTests.APIs.Collections.TempCollectionTests 34✅ 3s
ProtoPromiseTests.APIs.ConfigureAwaitTests 612✅ 63s
ProtoPromiseTests.APIs.ConfigureContinuationTests 846✅ 90s
ProtoPromiseTests.APIs.ContinuewithTests 16✅ 2s
ProtoPromiseTests.APIs.DelayTests 48✅ 8s
ProtoPromiseTests.APIs.EachTests 502✅ 54s
ProtoPromiseTests.APIs.FinallyTests 132✅ 14s
ProtoPromiseTests.APIs.FirstTests 100✅ 11s
ProtoPromiseTests.APIs.Linq.AggregateAsyncTests 72✅ 8s
ProtoPromiseTests.APIs.Linq.AggregateBySeedSelectorTests 416✅ 46s
ProtoPromiseTests.APIs.Linq.AggregateBySingleSeedTests 240✅ 27s
ProtoPromiseTests.APIs.Linq.AllAsyncTests 48✅ 5s
ProtoPromiseTests.APIs.Linq.AnyAsyncTests 58✅ 6s
ProtoPromiseTests.APIs.Linq.AppendPrependTests 114✅ 13s
ProtoPromiseTests.APIs.Linq.AsyncEnumerableTests 127✅ 14s
ProtoPromiseTests.APIs.Linq.AverageAsyncTests 30✅ 3s
ProtoPromiseTests.APIs.Linq.ChunkTests 15✅ 2s
ProtoPromiseTests.APIs.Linq.ConcatTests 49✅ 6s
ProtoPromiseTests.APIs.Linq.ContainsAsyncTests 10✅ 1s
ProtoPromiseTests.APIs.Linq.CountAsyncTests 35✅ 4s
ProtoPromiseTests.APIs.Linq.CountByTests 144✅ 16s
ProtoPromiseTests.APIs.Linq.DefaultIfEmptyTests 22✅ 3s
ProtoPromiseTests.APIs.Linq.DistinctTests 146✅ 16s
ProtoPromiseTests.APIs.Linq.ElementAtTests 42✅ 5s
ProtoPromiseTests.APIs.Linq.ExceptTests 223✅ 25s
ProtoPromiseTests.APIs.Linq.FirstOrDefaultTests 154✅ 17s
ProtoPromiseTests.APIs.Linq.FirstTests 77✅ 8s
ProtoPromiseTests.APIs.Linq.ForEachAsyncTests 48✅ 5s
ProtoPromiseTests.APIs.Linq.GroupByTests 328✅ 35s
ProtoPromiseTests.APIs.Linq.GroupJoinTests 368✅ 40s
ProtoPromiseTests.APIs.Linq.IndexTests 4✅ 508ms
ProtoPromiseTests.APIs.Linq.IntersectTests 223✅ 25s
ProtoPromiseTests.APIs.Linq.JoinTests 448✅ 49s
ProtoPromiseTests.APIs.Linq.LastOrDefaultTests 154✅ 17s
ProtoPromiseTests.APIs.Linq.LastTests 77✅ 8s
ProtoPromiseTests.APIs.Linq.LongCountAsyncTests 35✅ 4s
ProtoPromiseTests.APIs.Linq.MaxAsyncTests 22✅ 2s
ProtoPromiseTests.APIs.Linq.MaxByAsyncTests 120✅ 13s
ProtoPromiseTests.APIs.Linq.MergeTests 33✅ 4s
ProtoPromiseTests.APIs.Linq.MinAsyncTests 22✅ 2s
ProtoPromiseTests.APIs.Linq.MinByAsyncTests 120✅ 13s
ProtoPromiseTests.APIs.Linq.OrderByTests 768✅ 84s
ProtoPromiseTests.APIs.Linq.ReverseTests 11✅ 1s
ProtoPromiseTests.APIs.Linq.SelectManyNoResultSelectorTests 152✅ 17s
ProtoPromiseTests.APIs.Linq.SelectManyWithResultSelectorTests 336✅ 37s
ProtoPromiseTests.APIs.Linq.SelectTests 72✅ 8s
ProtoPromiseTests.APIs.Linq.SequenceEqualAsyncTests 64✅ 7s
ProtoPromiseTests.APIs.Linq.SingleOrDefaultTests 154✅ 17s
ProtoPromiseTests.APIs.Linq.SingleTests 77✅ 8s
ProtoPromiseTests.APIs.Linq.SkipAndTakeTests 784✅ 86s
ProtoPromiseTests.APIs.Linq.SkipWhileTests 144✅ 16s
ProtoPromiseTests.APIs.Linq.SumAsyncTests 30✅ 3s
ProtoPromiseTests.APIs.Linq.TakeWhileTests 144✅ 16s
ProtoPromiseTests.APIs.Linq.ToArrayAsyncTests 6✅ 702ms
ProtoPromiseTests.APIs.Linq.ToAsyncEnumerableTests 113✅ 12s
ProtoPromiseTests.APIs.Linq.ToDictionaryAsyncTests 312✅ 34s
ProtoPromiseTests.APIs.Linq.ToHashSetAsyncTests 12✅ 1s
ProtoPromiseTests.APIs.Linq.ToListAsyncTests 6✅ 659ms
ProtoPromiseTests.APIs.Linq.ToLookupAsyncTests 208✅ 23s
ProtoPromiseTests.APIs.Linq.UnionTests 1266✅ 140s
ProtoPromiseTests.APIs.Linq.WhereTests 72✅ 8s
ProtoPromiseTests.APIs.Linq.ZipTests 17✅ 2s
ProtoPromiseTests.APIs.MergeSettledTests 594✅ 68s
ProtoPromiseTests.APIs.MergeTests 10✅ 1s
ProtoPromiseTests.APIs.MiscellaneousTests 126✅ 51s
ProtoPromiseTests.APIs.NewAndRunTests 448✅ 53s
ProtoPromiseTests.APIs.ParallelForEachAsyncTests 30✅ 4s
ProtoPromiseTests.APIs.ParallelForTests 41✅ 5s
ProtoPromiseTests.APIs.PromiseCancelationTests 19✅ 2s
ProtoPromiseTests.APIs.PromiseCancelationTests+CancelationToken 26✅ 3s
ProtoPromiseTests.APIs.PromiseCancelationTests+CancelationToken+Reject 6✅ 940ms
ProtoPromiseTests.APIs.PromiseCancelationTests+CatchCancelationMayBeCalledMultipleTimesOnTheSamePromise 2✅ 245ms
ProtoPromiseTests.APIs.PromiseCancelationTests+IfOnCanceledIsAFunction 5✅ 612ms
ProtoPromiseTests.APIs.PromiseCancelationTests+ThePromiseResolutionProcedure 2✅ 245ms
ProtoPromiseTests.APIs.PromiseCancelationTests+ThePromiseResolutionProcedure+IfXIsAPromiseAdoptItsState 6✅ 721ms
ProtoPromiseTests.APIs.PromiseCancelationTests+WhenCanceledAPromise 2✅ 237ms
ProtoPromiseTests.APIs.PromiseCancelationTests+WhenFulfilledAPromise 2✅ 237ms
ProtoPromiseTests.APIs.PromiseCancelationTests+WhenPendingAPromise 2✅ 239ms
ProtoPromiseTests.APIs.PromiseCancelationTests+WhenRejectedAPromise 2✅ 244ms
ProtoPromiseTests.APIs.PromiseGroups.PromiseAllGroupTests 544✅ 64s
ProtoPromiseTests.APIs.PromiseGroups.PromiseAllResultsGroupTests 1082✅ 128s
ProtoPromiseTests.APIs.PromiseGroups.PromiseEachGroupTests 678✅ 80s
ProtoPromiseTests.APIs.PromiseGroups.PromiseMergeGroupTests 1276✅ 151s
ProtoPromiseTests.APIs.PromiseGroups.PromiseMergeResultsGroupTests 1287✅ 152s
ProtoPromiseTests.APIs.PromiseGroups.PromiseRaceGroupTests 1272✅ 151s
ProtoPromiseTests.APIs.PromiseGroups.PromiseRaceWithIndexGroupTests 1272✅ 153s
ProtoPromiseTests.APIs.RaceTests 76✅ 9s
ProtoPromiseTests.APIs.SequenceTests 15✅ 2s
ProtoPromiseTests.APIs.Threading.AsyncAutoResetEventTests 26✅ 4s
ProtoPromiseTests.APIs.Threading.AsyncConditionVariableTests 29✅ 4s
ProtoPromiseTests.APIs.Threading.AsyncCountdownEventTests 28✅ 4s
ProtoPromiseTests.APIs.Threading.AsyncLockTests 21✅ 4s
ProtoPromiseTests.APIs.Threading.AsyncManualResetEventTests 27✅ 4s
ProtoPromiseTests.APIs.Threading.AsyncMonitorTests 38✅ 5s
ProtoPromiseTests.APIs.Threading.AsyncReaderWriterLockTests 215✅ 27s
ProtoPromiseTests.APIs.Threading.AsyncSemaphoreTests 29✅ 4s
ProtoPromiseTests.APIs.Timers.TimerFactoryTests 4✅ 6s
ProtoPromiseTests.APIs.UncaughtRejectionTests 76✅ 11s
ProtoPromiseTests.APIs.Utilities.AsyncLazyTests 18✅ 2s
ProtoPromiseTests.APIs.Utilities.AsyncLazyWithProgressTests 33✅ 4s
ProtoPromiseTests.APIs.Utilities.ProgressTests 148✅ 18s
ProtoPromiseTests.APIs.WaitAsyncTests 54✅ 6s
ProtoPromiseTests.Concurrency.AllConcurrencyTests 144✅ 32s
ProtoPromiseTests.Concurrency.ApiWithCancelationTokenConcurrencyTests 12✅ 10s
ProtoPromiseTests.Concurrency.AwaitConcurrencyTests 18✅ 3s
ProtoPromiseTests.Concurrency.CancelationConcurrencyTests 36✅ 2❌ 7s
ProtoPromiseTests.Concurrency.Channels.BoundedChannelConcurrencyTests 432✅ 54s
ProtoPromiseTests.Concurrency.Channels.UnboundedChannelConcurrencyTests 135✅ 17s
ProtoPromiseTests.Concurrency.DeferredConcurrencyTests 12✅ 2s
ProtoPromiseTests.Concurrency.DeferredThreadTests 10✅ 1s
ProtoPromiseTests.Concurrency.DelayConcurrencyTests 4✅ 530ms
ProtoPromiseTests.Concurrency.EachConcurrencyTests 72✅ 35s
ProtoPromiseTests.Concurrency.FirstConcurrencyTests 144✅ 31s
ProtoPromiseTests.Concurrency.Linq.AsyncEnumerableMergeConcurrencyTests 2✅ 251ms
ProtoPromiseTests.Concurrency.MergeConcurrencyTests 90✅ 145s
ProtoPromiseTests.Concurrency.PromiseConcurrencyTests 62✅ 17s
ProtoPromiseTests.Concurrency.PromiseGroups.PromiseAllGroupConcurrencyTests 144✅ 26s
ProtoPromiseTests.Concurrency.PromiseGroups.PromiseAllResultsGroupConcurrencyTests 144✅ 26s
ProtoPromiseTests.Concurrency.PromiseGroups.PromiseEachGroupConcurrencyTests 576✅ 138s
ProtoPromiseTests.Concurrency.PromiseGroups.PromiseMergeGroupConcurrencyTests 216✅ 51s
ProtoPromiseTests.Concurrency.PromiseGroups.PromiseMergeResultsGroupConcurrencyTests 216✅ 50s
ProtoPromiseTests.Concurrency.PromiseGroups.PromiseRaceGroupConcurrencyTests 288✅ 48s
ProtoPromiseTests.Concurrency.PromiseGroups.PromiseRaceWithIndexGroupConcurrencyTests 288✅ 50s
ProtoPromiseTests.Concurrency.PromiseNonPreservedConcurrencyTests 158✅ 25s
ProtoPromiseTests.Concurrency.RaceConcurrencyTests 144✅ 33s
ProtoPromiseTests.Concurrency.Threading.AsyncAutoResetEventConcurrencyTests 8✅ 3s
ProtoPromiseTests.Concurrency.Threading.AsyncCountdownEventConcurrencyTests 16✅ 7s
ProtoPromiseTests.Concurrency.Threading.AsyncLockConcurrencyTests 12✅ 129s
ProtoPromiseTests.Concurrency.Threading.AsyncManualResetEventConcurrencyTests 8✅ 2s
ProtoPromiseTests.Concurrency.Threading.AsyncReaderWriterLockConcurrencyTests 654✅ 375s
ProtoPromiseTests.Concurrency.Threading.AsyncSemaphoreConcurrencyTests 12✅ 58s
ProtoPromiseTests.Concurrency.Timers.TimerFactoryConcurrencyTests 36✅ 6s
ProtoPromiseTests.Concurrency.Utilities.AsyncLazyConcurrencyTests 3✅ 832ms
ProtoPromiseTests.Concurrency.Utilities.ProgressConcurrencyTests 60✅ 13s
ProtoPromiseTests.Concurrency.WaitAsyncConcurrencyTests 48✅ 6s

❌ ProtoPromiseTests.Concurrency.CancelationConcurrencyTests

✅ CancelationMegaConcurrencyTest
✅ CancelationRegistrationMayOnlyBeUnregisteredOnce_0
✅ CancelationRegistrationMayOnlyBeUnregisteredOnce_1
❌ CancelationSourceLinkedToToken1TwiceMayBeCanceledAndDisposedConcurrently
	System.ObjectDisposedException : Cannot access a disposed object.
	Object name: 'CancelationSource'.
✅ CancelationSourceLinkedToToken1TwiceMayBeCanceledConcurrently
✅ CancelationSourceLinkedToToken1TwiceMayBeDisposedConcurrently
✅ CancelationSourceMayBeCanceledAndDisposedConcurrently0
✅ CancelationSourceMayBeCanceledAndDisposedConcurrently1
✅ CancelationSourceMayBeCanceledAndItsTokenLinkedToANewCancelationSourceConcurrently
✅ CancelationSourceMayBeCanceledAndItsTokenMayThrowIfCancelationRequestedConcurrently
✅ CancelationSourceMayBeCanceledUntilDisposed
✅ CancelationSourceMayBeDisposedAndItsTokenLinkedToANewCancelationSourceConcurrently
✅ CancelationSourceMayBeDisposedAndItsTokenMayThrowIfCancelationRequestedConcurrently
✅ CancelationSourceMayBeDisposedOnlyOnce0
✅ CancelationSourceMayBeDisposedOnlyOnce1
✅ CancelationSourcesMayBeCanceledAndTheirTokensLinkedToANewCancelationSourceConcurrently
✅ CancelationSourcesMayBeDisposedAndTheirTokensLinkedToANewCancelationSourceConcurrently
✅ CancelationTokenMayBeCanceledAndRegisteredToConcurrently
✅ CancelationTokenMayBeCanceledAndRegistrationDisposedAsyncConcurrently
✅ CancelationTokenMayBeCanceledAndRegistrationDisposedConcurrently
✅ CancelationTokenMayBeCanceledAndRegistrationUnRegisteredConcurrently
✅ CancelationTokenMayBeDisposedAndRegisteredToConcurrently
✅ CancelationTokenMayBeDisposedAndRegistrationDisposedAsyncConcurrently
✅ CancelationTokenMayBeDisposedAndRegistrationDisposedConcurrently
✅ CancelationTokenMayBeDisposedAndRegistrationUnRegisteredConcurrently
✅ CancelationTokenMayBeRegisteredToConcurrently0
✅ CancelationTokenMayBeRegisteredToConcurrently1
✅ CancelationTokenMayBeReleasedConcurrentlyAfterCanceled
✅ CancelationTokenMayBeReleasedConcurrentlyWithoutCancel
✅ CancelationTokenMayBeRetainedConcurrentlyAfterCanceled
✅ CancelationTokenMayBeRetainedConcurrentlyWithoutCancel
✅ CancelationTokenRegisterAlwaysReturnsUnique0
✅ CancelationTokenRegisterAlwaysReturnsUnique1
✅ CanceledTokenMayThrowIfCancelationRequestedConcurrently
✅ DisposedTokenMayThrowIfCancelationRequestedConcurrently
❌ LinkedCancelationSourcesMayBeCanceledAndDisposedConcurrently
	System.ObjectDisposedException : Cannot access a disposed object.
	Object name: 'CancelationSource'.
✅ LinkedCancelationSourcesMayBeCanceledConcurrently
✅ LinkedCancelationSourcesMayBeDisposedConcurrently

Annotations

Check failure on line 439 in Package/Core/Cancelations/Internal/CancelationInternal.cs

See this annotation in the file changed.

@github-actions github-actions / dotnet-test-results-net8.0-Release-Pool_Enabled-devMode

ProtoPromiseTests.Concurrency.CancelationConcurrencyTests ► CancelationSourceLinkedToToken1TwiceMayBeCanceledAndDisposedConcurrently

Failed test found in:
  TestResults/dotnet-test-results-net8.0-Release-Pool_Enabled-devMode-core.trx
Error:
  System.ObjectDisposedException : Cannot access a disposed object.
  Object name: 'CancelationSource'.
Raw output
System.ObjectDisposedException : Cannot access a disposed object.
Object name: 'CancelationSource'.
   at Proto.Promises.Internal.CancelationRef.Cancel(Int32 sourceId) in /home/runner/work/ProtoPromise/ProtoPromise/Package/Core/Cancelations/Internal/CancelationInternal.cs:line 439
   at Proto.Promises.CancelationSource.Cancel() in /home/runner/work/ProtoPromise/ProtoPromise/Package/Core/Cancelations/CancelationSource.cs:line 146
   at ProtoPromiseTests.Concurrency.CancelationConcurrencyTests.<>c__DisplayClass30_0.<CancelationSourceLinkedToToken1TwiceMayBeCanceledAndDisposedConcurrently>b__2() in /home/runner/work/ProtoPromise/ProtoPromise/Package/Tests/CoreTests/Concurrency/CancelationConcurrencyTests.cs:line 777
   at ProtoPromiseTests.Concurrency.ThreadHelper.ThreadRunner.Execute() in /home/runner/work/ProtoPromise/ProtoPromise/Package/Tests/Helpers/ThreadHelper.cs:line 70
--- End of stack trace from previous location ---
   at ProtoPromiseTests.Concurrency.ThreadHelper.ExecutePendingParallelActions(TimeSpan timeoutPerAction) in /home/runner/work/ProtoPromise/ProtoPromise/Package/Tests/Helpers/ThreadHelper.cs:line 186
   at ProtoPromiseTests.Concurrency.ThreadHelper.ExecuteParallelActionsWithOffsets(Boolean expandToProcessorCount, Action setup, Action teardown, Action[] actions) in /home/runner/work/ProtoPromise/ProtoPromise/Package/Tests/Helpers/ThreadHelper.cs:line 288
   at ProtoPromiseTests.Concurrency.CancelationConcurrencyTests.CancelationSourceLinkedToToken1TwiceMayBeCanceledAndDisposedConcurrently() in /home/runner/work/ProtoPromise/ProtoPromise/Package/Tests/CoreTests/Concurrency/CancelationConcurrencyTests.cs:line 767
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)

Check failure on line 439 in Package/Core/Cancelations/Internal/CancelationInternal.cs

See this annotation in the file changed.

@github-actions github-actions / dotnet-test-results-net8.0-Release-Pool_Enabled-devMode

ProtoPromiseTests.Concurrency.CancelationConcurrencyTests ► LinkedCancelationSourcesMayBeCanceledAndDisposedConcurrently

Failed test found in:
  TestResults/dotnet-test-results-net8.0-Release-Pool_Enabled-devMode-core.trx
Error:
  System.ObjectDisposedException : Cannot access a disposed object.
  Object name: 'CancelationSource'.
Raw output
System.ObjectDisposedException : Cannot access a disposed object.
Object name: 'CancelationSource'.
   at Proto.Promises.Internal.CancelationRef.Cancel(Int32 sourceId) in /home/runner/work/ProtoPromise/ProtoPromise/Package/Core/Cancelations/Internal/CancelationInternal.cs:line 439
   at Proto.Promises.CancelationSource.Cancel() in /home/runner/work/ProtoPromise/ProtoPromise/Package/Core/Cancelations/CancelationSource.cs:line 146
   at ProtoPromiseTests.Concurrency.CancelationConcurrencyTests.<>c__DisplayClass29_0.<LinkedCancelationSourcesMayBeCanceledAndDisposedConcurrently>b__4() in /home/runner/work/ProtoPromise/ProtoPromise/Package/Tests/CoreTests/Concurrency/CancelationConcurrencyTests.cs:line 753
   at ProtoPromiseTests.Concurrency.ThreadHelper.ThreadRunner.Execute() in /home/runner/work/ProtoPromise/ProtoPromise/Package/Tests/Helpers/ThreadHelper.cs:line 70
--- End of stack trace from previous location ---
   at ProtoPromiseTests.Concurrency.ThreadHelper.ExecutePendingParallelActions(TimeSpan timeoutPerAction) in /home/runner/work/ProtoPromise/ProtoPromise/Package/Tests/Helpers/ThreadHelper.cs:line 186
   at ProtoPromiseTests.Concurrency.ThreadHelper.ExecuteParallelActionsWithOffsets(Boolean expandToProcessorCount, Action setup, Action teardown, Action[] actions) in /home/runner/work/ProtoPromise/ProtoPromise/Package/Tests/Helpers/ThreadHelper.cs:line 288
   at ProtoPromiseTests.Concurrency.CancelationConcurrencyTests.LinkedCancelationSourcesMayBeCanceledAndDisposedConcurrently() in /home/runner/work/ProtoPromise/ProtoPromise/Package/Tests/CoreTests/Concurrency/CancelationConcurrencyTests.cs:line 740
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)