Re: [bug fix] Produce a crash dump before main() on Windows - Mailing list pgsql-hackers

From Craig Ringer
Subject Re: [bug fix] Produce a crash dump before main() on Windows
Date
Msg-id CAMsr+YHv0KfWhA+Z=UVydpvLQ-QyLaidBqpHxQ=YqTPiDGG6dg@mail.gmail.com
Whole thread Raw
In response to RE: [bug fix] Produce a crash dump before main() on Windows  ("Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>)
Responses Re: [bug fix] Produce a crash dump before main() on Windows  (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>)
List pgsql-hackers
On 26 February 2018 at 12:06, Tsunakawa, Takayuki <tsunakawa.takay@jp.fujitsu.com> wrote:
From: Craig Ringer [mailto:craig@2ndquadrant.com]
> The patch proposed here means that early crashes will invoke WER. If we're
> going to allow WER we should probably just do so unconditionally.
>
> I'd be in favour of leaving WER on when we find out we're in a noninteractive
> service too, but that'd be a separate patch for pg11+ only.

As for PG11+, I agree that we want to always leave WER on.  That is, call SetErrorMode(SEM_FAILCRITICALERRORS) but not specify SEM_NOGPFAULTERRORBOX.  The problem with the current specification of PostgreSQL is that the user can only get crash dumps in a fixed folder $PGDATA\crashdumps.  That location is bad because the crash dumps will be backed up together with the database cluster without the user noticing it.  What's worse, the crash dumps are large.  With WER, the user can control the location and size of crash dumps.

Yeah, that's quite old and dates back to when Windows didn't offer much if any control over WER in services.
 
--
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: "Write amplification" is made worse by "getting tired" whileinserting into nbtree secondary indexes (Was: Why B-Tree suffix truncation matters)
Next
From: Kyotaro HORIGUCHI
Date:
Subject: Re: ENOSPC FailedAssertion("!(RefCountErrors == 0)"