This project is read-only.
1
Vote

1.5.7 beta crash on startup

description

1.5.7 beta crashes consistently on startup with error:

System.NullReferenceException: Object reference not set to an instance of an object.
at VidCoder.ViewModel.VideoPanelViewModel.RefreshEncoderChoices(String containerName) in d:\docs\projects\VidCoder\VidCoder\ViewModel\Panels\VideoPanelViewModel.cs:line 815
at VidCoder.ViewModel.EncodingViewModel.set_EditingPreset(Preset value) in d:\docs\projects\VidCoder\VidCoder\ViewModel\EncodingViewModel.cs:line 119
at VidCoder.ViewModel.EncodingViewModel..ctor(Preset preset) in d:\docs\projects\VidCoder\VidCoder\ViewModel\EncodingViewModel.cs:line 55
at VidCoder.ViewModel.Components.WindowManagerViewModel.OpenEncodingWindow() in d:\docs\projects\VidCoder\VidCoder\ViewModel\Components\WindowManagerViewModel.cs:line 124
at VidCoder.ViewModel.MainViewModel.OnLoaded() in d:\docs\projects\VidCoder\VidCoder\ViewModel\MainViewModel.cs:line 288
at VidCoder.App.OnStartup(StartupEventArgs e) in d:\docs\projects\VidCoder\VidCoder\App.xaml.cs:line 146
at System.Windows.Application.<.ctor>b__1(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

comments

RandomEngy wrote Oct 7, 2013 at 3:37 PM

I don't immediately see what's wrong. Do you get the crash in both x86 and x64 portable? What happens if you temporarily rename %appdata%\VidCoder-Beta\VidCoder.sqlite?

Croftie wrote Oct 8, 2013 at 1:06 PM

I get a crash on startup too, deleting the settings file doesn't help and the same happens with the portable version. I'm using XP SP3 and 1.5.7.

1.5.6 opens fine.
Microsoft.Practices.Unity.ResolutionFailedException: Resolution of the dependency failed, type = "VidCoder.Services.IUpdater", name = "(none)".
Exception occurred while: Calling constructor VidCoder.Services.Updater().
Exception is: ResolutionFailedException - Resolution of the dependency failed, type = "VidCoder.Services.ILogger", name = "(none)".
Exception occurred while: Calling constructor VidCoder.Services.Logger().
Exception is: TypeInitializationException - The type initializer for 'HandBrake.Interop.HandBrakeUtils' threw an exception.
-----------------------------------------------
At the time of the exception, the container was:

  Resolving VidCoder.Services.Logger,(none) (mapped from VidCoder.Services.ILogger, (none))
  Calling constructor VidCoder.Services.Logger()

-----------------------------------------------
At the time of the exception, the container was:

  Resolving VidCoder.Services.Updater,(none) (mapped from VidCoder.Services.IUpdater, (none))
  Calling constructor VidCoder.Services.Updater()
 ---> Microsoft.Practices.Unity.ResolutionFailedException: Resolution of the dependency failed, type = "VidCoder.Services.ILogger", name = "(none)".
Exception occurred while: Calling constructor VidCoder.Services.Logger().
Exception is: TypeInitializationException - The type initializer for 'HandBrake.Interop.HandBrakeUtils' threw an exception.
-----------------------------------------------
At the time of the exception, the container was:

  Resolving VidCoder.Services.Logger,(none) (mapped from VidCoder.Services.ILogger, (none))
  Calling constructor VidCoder.Services.Logger()
 ---> System.TypeInitializationException: The type initializer for 'HandBrake.Interop.HandBrakeUtils' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'hb.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
   at HandBrake.Interop.HbLib.HBFunctions.hb_global_init()
   at HandBrake.Interop.HandBrakeUtils..cctor() in d:\docs\projects\HandBrakeSVN\win\CS\HandBrake.Interop\HandBrakeInterop\HandBrakeUtils.cs:line 64
   --- End of inner exception stack trace ---
   at HandBrake.Interop.HandBrakeUtils.add_MessageLogged(EventHandler`1 value)
   at VidCoder.Services.Logger..ctor(ILogger parent, String baseFileName) in d:\docs\projects\VidCoder\VidCoder\Services\Logger.cs:line 36
   at BuildUp_VidCoder.Services.Logger(IBuilderContext )
   at Microsoft.Practices.ObjectBuilder2.DynamicMethodBuildPlan.BuildUp(IBuilderContext context)
   at Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context)
   at Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context)
   at Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides)
   --- End of inner exception stack trace ---
   at Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides)
   at Microsoft.Practices.Unity.UnityContainer.Resolve(Type t, String name, ResolverOverride[] resolverOverrides)
   at Microsoft.Practices.Unity.UnityContainerExtensions.Resolve[T](IUnityContainer container, ResolverOverride[] overrides)
   at VidCoder.Services.Updater..ctor() in d:\docs\projects\VidCoder\VidCoder\Services\Updater.cs:line 59
   at BuildUp_VidCoder.Services.Updater(IBuilderContext )
   at Microsoft.Practices.ObjectBuilder2.DynamicMethodBuildPlan.BuildUp(IBuilderContext context)
   at Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context)
   at Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context)
   at Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides)
   --- End of inner exception stack trace ---
   at Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides)
   at Microsoft.Practices.Unity.UnityContainer.Resolve(Type t, String name, ResolverOverride[] resolverOverrides)
   at Microsoft.Practices.Unity.UnityContainerExtensions.Resolve[T](IUnityContainer container, ResolverOverride[] overrides)
   at VidCoder.App.OnStartup(StartupEventArgs e) in d:\docs\projects\VidCoder\VidCoder\App.xaml.cs:line 108
   at System.Windows.Application.<.ctor>b__1(Object unused)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

Croftie wrote Oct 8, 2013 at 1:12 PM

1.5.6 may open but when loading a file I get this which is the same error the OP reported
System.NullReferenceException: Object reference not set to an instance of an object.
   at VidCoder.ViewModel.Components.OutputPathViewModel.GetExtensionForProfile(VCProfile profile, Boolean includeDot) in d:\docs\projects\VidCoder\VidCoder\ViewModel\Components\OutputPathViewModel.cs:line 230
   at VidCoder.ViewModel.Components.OutputPathViewModel.GetOutputExtension(Boolean includeDot) in d:\docs\projects\VidCoder\VidCoder\ViewModel\Components\OutputPathViewModel.cs:line 224
   at VidCoder.ViewModel.Components.OutputPathViewModel.GenerateOutputFileName() in d:\docs\projects\VidCoder\VidCoder\ViewModel\Components\OutputPathViewModel.cs:line 340
   at VidCoder.ViewModel.MainViewModel.set_RangeType(VideoRangeType value) in d:\docs\projects\VidCoder\VidCoder\ViewModel\MainViewModel.cs:line 1153
   at VidCoder.ViewModel.MainViewModel.set_SelectedTitle(Title value) in d:\docs\projects\VidCoder\VidCoder\ViewModel\MainViewModel.cs:line 963
   at VidCoder.ViewModel.MainViewModel.UpdateFromNewVideoSource() in d:\docs\projects\VidCoder\VidCoder\ViewModel\MainViewModel.cs:line 2440
   at VidCoder.ViewModel.MainViewModel.<>c__DisplayClass6b.<StartScan>b__6a() in d:\docs\projects\VidCoder\VidCoder\ViewModel\MainViewModel.cs:line 2393
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

Croftie wrote Oct 8, 2013 at 1:25 PM

Also on 1.5.6 when opening the settings window I get this exception and vidcoder closes

I've gone back to 1.5.5 for now, that's the latest usable verison for me.
System.NullReferenceException: Object reference not set to an instance of an object.
   at VidCoder.ViewModel.VideoPanelViewModel.RefreshEncoderChoices(String containerName) in d:\docs\projects\VidCoder\VidCoder\ViewModel\Panels\VideoPanelViewModel.cs:line 815
   at VidCoder.ViewModel.VideoPanelViewModel.NotifyProfileChanged() in d:\docs\projects\VidCoder\VidCoder\ViewModel\Panels\VideoPanelViewModel.cs:line 837
   at VidCoder.ViewModel.EncodingViewModel.set_EditingPreset(Preset value) in d:\docs\projects\VidCoder\VidCoder\ViewModel\EncodingViewModel.cs:line 119
   at VidCoder.ViewModel.EncodingViewModel..ctor(Preset preset) in d:\docs\projects\VidCoder\VidCoder\ViewModel\EncodingViewModel.cs:line 55
   at VidCoder.ViewModel.Components.WindowManagerViewModel.OpenEncodingWindow() in d:\docs\projects\VidCoder\VidCoder\ViewModel\Components\WindowManagerViewModel.cs:line 122
   at VidCoder.ViewModel.Components.WindowManagerViewModel.<get_OpenEncodingWindowCommand>b__0() in d:\docs\projects\VidCoder\VidCoder\ViewModel\Components\WindowManagerViewModel.cs:line 77
   at GalaSoft.MvvmLight.Command.RelayCommand.Execute(Object parameter)
   at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
   at System.Windows.Controls.Primitives.ButtonBase.OnClick()
   at System.Windows.Controls.Button.OnClick()
   at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

RandomEngy wrote Oct 8, 2013 at 3:43 PM

Did you uninstall 1.5.7 before re-installing 1.5.6? It might have left you with a mix of old and new DLLs. As for the original 1.5.7 crash, I think that's a problem with the latest hb.dll, I'll ask the HandBrake folks about that.

Croftie wrote Oct 8, 2013 at 6:38 PM

I did yeah, I also rebooted before installing 1.5.7 for good measure.

However I just uninstalled 1.4.* and although 1.5.6 doesn't crash encodes are failing. No time to troubleshoot it now but will return later.

Croftie wrote Oct 9, 2013 at 4:37 PM

Looks like it could be XP related: https://forum.handbrake.fr/viewtopic.php?f=11&t=28485

I'll try it on W7 after dinner.

Croftie wrote Oct 12, 2013 at 6:53 PM

Indeed 1.5.7 works fine on W7.

Cmarcotte wrote Oct 14, 2013 at 9:00 PM

It is the same thing with 1.5.8 Beta.
Microsoft.Practices.Unity.ResolutionFailedException: Resolution of the dependency failed, type = "VidCoder.Services.IUpdater", name = "(none)".
Exception occurred while: Calling constructor VidCoder.Services.Updater().
Exception is: ResolutionFailedException - Resolution of the dependency failed, type = "VidCoder.Services.ILogger", name = "(none)".
Exception occurred while: Calling constructor VidCoder.Services.Logger().

Exception is: TypeInitializationException - Une exception a été levée par l'initialiseur de type pour 'HandBrake.Interop.HandBrakeUtils'.

At the time of the exception, the container was:

Resolving VidCoder.Services.Logger,(none) (mapped from VidCoder.Services.ILogger, (none))

Calling constructor VidCoder.Services.Logger()

At the time of the exception, the container was:

Resolving VidCoder.Services.Updater,(none) (mapped from VidCoder.Services.IUpdater, (none))
Calling constructor VidCoder.Services.Updater()
---> Microsoft.Practices.Unity.ResolutionFailedException: Resolution of the dependency failed, type = "VidCoder.Services.ILogger", name = "(none)".
Exception occurred while: Calling constructor VidCoder.Services.Logger().

Exception is: TypeInitializationException - Une exception a été levée par l'initialiseur de type pour 'HandBrake.Interop.HandBrakeUtils'.

At the time of the exception, the container was:

Resolving VidCoder.Services.Logger,(none) (mapped from VidCoder.Services.ILogger, (none))
Calling constructor VidCoder.Services.Logger()
---> System.TypeInitializationException: Une exception a été levée par l'initialiseur de type pour 'HandBrake.Interop.HandBrakeUtils'. ---> System.DllNotFoundException: Impossible de charger la DLL 'hb.dll': Le module spécifié est introuvable. (Exception de HRESULT : 0x8007007E)
à HandBrake.Interop.HbLib.HBFunctions.hb_global_init()
à HandBrake.Interop.HandBrakeUtils..cctor() dans d:\docs\projects\HandBrakeSVN\win\CS\HandBrake.Interop\HandBrakeInterop\HandBrakeUtils.cs:ligne 64
--- Fin de la trace de la pile d'exception interne ---
à HandBrake.Interop.HandBrakeUtils.add_MessageLogged(EventHandler1 value)
à VidCoder.Services.Logger..ctor(ILogger parent, String baseFileName) dans d:\docs\projects\VidCoder\VidCoder\Services\Logger.cs:ligne 37
à BuildUp_VidCoder.Services.Logger(IBuilderContext )
à Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context)
à Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context)
à Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable
1 resolverOverrides)
--- Fin de la trace de la pile d'exception interne ---
à Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable1 resolverOverrides)
à Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, String name, IEnumerable
1 resolverOverrides)
à Microsoft.Practices.Unity.UnityContainerExtensions.Resolve[T](IUnityContainer container, ResolverOverride[] overrides)
à VidCoder.Services.Updater..ctor() dans d:\docs\projects\VidCoder\VidCoder\Services\Updater.cs:ligne 59
à BuildUp_VidCoder.Services.Updater(IBuilderContext )
à Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context)
à Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context)
à Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable1 resolverOverrides)
--- Fin de la trace de la pile d'exception interne ---
à Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable
1 resolverOverrides)
à Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, String name, IEnumerable`1 resolverOverrides)
à Microsoft.Practices.Unity.UnityContainerExtensions.Resolve[T](IUnityContainer container, ResolverOverride[] overrides)
à VidCoder.App.OnStartup(StartupEventArgs e) dans d:\docs\projects\VidCoder\VidCoder\App.xaml.cs:ligne 114
à System.Windows.Application.<.ctor>b__1(Object unused)
à System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
à MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

RandomEngy wrote Oct 14, 2013 at 9:23 PM

Yes the betas do not work on Windows XP right now.