Skip to content

[syncfusion_flutter_charts] Axis with very small range causes crash #2138

Closed as not planned
@DrNiels

Description

@DrNiels

Bug description

When trying to create an axis with a very small range, e.g., from 77499.99999999999 to 77500.00000000001, the chart is not loaded. After some wait duration, an error is thrown. In my case, the duration is approximately 30 seconds and the stack trace also looks like some kind of timeout to me.

I use syncfusion_flutter_charts in version 27.1.50

Steps to reproduce

Load the example and wait a bit.

Code sample

Code sample
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/charts.dart';

void main() async {
  runApp(
    MaterialApp(
      home: Chart(),
    ),
  );
}

class Chart extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => ChartState();
}

class ChartState extends State<Chart> {
  @override
  Widget build(BuildContext context) {
    return SfCartesianChart(
      primaryYAxis: NumericAxis(
        minimum: 77499.99999999999,
        maximum: 77500.00000000001,
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration

Nothing to see, it remains a blank screen

Stack Traces

Stack Traces
Aborted()
══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
The following NativeError object was thrown during performLayout():
  RuntimeError: Aborted(). Build with -sASSERTIONS for more info.

The relevant error-causing widget was:
  NumericAxis NumericAxis:org-dartlang-app:/chart_reproduce.dart:21:21

When the exception was thrown, this was the stack:
canvaskit/chromium/canvaskit.js 93:151                                       Ea
canvaskit/chromium/canvaskit.js 169:377                                      k
canvaskit/chromium/canvaskit.js 116:52                                       _MakeFromFontCollection
canvaskit/chromium/canvaskit.js 75:396                                       MakeFromFontCollection
lib/_engine/engine/canvaskit/text.dart 1045:29                               new
lib/_engine/engine/canvaskit/renderer.dart 392:7                             createParagraphBuilder
lib/ui/text.dart 739:21                                                      new
packages/flutter/src/painting/text_painter.dart 1142:44                      [_createParagraph]
packages/flutter/src/painting/text_painter.dart 1198:64                      layout
packages/syncfusion_flutter_core/src/utils/helper.dart 154:14                measureText
packages/syncfusion_flutter_charts/src/charts/axis/numeric_axis.dart 617:11  generateVisibleLabels
packages/syncfusion_flutter_charts/src/charts/axis/axis.dart 1952:7          performLayout
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/syncfusion_flutter_charts/src/charts/base.dart 2154:13              measureVerticalAxes
packages/syncfusion_flutter_charts/src/charts/base.dart 2170:5               performLayout
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/syncfusion_flutter_charts/src/charts/base.dart 944:23               performLayout
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/syncfusion_flutter_charts/src/charts/common/core_legend.dart 990:5  performLayout
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/shifted_box.dart 234:5                        performLayout
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/shifted_box.dart 234:5                        performLayout
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/proxy_box.dart 3728:13                        performLayout
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/widgets/overlay.dart 1002:12                            layoutChild
packages/flutter/src/widgets/overlay.dart 1311:9                             performLayout
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/custom_paint.dart 569:11                      performLayout
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/proxy_box.dart 111:21                         <fn>
packages/flutter/src/rendering/object.dart 2608:7                            layout
packages/flutter/src/rendering/view.dart 281:7                               performLayout
packages/flutter/src/rendering/object.dart 2446:7                            [_layoutWithoutResize]
packages/flutter/src/rendering/object.dart 1052:17                           flushLayout
packages/flutter/src/rendering/object.dart 1065:14                           flushLayout
packages/flutter/src/rendering/binding.dart 602:5                            drawFrame
packages/flutter/src/widgets/binding.dart 1164:13                            drawFrame
packages/flutter/src/rendering/binding.dart 468:5                            [_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart 1397:7                           [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1318:9                           handleDrawFrame
packages/flutter/src/scheduler/binding.dart 1040:9                           <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:11      internalCallback

The following RenderObject was being processed when the exception was fired: RenderNumericAxis#9b381 relayoutBoundary=up3 NEEDS-LAYOUT NEEDS-PAINT:
  creator: NumericAxisCartesianAxesCartesianChartAreaKeyedSubtree-[GlobalKey#3ec34] ←
    _LegendLayoutHandlerLegendLayout-[GlobalKey#4192a] ← PaddingPaddingDecoratedBoxContainerRepaintBoundarySfCartesianChart ← ⋯
  parentData: offset=Offset(0.0, 0.0) (can use size)
  constraints: BoxConstraints(0.0<=w<=1900.0, 0.0<=h<=933.0)
  size: MISSING
This RenderObject has no descendants.
════════════════════════════════════════════════════════════════════════════════════════════════════
Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12
Another exception was thrown: Assertion failed: file:///C:/Users/Niels/AppData/Local/Pub/Cache/hosted/pub.dev/syncfusion_flutter_charts-27.1.50/lib/src/charts/base.dart:947:12
Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/box.dart:2164:12
Aborted()
Another exception was thrown: RuntimeError: Aborted(). Build with -sASSERTIONS for more info.
Another exception was thrown: Assertion failed: file:///C:/Users/Niels/Documents/flutter/packages/flutter/lib/src/rendering/object.dart:304:16
Application finished.

Exited (-1).

On which target platforms have you observed this bug?

Web

Flutter Doctor output

Doctor output
[√] Flutter (Channel stable, 3.24.3, on Microsoft Windows [Version 10.0.19045.5011], locale de-DE)
    • Flutter version 3.24.3 on channel stable at C:\Users\Niels\Documents\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2663184aa7 (5 weeks ago), 2024-09-11 16:27:48 -0500
    • Engine revision 36335019a8
    • Dart version 3.5.3
    • DevTools version 2.37.3

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0-rc4)
    • Android SDK at C:\Users\Niels\AppData\Local\Android\Sdk
    • Platform android-34, build-tools 34.0.0-rc4
    • Java binary at: C:\Program Files\Android\Android Studio1\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.11+0--11852314) 
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Users\Niels\AppData\Local\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.8.6)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.8.34525.116
    • Windows 10 SDK version 10.0.19041.0

[!] Android Studio (version 2021.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    X Unable to determine bundled Java version.
    • Try updating or re-installing Android Studio.

[√] Android Studio (version 2024.1)
    • Android Studio at C:\Program Files\Android\Android Studio1
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.11+0--11852314)

[√] VS Code, 64-bit edition (version 1.93.1)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.98.0

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19045.5011]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 129.0.6668.101
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 128.0.2739.42

[√] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Metadata

Metadata

Assignees

No one assigned

    Labels

    chartsCharts componentfeatureNew featureuncertainUncertain feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions