apache / apache/arrow

[C++] Vendor backward for better stack traces

Open
#32,588 1 comment 0 reactions 0 assignees View on GitHub
Component: C++ Type: bug
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 18h
Merged PRs (30d)
91

Description

is a neat single-header library which allows capture of very expressive stack traces. It is compatible with c++11 and is cross platform, I think it would greatly improve error reporting in arrow.

![https://raw.githubusercontent.com/bombela/backward-cpp/master/doc/pretty.png](https://raw.githubusercontent.com/bombela/backward-cpp/master/doc/pretty.png)

In particular, the stack traces provided by a failed DCHECK are much less expressive than they could be and don't include file/line information, while the traces added to statuses by `ARROW_EXTRA_ERROR_CONTEXT` don't include the frame in which the status was constructed- which is frequently the frame which we most need information from. Backward addresses these shortcomings and then some.

**Reporter**: [Ben Kietzman](https://issues.apache.org/jira/browse/ARROW-17311) / @bkietz

**Note**: *This issue was originally created as [ARROW-17311](https://issues.apache.org/jira/browse/ARROW-17311). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*

Contributor guide

Open the contributing guide

Research direction

Read the backward-cpp proposal and inspect Arrow's existing stack traces for failed DCHECKs and the traces added by ARROW_EXTRA_ERROR_CONTEXT. Determine how backward could be integrated across supported platforms; done means those traces include the file, line, and relevant status-construction frame described in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
developer-experience
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.