#2830 assigned defect

throwing std::runtime on PC BSP fails.

Reported by: Chris Johns Owned by: Needs Funding
Priority: normal Milestone: Indefinite
Component: unspecified Version: 5
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description (last modified by Chris Johns)

Throwing a std::runtime() exception locks up.

The lock up is in the exception clean up handler where the exception object is destructed. The destructor loops distructing the std::string object. The path ends up in libstdc++-v3/include/ext/atomicity.h line 48 or exchange_and_add.

At a guess it would seem like the C++ atomics on i386 is broken or fragile.

Attachments (1)

cdtest-throw-std_runtime.diff (2.7 KB) - added by Chris Johns on Dec 2, 2016 at 5:10:43 AM.
Patch to the cdtest sample that shows the problem

Download all attachments as: .zip

Change History (5)

Changed on Dec 2, 2016 at 5:10:43 AM by Chris Johns

Patch to the cdtest sample that shows the problem

comment:1 Changed on Dec 2, 2016 at 5:12:22 AM by Chris Johns

Description: modified (diff)

comment:2 Changed on Dec 9, 2016 at 7:02:30 AM by Sebastian Huber

Works at least on SPARC and ARM. On which BSP fails this?

comment:3 in reply to:  2 Changed on Dec 9, 2016 at 11:24:02 AM by Chris Johns

Replying to sebastian.huber:

Works at least on SPARC and ARM. On which BSP fails this?

i386/pc686 tested on qemu with a core2duo cpu.

comment:4 Changed on Feb 15, 2017 at 2:20:42 PM by Sebastian Huber

Milestone: 4.12Indefinite
Owner: set to Needs Funding
Status: newassigned
Note: See TracTickets for help on using tickets.