ChartsOrg / ChartsOrg/Charts

Crash: AxisRendererBase.computeAxisValues(min:max:) + 119

Open
#4,501 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Swift
Stars
28k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

Firebase reported crash:

Crashed: com.apple.main-thread
0 Charts 0x100f67080 AxisRendererBase.computeAxisValues(min:max:) + 119 (AxisRendererBase.swift:119)
1 Charts 0x100f762c8 BarLineChartViewBase.notifyDataSetChanged() + 345 (BarLineChartViewBase.swift:345)
2 Charts 0x100fb0420 specialized ChartViewBase.data.setter + 232 (ChartViewBase.swift:232)
3 Charts 0x100faa168 ChartViewBase.data.setter + 4318142824 (:4318142824)

This is a swiftUI project. We cannot reproduce the issue. Waiting on some user feedback.

Our last reported line of code in the stack was: let xAxis = chartView.xAxis ----> chartView is a LineChartView
However when running in the debugger it looks like it's the line before that is calling into the Charts library.
chartView.data = lineChartData ----> lineChartData is a LineChartData

We are just trying to understand under what circumstances could cause the line of code to crash at the reported crash point.

Thanks.

**Charts version/Branch/Commit Number:**
3.6.0/master
**Xcode version:**
12.2

**Swift version:**
5.3.1

**Platform(s) running Charts:**
iPad OS 14.2

**macOS version running Xcode:**
10.15.7

Contributor guide

Open the contributing guide

Research direction

Start at AxisRendererBase.swift:119 and trace the call chain through BarLineChartViewBase.swift:345 and ChartViewBase.swift:232. Reproduce the SwiftUI data assignment with LineChartData while checking the axis values and lifecycle state. Done means identifying a reproducible cause or documenting the required user feedback and conditions.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
data-visualization, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.