Are you guys still working on D3?

Apr 10, 2010 at 1:17 AM

Mikhail and other developers,

I have logged several critical crashing issues with chart controls with the log axis but never received any resolution. I don't see you posting answers to many of the questions in this forum. Please honestly reply if this library is going to be supported going forward so that I can continue using it. It is a library with some cool features but it is still unstable. If you are still supporting it please tell me when is the next stable version going to be released that will address the crashing issues with zooming and panning chart controls with mutiple curves on logarithmic axes. There are also issues with markers/cursors with these charts.

I will appreciate your reply.

Thanks,

Faisal

Editor
Apr 10, 2010 at 2:38 AM
Edited Apr 12, 2010 at 2:41 AM

Hi Faisal,

currently there are three persons working on DynamicDataDisplay, their parts of D3 are simply still not ready for publishing them.

I have posted here - http://cid-eaf0a921258b5980.skydrive.live.com/self.aspx/.Public/D3/DynamicDataDisplay%20April^410.zip our current version of D3, where I was unable to reproduce your bug. If it still there please notify me.

Sorry for making you wait and worry.

 

Best regards,

Mikhail.

Apr 12, 2010 at 2:37 AM

Hi Mikhail,

This makes me feel much better. Thanks for providing the new library. If I keep zooming out or zooming in using the middle mouse scroll wheel, I get the following exception (which is same as before). This is when I use the x-axis as log10 axis. Is there a way to specify a max zoom in or zoom out level? I think the values get so small that something is getting divided by a 0. If I can just limit the zoom levels, I will be fine:

System.OverflowException was unhandled by user code
  Message="Arithmetic operation resulted in an overflow."
  Source="DynamicDataDisplay"
  StackTrace:
       at Microsoft.Research.DynamicDataDisplay.Charts.Axes.Numeric.LogarithmNumericTicksProvider.CreateTicks(Range`1 range)
       at Microsoft.Research.DynamicDataDisplay.Charts.Axes.Numeric.LogarithmNumericTicksProvider.GetTicks(Range`1 range, Int32 ticksCount)
       at Microsoft.Research.DynamicDataDisplay.Charts.AxisControl`1.CreateTicks()
       at Microsoft.Research.DynamicDataDisplay.Charts.AxisControl`1.UpdateUI()
       at Microsoft.Research.DynamicDataDisplay.Charts.AxisControl`1.UpdateRegionHolder`1.Dispose()
       at Microsoft.Research.DynamicDataDisplay.Charts.AxisBase`1.OnViewportPropertyChanged(Object sender, ExtendedPropertyChangedEventArgs e)
       at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
       at Microsoft.Research.DynamicDataDisplay.EventExtensions.Raise[T](EventHandler`1 event, Object sender, T args)
       at Microsoft.Research.DynamicDataDisplay.Viewport2D.RaisePropertyChanged(ExtendedPropertyChangedEventArgs args)
       at Microsoft.Research.DynamicDataDisplay.Viewport2D.RaisePropertyChangedEvent(DependencyPropertyChangedEventArgs e)
       at Microsoft.Research.DynamicDataDisplay.Viewport2D.OnPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
       at System.Windows.DependencyObject.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, OperationType operationType)
       at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, OperationType operationType, Boolean isInternal)
       at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
       at Microsoft.Research.DynamicDataDisplay.Viewport2D.set_Visible(DataRect value)
       at Microsoft.Research.DynamicDataDisplay.Navigation.MouseNavigation.MouseWheelZoom(Point mousePos, Double wheelRotationDelta)
       at Microsoft.Research.DynamicDataDisplay.Navigation.MouseNavigation.OnMouseWheel(Object sender, MouseWheelEventArgs e)
       at System.Windows.Input.MouseWheelEventArgs.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.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, Int32 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, Boolean isSingleParameter)
       at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
  InnerException:

Editor
Apr 12, 2010 at 2:41 AM

Hi Faisal,

Can you please sendd me a repro for you case?

 

Best regards,

Mikhail.

Apr 12, 2010 at 3:33 AM

Mikhail,

Thank you, please check out the screenshot here:

http://cid-a6b36fa5d25ad1e3.skydrive.live.com/self.aspx/.Public/D3/D3^_error.png

To reproduce the problem:

Use the line chart sample that comes with D3 code (LogarithmicAxesSample).

Once plot is displayed, keep zooming out (make smaller) until the grid lines move really close together and then keep zooming out. 

Repeat a few times and eventually you will see the crash.

 

Please let me know if you need anything else.

Thanks,
Faisal 

Sep 27, 2010 at 12:19 PM

Any word on this bug?  You do not have to have a log10 axis for the chart to crash when middle mouse wheel zooming.  In my situation any chart that has series will crash if you zoom in or out too far.