ReactiveUI.UnhandledErrorException: An object implementing IHandleObservableErrors
What were you doing when VidCoder crashed?
Hello,
I can no longer choose the "compare against original" playback option after encoding without encountering this fatal error. It seems VidCoder can still encode videos just fine, I just can't compare the output to source anymore. I saw similar crash details on Handbrake forum linked back to .NET updates. I did notice that Windows auto-updated my .NET framework today, about an hour before the VidCoder started crashing...
I tried uninstalling .NET 6.0.14 and VidCoder. I reinstalled VidCoder and re-installed .NET 6.0.14 from the VidCoder install menu. The error still occurs. I pasted the .NET runtime info below.
Thank you.
.NET runtimes installed: Microsoft.NETCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 6.0.14 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.WindowsDesktop.App 6.0.14 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Crash details
VidCoder 8.24 SquirrelInstaller
ReactiveUI.UnhandledErrorException: An object implementing IHandleObservableErrors (often a ReactiveCommand or ObservableAsPropertyHelper) has errored, thereby breaking its observable pipeline. To prevent this, ensure the pipeline does not error, or Subscribe to the ThrownExceptions property of the object in question to handle the erroneous case.
---> System.NullReferenceException: Object reference not set to an instance of an object.
at VidCoder.ViewModel.EncodeJobViewModel.get_SourceTitle()
at VidCoder.ViewModel.EncodeResultViewModel.<get_Compare>b__38_0()
at ReactiveUI.ReactiveCommand.<>c__DisplayClass0_0.<Create>b__1(IObserver`1 observer) in D:\a\ReactiveUI\ReactiveUI\src\ReactiveUI\ReactiveCommand\ReactiveCommand.cs:line 109
at System.Reactive.Linq.QueryLanguage.CreateWithDisposableObservable`1.SubscribeCore(IObserver`1 observer) in /_/Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Creation.cs:line 35
at System.Reactive.ObservableBase`1.Subscribe(IObserver`1 observer) in /_/Rx.NET/Source/src/System.Reactive/ObservableBase.cs:line 58
--- End of inner exception stack trace ---
at ReactiveUI.RxApp.<>c__DisplayClass10_0.<.cctor>b__2() in D:\a\ReactiveUI\ReactiveUI\src\ReactiveUI\RxApp.cs:line 106
at System.Reactive.Concurrency.Scheduler.<>c.<Schedule>b__74_0(IScheduler _, Action a) in /_/Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 37
at System.Reactive.Concurrency.DispatcherScheduler.<>c__DisplayClass12_0`1.<Schedule>b__0() in /_/Rx.NET/Source/src/System.Reactive/Platforms/Desktop/Concurrency/DispatcherScheduler.cs:line 98
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Been on vacation, just got a chance to look at this now. I think there's a VideoSource property that is not set at this point. Can you tell me if VidCoder had been closed and re-opened between queuing the job and starting the encode? Also exactly how the job was originally added to the queue? That would help me narrow down the code path to look at.