On Fri, Jun 24, 2016 at 11:21 AM, Craig Ringer <craig@2ndquadrant.com> wrote: > * Launch a VS x86 command prompt > * devenv /debugexe bin\initdb.exe -D test > * Set a breakpoint in initdb.c:3557 and initdb.c:3307 > * Run > * When it traps at get_restricted_token(), manually move the execution > pointer over the setup of the restricted execution token by dragging & > dropping the yellow instruction pointer arrow. Yes, really. Or, y'know, > comment it out and rebuild, but I was working with a supplied binary. > * Continue until next breakpoint > * Launch process explorer and find the pid of the postgres child process > * Debug->attach to process, attach to the child postgres. This doesn't > detach the parent, VS does multiprocess debugging. > * Continue execution > * vs will trap on the child when it crashes
Do you think a crash dump could have been created by creating crashdumps/ in PGDATA as part of initdb before this query is run?
I see what you did there ;)
Yes, quite possibly, actually. I should've just got Haroon to build me a new initdb without the priv setting and with creation of crashdumps/ .
It might be worth testing that out and adding an initdb startup flag to create the directory, since initdb is such a PITA to debug.