Hello,
I have recently constructed a new faster system, however it seems to be crashing quite often just as it completes an optimization. I recently recieved this error code. I am wondering if it is because I have too many parameters? I hope not.
One thing I have done to try to fix this is create a clone of the strategy. In the past that helped me get around some issues I was having.
Let me know what else I can provide to diagnose this issue. Is there somewhere that WL creates a crash report or something similar? Unfortunately windows does not even prompt me when it crashes, it just closes itself.
Thanks,
Dandude
Here is the error code:
System.ArgumentException: Source array was not long enough. Check the source index, length, and the array's lower bounds. (Parameter 'sourceArray')
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length)
at System.Windows.DependencyObject.InsertEntry(EffectiveValueEntry entry, UInt32 entryIndex)
at System.Windows.DependencyObject.SetEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry newEntry, EffectiveValueEntry oldEntry)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
at System.Windows.StyleHelper.InvalidateResourceDependents(DependencyObject container, ResourcesChangeInfo info, FrugalStructList`1& resourceDependents, Boolean invalidateVisualTreeToo)
at System.Windows.TreeWalkHelper.InvalidateStyleAndReferences(DependencyObject d, ResourcesChangeInfo info, Boolean containsTypeOfKey)
at System.Windows.TreeWalkHelper.OnResourcesChanged(DependencyObject d, ResourcesChangeInfo info, Boolean raiseResourceChangedEvent)
at System.Windows.FrameworkElement.OnAncestorChangedInternal(TreeChangeInfo parentTreeState)
at System.Windows.TreeWalkHelper.OnAncestorChanged(DependencyObject d, TreeChangeInfo info, Boolean visitedViaVisualTree)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at System.Windows.DescendentsWalker`1.StartWalk(DependencyObject startNode, Boolean skipStartNode)
at MS.Internal.PrePostDescendentsWalker`1.StartWalk(DependencyObject startNode, Boolean skipStartNode)
at System.Windows.TreeWalkHelper.InvalidateOnTreeChange(FrameworkElement fe, FrameworkContentElement fce, DependencyObject parent, Boolean isAddOperation)
at System.Windows.FrameworkElement.ChangeLogicalParent(DependencyObject newParent)
at System.Windows.FrameworkElement.RemoveLogicalChild(Object child)
at System.Windows.Controls.UIElementCollection.ClearInternal()
at WealthLab.WPF.ParameterSliderPanel.BuildSliders()
at WealthLab.WPF.ParameterSliderPanel.AssignParameters(ParameterList pl)
at WealthLab8.MainWindow.UpdateSliders(ParameterList pl)
at WealthLab8.MainWindow.ChildWindowActivated(ChildWindow cw)
at WealthLab8.cwStrategy.PublishPrototype(Object var1, SelectionChangedEventArgs connection)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.Controls.TabControl.OnSelectionChanged(SelectionChangedEventArgs e)
at System.Windows.Controls.Primitives.Selector.SetSelectedHelper(Object item, FrameworkElement UI, Boolean selected)
at System.Windows.Controls.Primitives.Selector.OnSelected(Object sender, RoutedEventArgs e)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.Controls.TabItem.OnIsSelectedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
at System.Windows.DependencyObject.SetCurrentValueInternal(DependencyProperty dp, Object value)
at System.Windows.Controls.TabItem.OnPreviewGotKeyboardFocus(KeyboardFocusChangedEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
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.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.KeyboardDevice.TryChangeFocus(DependencyObject newFocus, IKeyboardInputProvider keyboardInputProvider, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)
at System.Windows.Input.KeyboardDevice.Focus(DependencyObject focus, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)
at System.Windows.Input.KeyboardDevice.Focus(IInputElement element)
at System.Windows.UIElement.Focus()
at System.Windows.Controls.TabItem.SetFocus()
at System.Windows.Controls.TabItem.OnMouseLeftButtonDown(MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
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.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
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.Input.InputManager.ProcessStagingArea()
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 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
I have recently constructed a new faster system, however it seems to be crashing quite often just as it completes an optimization. I recently recieved this error code. I am wondering if it is because I have too many parameters? I hope not.
One thing I have done to try to fix this is create a clone of the strategy. In the past that helped me get around some issues I was having.
Let me know what else I can provide to diagnose this issue. Is there somewhere that WL creates a crash report or something similar? Unfortunately windows does not even prompt me when it crashes, it just closes itself.
Thanks,
Dandude
Here is the error code:
System.ArgumentException: Source array was not long enough. Check the source index, length, and the array's lower bounds. (Parameter 'sourceArray')
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length)
at System.Windows.DependencyObject.InsertEntry(EffectiveValueEntry entry, UInt32 entryIndex)
at System.Windows.DependencyObject.SetEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry newEntry, EffectiveValueEntry oldEntry)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
at System.Windows.StyleHelper.InvalidateResourceDependents(DependencyObject container, ResourcesChangeInfo info, FrugalStructList`1& resourceDependents, Boolean invalidateVisualTreeToo)
at System.Windows.TreeWalkHelper.InvalidateStyleAndReferences(DependencyObject d, ResourcesChangeInfo info, Boolean containsTypeOfKey)
at System.Windows.TreeWalkHelper.OnResourcesChanged(DependencyObject d, ResourcesChangeInfo info, Boolean raiseResourceChangedEvent)
at System.Windows.FrameworkElement.OnAncestorChangedInternal(TreeChangeInfo parentTreeState)
at System.Windows.TreeWalkHelper.OnAncestorChanged(DependencyObject d, TreeChangeInfo info, Boolean visitedViaVisualTree)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
at System.Windows.DescendentsWalker`1.StartWalk(DependencyObject startNode, Boolean skipStartNode)
at MS.Internal.PrePostDescendentsWalker`1.StartWalk(DependencyObject startNode, Boolean skipStartNode)
at System.Windows.TreeWalkHelper.InvalidateOnTreeChange(FrameworkElement fe, FrameworkContentElement fce, DependencyObject parent, Boolean isAddOperation)
at System.Windows.FrameworkElement.ChangeLogicalParent(DependencyObject newParent)
at System.Windows.FrameworkElement.RemoveLogicalChild(Object child)
at System.Windows.Controls.UIElementCollection.ClearInternal()
at WealthLab.WPF.ParameterSliderPanel.BuildSliders()
at WealthLab.WPF.ParameterSliderPanel.AssignParameters(ParameterList pl)
at WealthLab8.MainWindow.UpdateSliders(ParameterList pl)
at WealthLab8.MainWindow.ChildWindowActivated(ChildWindow cw)
at WealthLab8.cwStrategy.PublishPrototype(Object var1, SelectionChangedEventArgs connection)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.Controls.TabControl.OnSelectionChanged(SelectionChangedEventArgs e)
at System.Windows.Controls.Primitives.Selector.SetSelectedHelper(Object item, FrameworkElement UI, Boolean selected)
at System.Windows.Controls.Primitives.Selector.OnSelected(Object sender, RoutedEventArgs e)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.Controls.TabItem.OnIsSelectedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
at System.Windows.DependencyObject.SetCurrentValueInternal(DependencyProperty dp, Object value)
at System.Windows.Controls.TabItem.OnPreviewGotKeyboardFocus(KeyboardFocusChangedEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
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.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.KeyboardDevice.TryChangeFocus(DependencyObject newFocus, IKeyboardInputProvider keyboardInputProvider, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)
at System.Windows.Input.KeyboardDevice.Focus(DependencyObject focus, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)
at System.Windows.Input.KeyboardDevice.Focus(IInputElement element)
at System.Windows.UIElement.Focus()
at System.Windows.Controls.TabItem.SetFocus()
at System.Windows.Controls.TabItem.OnMouseLeftButtonDown(MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
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.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
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.Input.InputManager.ProcessStagingArea()
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 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Rename
I should mention: That error code showed up but WL did not crash. In fact it did not seem to affect anything. However, about an hour later after an optimization, WL crashed.
We can’t help much without having the strategy to troubleshoot 🤷🏼♂️
A wild "guess" is that some optimization parameter is hitting a value that leads to this problem. You might try un-checkmarking some of the optimization parameters (so they are held constant by the optimizer) to try to isolate which parameter is causing the array sizing error. Try narrowing it down to one offending parameter on one specific condition. Let us know what that is, and which optimizer you are using.
Other than that, without running your code ourselves, you're on your own.
Other than that, without running your code ourselves, you're on your own.
I was just looking at the trace dump more carefully. There is almost no mention of the WealthLab framework in the trace dump--strange. What is mentioned is WealthLab.WPF in the dump with reference to sliders. This bring us to an interesting question.
Of all the parameters in your strategy, which parameter has the most possible values and how many values is that? If you have too many, this "might" create the array overflow error you are seeing. Also, how many parameters is your strategy using?
From an optimization standpoint, I wouldn't allow any one parameter to have more than 10 or 15 possible values. In my own strategies, I limit the number of possible values (for any given parameter) to five.
Of all the parameters in your strategy, which parameter has the most possible values and how many values is that? If you have too many, this "might" create the array overflow error you are seeing. Also, how many parameters is your strategy using?
From an optimization standpoint, I wouldn't allow any one parameter to have more than 10 or 15 possible values. In my own strategies, I limit the number of possible values (for any given parameter) to five.
Wow only five? I have parameters with up to 251 values (although I usually do not optimize these in combination with others).
I often utilize a stepwise optimization (using the exhaustive setting). In this method, I optimize 2-3 parameters at a time. When I do an overnight optimization, I will select up to 5-6 parameters and use the shrinking window optimization. I will usually find a combination that gives about 2 million permutations and then run about 100 thousand tests overnight.
However, last night, yet again I woke up to find WL had crashed after attempting one of these overnight optimizations. I never had this problem for the last seven months of using this method. The problem seems to be occurring only with my new machine. Perhaps I should attempt a reinstall of WL.
I would like to avoid posting the entire code of my strategy. Is there another way? Or perhaps I could email the code to a developer if they promise not to post or share it beyond the development team.
I also should mention all of my strategies are building block strategies.
I also just received perhaps another clue. This occurred on my VPS machine while it ran the strategy on the strategy monitor overnight. This is particularly troubling because this is an error during live trading that has never happened before. In addition, this occurred on another machine, so perhaps it shows the issue is within one of my strategies.
Here is the new error code that occurred on the strategy monitor:
System.NullReferenceException: Object reference not set to an instance of an object.
at WealthLab.WPF.ucSignals.AcceptSignals(List`1 signals, String sourceName, Strategy strategy, HistoryScale scale, PositionSize posSize, BacktestSettings bts)
at WealthLab8.cwStrategyMonitor.FindConfiguration()
at WealthLab8.cwStrategyMonitor.PushConfiguration()
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)
I often utilize a stepwise optimization (using the exhaustive setting). In this method, I optimize 2-3 parameters at a time. When I do an overnight optimization, I will select up to 5-6 parameters and use the shrinking window optimization. I will usually find a combination that gives about 2 million permutations and then run about 100 thousand tests overnight.
However, last night, yet again I woke up to find WL had crashed after attempting one of these overnight optimizations. I never had this problem for the last seven months of using this method. The problem seems to be occurring only with my new machine. Perhaps I should attempt a reinstall of WL.
I would like to avoid posting the entire code of my strategy. Is there another way? Or perhaps I could email the code to a developer if they promise not to post or share it beyond the development team.
I also should mention all of my strategies are building block strategies.
I also just received perhaps another clue. This occurred on my VPS machine while it ran the strategy on the strategy monitor overnight. This is particularly troubling because this is an error during live trading that has never happened before. In addition, this occurred on another machine, so perhaps it shows the issue is within one of my strategies.
Here is the new error code that occurred on the strategy monitor:
System.NullReferenceException: Object reference not set to an instance of an object.
at WealthLab.WPF.ucSignals.AcceptSignals(List`1 signals, String sourceName, Strategy strategy, HistoryScale scale, PositionSize posSize, BacktestSettings bts)
at WealthLab8.cwStrategyMonitor.FindConfiguration()
at WealthLab8.cwStrategyMonitor.PushConfiguration()
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)
We could use the strategy (or a demo code that demonstrates the anomaly) in troubleshooting the optimizer if you send it to support@wealth-lab.com
QUOTE:
I have parameters with up to 251 values ...
So the question remains, "Would 251 values on a WPF slider throw an WealthLab.WPF array-out-of-bounds exception?" That's a very interesting question. It would probably depends on the circumstance the slider is used in. I noticed in your latest error trace, WealthLab.WPF is mentioned again.
At any rate, I would reduce the 251 values to 15 maximum even if you have to adjust the low and high limits. You're optimization will execute much faster that way. And let us know if that fixes your problem.
QUOTE:Divide and conquer, there's nothing wrong with that approach in the early stages of trying to adjust appropriate parameter ranges. In a production strategy, however, you would want to optimize all parameters together. And I wouldn't juggle too many parameters together.
I often utilize a stepwise optimization ... In this method, I optimize 2-3 parameters at a time.
It looks like the development team is willing to look at your code. Perhaps they could include an error handling routine in WealthLab.WPF (Or better yet, in the AddParameter method) that would better describe this issue to the user. The one we have now with the slider is too cryptic for the average WL user.
Update:
I am starting to suspect it may be something else instead or in addition to the number of parameters. WL just crashed while I was attempting to resize a window within wealth lab (a strategy window).
I have noticed that my machine will rev up its fans while WL is doing even very simple tasks. I have also noticed that WL will "utilize" up to 30% of the GPU's resources when it is open and not even working. This is surprising because as I mentioned before, this is a brand new powerful system with a 4090 GPU.
Is it possible that there is some incompatibility with the GPU and WL, or something else might be going on?
It is pretty frustrating, because now WL crashes quite often in the middle of my work, losing all work since my last save. Also losing any optimizations that had completed.
Thanks,
Dandude
I am starting to suspect it may be something else instead or in addition to the number of parameters. WL just crashed while I was attempting to resize a window within wealth lab (a strategy window).
I have noticed that my machine will rev up its fans while WL is doing even very simple tasks. I have also noticed that WL will "utilize" up to 30% of the GPU's resources when it is open and not even working. This is surprising because as I mentioned before, this is a brand new powerful system with a 4090 GPU.
Is it possible that there is some incompatibility with the GPU and WL, or something else might be going on?
It is pretty frustrating, because now WL crashes quite often in the middle of my work, losing all work since my last save. Also losing any optimizations that had completed.
Thanks,
Dandude
I should also mention: Just now, as has happened several times before, WL crashed when I went to sort my optimization by highest profit. The optimization completed without any issue, but somehow the process of sorting the rows caused WL to crash completely.
I am going to take a break from my work, although I don't wish to. This is too frustrating to try to work with at the moment.
I am going to take a break from my work, although I don't wish to. This is too frustrating to try to work with at the moment.
Give us a strategy, any strategy, the DataSet, date range, Historical Provider, etc., and other test conditions that you think would allow us to see the problem.
Hey Cone, thanks for the response. I did email a strategy to the support email listed above. Do you have access to that email?
I am using IQfeed, @NQ#C, a 1 year period, 15 minute bars... I can post other settings but I am not sure what is relevant. Unfortunately WL has only given me that one error code a while ago and I don't know where else to look to see what is going wrong.
Thanks!
I am using IQfeed, @NQ#C, a 1 year period, 15 minute bars... I can post other settings but I am not sure what is relevant. Unfortunately WL has only given me that one error code a while ago and I don't know where else to look to see what is going wrong.
Thanks!
You sent the strategy from an email address that made our system instantly mark it as spam. I've restored it and sent to @Cone.
Thanks Eugene!
Also I want to emphasize: The fix that has been working for me is creating a clone of the strategy and working from there. However, after a change or two, it will begin crashing again. If I can remember to create a clone every time I make a change, it seems I am generally able to avoid the problem. But I am not 100% sure about that.
Also I want to emphasize: The fix that has been working for me is creating a clone of the strategy and working from there. However, after a change or two, it will begin crashing again. If I can remember to create a clone every time I make a change, it seems I am generally able to avoid the problem. But I am not 100% sure about that.
This looks like graphics/UI related exceptions. It seems like you're just getting random exceptions while performing normal operations in the UI. Are your graphics drivers up to date? We're certainly not seeing anything like this.
QUOTE:
This looks like graphics/UI related exceptions. ... Are your graphics drivers up to date?
That is precisely what I was thinking. If it's a Windows 11 system, I would update your video drivers immediately. Manufacturers often ship their GPU video hardware with beta versions of their video drivers to get to market faster.
Try testing your strategy on a Windows 10 system. The drivers for Windows 10 should be pretty stable by now.
Yes I suspected it might be the drivers. However, I have updated them at least a week ago. I could try doing a clean install or going back a version to the one previous to the latest.
I am already using Windows 10.
I am already using Windows 10.
I havent updated the bios for my motherboard since building the computer. I will try that fix next.
QUOTE:Me and my machines are booked for the next several days. Don't wait for me to attempt to duplicate this... but first let's make sure it's not the GPU thingy.
You sent the strategy from an email address that made our system instantly mark it as spam. I've restored it and sent to @Cone.
QUOTE:
I could try doing a clean install or going back a version to the one previous to the latest.
If you're running Windows 10 with old video hardware, then the drivers should be stable by now. It's possible they got corrupted (say by a virus), but less likely. I would:
1) Call the manufacture of your video hardware to see if they are familiar with the problems you are having.
2) Have the Geek Squad store run a virus check and also look for root kits on your system. But this kind of problem would affect more than the video performance. Use Event Viewer to look at the System logs to see if other weird stuff is happening.
3) If there are any chip cooler fans on your video hardware, be sure those fans are all working good.
4) See what the BIOS says about the temperature of your CPU chip. Is it within spec? Are you overclocking the chip?
Ouch @dandude, I didn't realize that when opened as C# code your strategy has over 800 lines. However I'd agree with @Glitch on the nature of these exceptions so the strategy sent or its complexity hardly has to do with it.
So I updated the Motheboard Bios. I am not yet sure if it fixed the problem, but WL has not crashed yet. I only did a couple of test optimizations and then ran an overnight optimization.
One thing that definitely changed is the speed of optimization, unfortunately for the worse. Before the Bios flash it was completing 3 permutations per second, now it is down to 2 or even lower with a larger sample (it is still working on the overnight optimization of 69000 tests, estimating 12.5 hrs or 1.53/second). This is much slower than my previous system with less RAM and a 7 year old processor.
One thing that definitely changed is the speed of optimization, unfortunately for the worse. Before the Bios flash it was completing 3 permutations per second, now it is down to 2 or even lower with a larger sample (it is still working on the overnight optimization of 69000 tests, estimating 12.5 hrs or 1.53/second). This is much slower than my previous system with less RAM and a 7 year old processor.
Aaand the overnight optimization has frozen. This has happened before, but the new machine was doing better than the last on that front. At least it didn't crash the same way... I guess.
This expensive project to build a new high powered optimization machine is not going well.
This expensive project to build a new high powered optimization machine is not going well.
QUOTE:
Before the Bios flash it was completing 3 permutations per second, now it is down to 2 or even lower
So you're saying the old BIOS was overclocking the processor too fast?
My "guess" is that the original configuration had the processor overclocked too fast and flashing the BIOS reset the clocking to normal. I would be careful about overclocking your system. Some video cards may not be compatible with the overclocking. And check the CPU temperature when you overclock.
Also, some high-end video adapters have their own firmware. If yours does, be sure to flash upgrade that as well. You might try running your system with a cheap, PCIe-based video adapter without any overclocking to see if that fixes the problem.
Hey Superticker, thanks for your response and help in this thread.
Unfortunately, I had not touched the overclocking settings in the bios before or after these tests. Same for the GPU. Perhaps it is possible that the original bios had some sort of overclocking setting by default, but I would be surprised if that was the case.
Either way I am looking at a pretty big disappointment for my new system. I thought, based on online numbers, that my new system would be 10x faster than my old one. Instead it is currently 25% *slower*. Something isn't right.
Unfortunately, I had not touched the overclocking settings in the bios before or after these tests. Same for the GPU. Perhaps it is possible that the original bios had some sort of overclocking setting by default, but I would be surprised if that was the case.
Either way I am looking at a pretty big disappointment for my new system. I thought, based on online numbers, that my new system would be 10x faster than my old one. Instead it is currently 25% *slower*. Something isn't right.
QUOTE:
new system would be 10x faster than my old one. Instead it is currently 25% *slower*.
Sounds like you need a bus analyzer. It might be the video hardware is trying to jump onto the bus too soon or something (i.e. timing problem) so collisions are occurring.
As I said, I would remove or disable your current video adapter and substitute a cheap video card instead. See if that reduces collisions and speeds things up. Also, WealthLab isn't doing any DirectX calls to my knowledge, so there isn't really a need for a real-time high-speed video card.
And again, talk to the manufacture of your fancy video card to see what they suggest. They may be familiar with your problem.
This is an interesting approach I will have to try it when I get a moment here. Do you think the integrated graphics card would be a good thing to try? I would like to avoid having to rip the computer open again.
Is there a bus analyzer you would recommend? Since you are clearly more familiar with the inner workings of a PC, do you have any advice on how to describe this problem to the GPU manufacturer?
Is there a bus analyzer you would recommend? Since you are clearly more familiar with the inner workings of a PC, do you have any advice on how to describe this problem to the GPU manufacturer?
QUOTE:
Do you think the integrated graphics card would be a good thing to try?
Not only is it worth trying, but for fairly-static graphics application like WealthLab that's not doing any demanding, high-level DirectX calls, the integrated graphics may be preferable because it has a more direct line to the processor. And we both know the motherboard manufacturer has taken care of any timing issues between the two. (I assume you flashed any upgrades to the on-board graphics chip already.)
On bus analyzers, exactly how is your graphics accelerator connected to the computer? Is it going through a standard 8-channel PCIe interface? Tektronix has some nice ones for PCIe, but before spending 1000s buying one, I would rent it for a couple days to be sure it meets your expectations.
Just describe what you've experienced to the graphics card manufacture. If it's a common problem, they will know about it.
Writing this on my integrated GPU.
Unfortunately disabling the 4090 GPU did not change the speed of the optimizer. Still no crashes though, although I haven't had much time to test it today.
Unfortunately disabling the 4090 GPU did not change the speed of the optimizer. Still no crashes though, although I haven't had much time to test it today.
QUOTE:
... my integrated GPU.
I think I have the wrong image of your system. Are you saying the GPU is located on your motherboard? (I had envisioned it on a daughter video acceleration card.... Perhaps a PCIe card.) If GPU is on the motherboard, then the motherboard designer would have taken care of the bus arbitration (and timing) issues, so that shouldn't be a problem (unless a static discharge damaged some chips).
QUOTE:
Unfortunately disabling the 4090 GPU did not change the speed of the optimizer.
Well, the optimizer shouldn't be playing with the GPU. I think those results are expected. But I do think the nature of the error messages you're getting points to a video (either driver or hardware) problem.
I would call the motherboard manufacture and ask them to confirm that the BIOS upgrade would slow down your machine by 25%. That seems wrong (too much) to me.
Id like to update you guys. So far, WL has not crashed since updating the Motherboard Bios. Silly of me not to have done that when I built the computer.
It is still optimizing slower than it did before, but I did apply some minor overclocking and optimization has been improved by 30-50%.
It is still optimizing slower than it did before, but I did apply some minor overclocking and optimization has been improved by 30-50%.
When you updated the BIOS for the motherboard, that also updated the firmware for the integrated GPU, which fixed your video problem.
WealthLab really isn't doing anything significant (as far as animation) requiring the need for a GPU. The only thing animated is the incomplete bar on the streaming Chart, and I doubt the WL developers are using DirectX calls to speed that up; it's just not worth it. Happy computing to you.
WealthLab really isn't doing anything significant (as far as animation) requiring the need for a GPU. The only thing animated is the incomplete bar on the streaming Chart, and I doubt the WL developers are using DirectX calls to speed that up; it's just not worth it. Happy computing to you.
Your Response
Post
Edit Post
Login is required