Opened 5 years ago

Closed 4 years ago

#1918 closed defect (done)

Overflow in RunCollectionBoxPlot view

Reported by: abeham Owned by: gkronber
Priority: medium Milestone: HeuristicLab 3.3.8
Component: Optimization.Views Version: 3.3.8
Keywords: Cc:

Description

There is an unhandled exception in the box plot view. See the stacktrace below.

System.OverflowException: Value was either too large or too small for a Decimal.
   at System.Decimal..ctor(Double value)
   at System.Windows.Forms.DataVisualization.Charting.Axis.RoundedValues(Double inter, Boolean shouldStartFromZero, Boolean autoMax, Boolean autoMin, Double& min, Double& max)
   at System.Windows.Forms.DataVisualization.Charting.Axis.EstimateNumberAxis(Double& minimumValue, Double& maximumValue, Boolean shouldStartFromZero, Int32 preferredNumberOfIntervals, Boolean autoMaximum, Boolean autoMinimum)
   at System.Windows.Forms.DataVisualization.Charting.Axis.EstimateAxis(Double& minimumValue, Double& maximumValue, Boolean autoMaximum, Boolean autoMinimum)
   at System.Windows.Forms.DataVisualization.Charting.Axis.EstimateAxis()
   at System.Windows.Forms.DataVisualization.Charting.ChartArea.SetDefaultAxesValues()
   at System.Windows.Forms.DataVisualization.Charting.ChartArea.SetData(Boolean initializeAxes, Boolean checkIndexedAligned)
   at System.Windows.Forms.DataVisualization.Charting.ChartPicture.Paint(Graphics graph, Boolean paintTopLevelElementOnly)
   at System.Windows.Forms.DataVisualization.Charting.ChartPicture.PaintOffScreen()
   at System.Windows.Forms.DataVisualization.Charting.Selection.HitTest(Int32 x, Int32 y, Boolean ignoreTransparent, ChartElementType[] requestedElementTypes)
   at System.Windows.Forms.DataVisualization.Charting.Selection.HitTest(Int32 x, Int32 y)
   at HeuristicLab.Optimization.Views.RunCollectionBoxPlotView.chart_MouseMove(Object sender, MouseEventArgs e) in D:\HL3\trunk\sources\HeuristicLab.Optimization.Views\3.3\RunCollectionViews\RunCollectionBoxPlotView.cs:line 417
   at System.Windows.Forms.DataVisualization.Charting.Chart.OnChartMouseMove(MouseEventArgs e)
   at HeuristicLab.Visualization.ChartControlsExtensions.EnhancedChart.OnMouseMove(MouseEventArgs e) in d:\HL3\trunk\sources\HeuristicLab.Visualization.ChartControlsExtensions\3.3\EnhancedChart.cs:line 138
   at System.Windows.Forms.Control.WmMouseMove(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Change History (8)

comment:1 Changed 4 years ago by abeham

  • Owner changed from swagner to gkronber
  • Status changed from new to assigned

comment:2 Changed 4 years ago by abeham

I had a similar error in the bubble chart today, maybe it's related to the error in the box plot.

Reproduce:

  1. Create new Random Forest Classification
  2. Load small dataset (e.g. wine)
  3. Use the experiment creation dialog to create a small experiment (tick M, R, and NumberOfTrees) - it should run long enough to test the effect
  4. Execute the experiment and while it is calculating open a bubble chart.
  5. In the bubble chart select y and x axis (I used accuracy for y and R for x).
  6. Then click and drag the x-jitter slider
  7. When the experiment is still calculating an exception dialog should appear

comment:3 Changed 4 years ago by gkronber

Very strange code in BubbleChartView:

      } else {
        axis.Minimum = axis.Minimum;
        axis.Maximum = axis.Maximum;
        axis.MajorGrid.Interval = axis.MajorGrid.Interval;
        axis.MajorTickMark.Interval = axis.MajorTickMark.Interval;
        axis.LabelStyle.Interval = axis.LabelStyle.Interval;
      }

comment:4 Changed 4 years ago by gkronber

r8832: suggested fix for strange method SetAutomaticUpdateOfAxis(). Exception is gone but don't know if originally intended functionality is still intact.

comment:5 Changed 4 years ago by gkronber

  • Owner changed from gkronber to mkommend
  • Status changed from assigned to reviewing

comment:6 Changed 4 years ago by mkommend

  • Owner changed from mkommend to gkronber

r8835: Refactored jittering in BubbleChartView to calculate axis range before the data points are modified and removed 'strange' method.

comment:7 Changed 4 years ago by gkronber

  • Status changed from reviewing to readytorelease

Reviewed r8835.

comment:8 Changed 4 years ago by swagner

  • Resolution set to done
  • Status changed from readytorelease to closed
  • Version changed from 3.3.7 to 3.3.8
Note: See TracTickets for help on using tickets.