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:


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.


  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.