Weston Pace created ARROW-18018:
-----------------------------------
Summary: [C++] Potential segmentation fault in unit tests due to
usage of AllComplete instead of AllFinished
Key: ARROW-18018
URL: https://issues.apache.org/jira/browse/ARROW-18018
Project: Apache Arrow
Issue Type: Bug
Components: C++
Reporter: Weston Pace
Assignee: Weston Pace
Fix For: 10.0.0
Many unit tests rely on StartAndCollect which was running AllComplete on two
futures. The first was the plan finished future and the second was the sink
generator collector future. However, AllComplete exits early if one of these
futures fails. There were some cases where an error was delivered to the sink
generator (and thus triggers that future) before the plan finished future was
marked complete. This was generally quite rare but could lead to the plan
getting deleted before all tasks had completely finished and it could sometimes
lead to a segmentation fault.
The solution is to simply use AllFinished here as AllFinished waits for all
futures to finish regardless of status.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)