On Sun, Jul 03, 2022 at 12:37:04AM +0200, Csaba Raduly wrote: > On Sat, 2 Jul 2022 at 23:34, Adam Dinwoodie wrote: > > > > That's definitely closer to the behaviour I'd expect! I don't think it > > should be dumping a core, though, at least based on the behaviour I see > > on Debian. > > It should be dumping core, because std:terminate() calls abort(), as > Joost has explained earlier. Fair enough. As I say, the same script doesn't result in the executable dropping a core on my Debian system, but I don't know enough about the expected behaviour here to know whether that's also reasonable. > > I'd like to have a look at what's different about your environment; > > could you share the output from `cygcheck -srv >cygcheck.out` on your > > system? > > Attached. Hmm. I've done my best to emulate your setup, in terms of installed Cygwin packages and versions, per the new attached cygcheck.out, but I still see the same behaviour I was seeing previously: the executable exits with a zero return code. I'm running this in a minimal sandbox system, so I'm reasonably confident that there's nothing unusual with my setup (other than that it's a sandbox VM in the first place), but I wouldn't know where to start with working out why the script shows the expected behaviour for you and not for me. I did try modifying the test script to run the executable using strace, but that changes the behaviour: the executable terminates with an exit status of 0x20474343, which gets mapped down to a return code of 67. I have even less of an idea why using strace changes the behaviour, but I've attached a log from that run in case anyone else is able to shed light on it...