From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin-patches@cygwin.com
Subject: Re: [PATCH 1/5] Cygwin: Make 'ulimit -c' control writing a coredump
Date: Tue, 23 Jan 2024 15:29:20 +0100 [thread overview]
Message-ID: <Za_NQNPhRNU7fRv0@calimero.vinschen.de> (raw)
In-Reply-To: <238901bf-db88-4d99-bb82-2b98ff6ebdf6@dronecode.org.uk>
On Jan 23 14:20, Jon Turney wrote:
> On 12/01/2024 14:09, Jon Turney wrote:
> > Pre-format a command to be executed on a fatal error to run 'dumper'
> > (using an absolute path).
> >
> > Factor out executing a pre-formatted command, so we can use that for
> > invoking the JIT debugger in try_to_debug() (if error_start is present
> > in the CYGWIN env var) and to invoke dumper when a fatal error occurs.
> >
>
> So, there is a small problem with this change: because dumper itself
> terminates the dumped process, it doesn't go on to exit with the signal+128
> exit status.
>
> (In fact, it seems to exit with status 0 when terminated by an attached
> debugger terminating, which isn't great)
>
> That's relatively easy to fix: just use the '-n' option to dumper so it
> detaches before exiting, to prevent that terminating the dumped process, but
> then we run into the difficulties of reliably detecting that dumper has
> attached and done it's work, so it's safe for us to exit.
>
> Attached patch does that, and documents the expectations on the error_start
> command a bit more clearly.
Please push.
> Even then this is clearly not totally bullet-proof. Maybe the right thing to
> do is add a suitable timeout here, so even if we fail to notice the
> DebugActiveProcess() (or there's a custom JIT debugger which just writes the
> fact a process crashed to a logfile or something), we'll exit eventually?
Timeouts are just that tiny little bit more bullet-proof, they still
aren't totally bullet-proof.
What timeout were you thinking of? milliseconds?
Corinna
next prev parent reply other threads:[~2024-01-23 14:29 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-12 14:09 [PATCH 0/5] Coredump under 'ulimit -c' control (v2) Jon Turney
2024-01-12 14:09 ` [PATCH 1/5] Cygwin: Make 'ulimit -c' control writing a coredump Jon Turney
2024-01-13 14:20 ` Jon Turney
2024-01-15 9:46 ` Corinna Vinschen
2024-01-15 13:27 ` Jon Turney
2024-01-15 14:28 ` Corinna Vinschen
2024-01-16 13:52 ` Jon Turney
2024-01-16 13:54 ` Corinna Vinschen
2024-01-23 14:20 ` Jon Turney
2024-01-23 14:29 ` Corinna Vinschen [this message]
2024-01-24 13:28 ` Jon Turney
2024-01-24 14:39 ` Corinna Vinschen
2024-01-25 14:50 ` Jon Turney
2024-01-25 18:21 ` Corinna Vinschen
2024-01-25 20:03 ` Jon Turney
2024-01-26 11:12 ` Corinna Vinschen
2024-01-26 11:52 ` Corinna Vinschen
2024-01-27 15:12 ` Jon Turney
2024-01-29 11:16 ` Corinna Vinschen
2024-01-12 14:09 ` [PATCH 2/5] Cygwin: Disable writing core dumps by default Jon Turney
2024-01-12 14:09 ` [PATCH 3/5] Cygwin: Define and use __WCOREFLAG Jon Turney
2024-01-12 14:09 ` [PATCH 4/5] Cygwin: Treat api_fatal() similarly to a core-dumping signal Jon Turney
2024-01-12 14:09 ` [PATCH 5/5] Cygwin: Update documentation for cygwin_stackdump Jon Turney
2024-01-12 18:44 ` Corinna Vinschen
2024-01-13 13:40 ` Jon Turney
2024-01-12 18:41 ` [PATCH 0/5] Coredump under 'ulimit -c' control (v2) Corinna Vinschen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Za_NQNPhRNU7fRv0@calimero.vinschen.de \
--to=corinna-cygwin@cygwin.com \
--cc=cygwin-patches@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).