https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120440
--- Comment #10 from Sam James <sjames at gcc dot gnu.org> --- Everything seems fine(?) before we call `Free (Copy)`: ``` Breakpoint 1, ada.exceptions.exception_propagation.gnat_gcc_exception_cleanup (reason=urc_foreign_exception_caught, excep=0x56314ade85a0) at ../rts/a-exexpr.adb:354 354 Free (Copy); (rr) p *Copy $7 = ( header => ( class => 5138137877735301376, cleanup => (system.address) 0x56312853b80e, private1 => 0, private2 => 140732627361808, private3 => 0, private4 => 0, private5 => 0, private6 => 0 ), occurrence => ( id => 0x5631285f9300 <constraint_error>, machine_occurrence => (system.address) 0x56314ade85a0, msg_length => 26, msg => "bad input for 'Value: ""ls""", '["00"]' <repeats 174 times>, exception_raised => false, pid => 0, num_tracebacks => 0, tracebacks => (0 <repeats 50 times>) ) ) ``` I just don't yet see where 0xd21 materialises from: ``` Breakpoint 1, ada.exceptions.exception_propagation.gnat_gcc_exception_cleanup (reason=urc_foreign_exception_caught, excep=0x56314ade85a0) at ../rts/a-exexpr.adb:354 354 Free (Copy); (rr) p Copy $10 = (access system.exceptions.machine.gnat_gcc_exception) 0x56314ade85a0 (rr) s 340 procedure GNAT_GCC_Exception_Cleanup (rr) s 354 Free (Copy); (rr) s Breakpoint 5, <__gnat_free> (ptr=0x2d1) at s-memory.adb:117 ```