Bug 1437641
| Summary: | C++ runtime issue: crash in std::promise | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Developer Toolset | Reporter: | Frank Hirtz <fhirtz> | ||||
| Component: | gcc | Assignee: | Jakub Jelinek <jakub> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Michael Petlan <mpetlan> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | DTS 6.0 RHEL 6 | CC: | fweimer, jwakely, kanderso, law, mcermak, mnewsome, mpetlan, mpolacek | ||||
| Target Milestone: | alpha | ||||||
| Target Release: | 6.1 | ||||||
| Hardware: | All | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | devtoolset-7-gcc-7.1.1-7.el7 | Doc Type: | If docs needed, set a value | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2017-10-24 09:47:20 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
Frank Hirtz
2017-03-30 18:33:17 UTC
I don't think the standard is clear here. The Throws paragraph for promise::set_value doesn't say it throws if there's no shared state, and GCC's implementation treats it as undefined behaviour. By comparison, promise::get_future() explicitly says that you get an exception if there's no shared state (and we segfault there too, so that's definitely a bug). I'll seek clarification from the standard committee, and address this in upstream GCC first, before we change anything in DTS. Related tests passed on all arches/distros with devtoolset-7-gcc-7.1.1-7.el{6,7}.
VERIFIED.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2017:3016 |