NullReferenceException
timcassell opened this issue · comments
Got a null ref in a CI run. https://github.com/timcassell/ProtoPromise/actions/runs/3458362187/jobs/5772714156
The stacktrace is useless since it was ran in Release, but putting the log here since it will be lost when Github wipes the logs.
Begin time: 00:30:45.5324112, test: ProtoPromiseTests.Threading.MergeConcurrencyTests.DeferredsMayBeCompletedWhileTheirPromisesArePassedToMergeConcurrently_T2void(Parallel_WithProgress,CancelFromToken,Resolve,Resolve)
Begin time: 00:30:46.3836158, test: ProtoPromiseTests.Threading.MergeConcurrencyTests.DeferredsMayBeCompletedWhileTheirPromisesArePassedToMergeConcurrently_T2void(InSetup_ProgressParallel,Resolve,Resolve,Resolve)
Failed DeferredsMayBeCompletedWhileTheirPromisesArePassedToMergeConcurrently_T2void(Parallel_WithProgress,CancelFromToken,Resolve,Resolve) [851 ms]
Error Message:
System.Exception : No message provided
----> System.NullReferenceException : Object reference not set to an instance of an object.
TearDown : NUnit.Framework.AssertionException : Expected: "Fail"
But was: <Proto.Promises.UnreleasedObjectException: CancelationSource's resources were garbage collected without being disposed.>
Stack Trace:
at ProtoPromiseTests.Threading.ThreadHelper.ExecutePendingParallelActions(TimeSpan timeoutPerAction) in /home/runner/work/ProtoPromise/ProtoPromise/ProtoPromise_Unity/Assets/Plugins/ProtoPromiseTests/Helpers/ThreadHelper.cs:line 196
at ProtoPromiseTests.Threading.ThreadHelper.ExecuteParallelActionsWithOffsets(Boolean expandToProcessorCount, Action setup, Action teardown, Action[] actions) in /home/runner/work/ProtoPromise/ProtoPromise/ProtoPromise_Unity/Assets/Plugins/ProtoPromiseTests/Helpers/ThreadHelper.cs:line 283
at ProtoPromiseTests.Threading.MergeConcurrencyTests.DeferredsMayBeCompletedWhileTheirPromisesArePassedToMergeConcurrently_T2void(CombineType combineType, CompleteType completeType0, CompleteType completeType1, CompleteType completeTypeVoid) in /home/runner/work/ProtoPromise/ProtoPromise/ProtoPromise_Unity/Assets/Plugins/ProtoPromiseTests/Tests/Threading/MergeConcurrencyTests.cs:line 180
--NullReferenceException
at ProtoPromiseTests.Threading.ParallelCombineTestHelper.ParallelCombineTestHelperT`1.<MaybeAddParallelAction>b__3_1() in /home/runner/work/ProtoPromise/ProtoPromise/ProtoPromise_Unity/Assets/Plugins/ProtoPromiseTests/Helpers/ThreadTestHelper.cs:line 138
at ProtoPromiseTests.Threading.ThreadHelper.ThreadRunner.Execute() in /home/runner/work/ProtoPromise/ProtoPromise/ProtoPromise_Unity/Assets/Plugins/ProtoPromiseTests/Helpers/ThreadHelper.cs:line 89
--TearDown
at ProtoPromiseTests.TestHelper.Cleanup() in /home/runner/work/ProtoPromise/ProtoPromise/ProtoPromise_Unity/Assets/Plugins/ProtoPromiseTests/Helpers/TestHelper.cs:line 166
at ProtoPromiseTests.Threading.MergeConcurrencyTests.Teardown() in /home/runner/work/ProtoPromise/ProtoPromise/ProtoPromise_Unity/Assets/Plugins/ProtoPromiseTests/Tests/Threading/MergeConcurrencyTests.cs:line 36
Failed DeferredsMayBeCompletedWhileTheirPromisesArePassedToMergeConcurrently_T2void(InSetup_ProgressParallel,Resolve,Resolve,Resolve) [8 s]
Error Message:
System.TimeoutException : 7 Action(s) timed out after 00:00:07, there may be a deadlock.
TearDown : System.TimeoutException : WaitForAllThreadsToComplete timed out after 00:00:02, _runningActionCount: 2
Stack Trace:
at ProtoPromiseTests.Threading.ThreadHelper.ExecutePendingParallelActions(TimeSpan timeoutPerAction) in /home/runner/work/ProtoPromise/ProtoPromise/ProtoPromise_Unity/Assets/Plugins/ProtoPromiseTests/Helpers/ThreadHelper.cs:line 196
at ProtoPromiseTests.Threading.ThreadHelper.ExecuteParallelActionsWithOffsets(Boolean expandToProcessorCount, Action setup, Action teardown, Action[] actions) in /home/runner/work/ProtoPromise/ProtoPromise/ProtoPromise_Unity/Assets/Plugins/ProtoPromiseTests/Helpers/ThreadHelper.cs:line 283
at ProtoPromiseTests.Threading.MergeConcurrencyTests.DeferredsMayBeCompletedWhileTheirPromisesArePassedToMergeConcurrently_T2void(CombineType combineType, CompleteType completeType0, CompleteType completeType1, CompleteType completeTypeVoid) in /home/runner/work/ProtoPromise/ProtoPromise/ProtoPromise_Unity/Assets/Plugins/ProtoPromiseTests/Tests/Threading/MergeConcurrencyTests.cs:line 180
--TearDown
at ProtoPromiseTests.BackgroundSynchronizationContext.WaitForAllThreadsToComplete() in /home/runner/work/ProtoPromise/ProtoPromise/ProtoPromise_Unity/Assets/Plugins/ProtoPromiseTests/Helpers/BackgroundSynchronizationContext.cs:line 94
at ProtoPromiseTests.TestHelper.WaitForAllThreadsToCompleteAndGcCollect() in /home/runner/work/ProtoPromise/ProtoPromise/ProtoPromise_Unity/Assets/Plugins/ProtoPromiseTests/Helpers/TestHelper.cs:line 173
at ProtoPromiseTests.TestHelper.Cleanup() in /home/runner/work/ProtoPromise/ProtoPromise/ProtoPromise_Unity/Assets/Plugins/ProtoPromiseTests/Helpers/TestHelper.cs:line 166
at ProtoPromiseTests.Threading.MergeConcurrencyTests.Teardown() in /home/runner/work/ProtoPromise/ProtoPromise/ProtoPromise_Unity/Assets/Plugins/ProtoPromiseTests/Tests/Threading/MergeConcurrencyTests.cs:line 36