RE: [bug fix] Produce a crash dump before main() on Windows

From: "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>
To: 'Tom Lane' <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Alvaro Herrera from 2ndQuadrant <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: 'Amit Kapila' <amit(dot)kapila16(at)gmail(dot)com>, Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, "Robert Haas" <robertmhaas(at)gmail(dot)com>, Craig Ringer <craig(at)2ndquadrant(dot)com>, "Magnus Hagander" <magnus(at)hagander(dot)net>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: RE: [bug fix] Produce a crash dump before main() on Windows
Date: 2019-09-10 06:44:48
Message-ID: 0A3221C70F24FB45833433255569204D1FD31284@G01JPEXMBYT05
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

From: Tom Lane [mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us]
> Alvaro Herrera from 2ndQuadrant <alvherre(at)alvh(dot)no-ip(dot)org> writes:
> > Well, IMV this is a backpatchable, localized bug fix.
> I dunno. This thread is approaching two years old, and a quick
> review shows few signs that we actually have any consensus on
> making behavioral changes here. If there is any consensus,
> it's that the SetErrorMode calls should depend on checking
> pgwin32_is_service(); but we haven't even seen a patch that
> does that, let alone tested it. I think we're way too close
> to beta4 wrap to be considering pushing such a patch the moment
> it appears.

We don't have to call pgwin32_is_service() to determine whether we call SetErrorMode() in postmaster.c because:

* The dialog box doesn't appear under Windows service, whether PostgreSQL itself starts as a service or another (server) application runs as a service and does "pg_ctl start."

* It's OK for the dialog box to appear when the user runs "pg_ctl start" on the command prompt. That usage is interactive, and should not be for production use (postgres processes vanish when the user mistakenly presses Ctrl+C, or closes the command prompt). Even now, the dialog box pops up if postmaster crashes before main().

> BTW, I also violently dislike taking Windows-specific stuff out of
> startup_hacks where it belongs and putting it into main() where
> it doesn't. I think the entire Windows bit in front of get_progname
> should migrate into startup_hacks. Surely the odds of failure
> inside get_progname are not worth worrying about --- they seem
> significantly less than the odds of failure inside
> pgwin32_is_service(), for instance.

Agreed. Fixed. I changed the CF status to "need review."

Takayuki Tsunakawa

Attachment Content-Type Size
crash_dump_before_main_v3.patch application/octet-stream 2.4 KB

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Richard Guo 2019-09-10 07:26:47 Pulling up direct-correlated ANY_SUBLINK
Previous Message Michael Paquier 2019-09-10 06:38:21 Re: [patch]socket_timeout in interfaces/libpq