> >> I will add some trace writes when I get a chance. I was
> rather hoping
> >> something would jump out at you, but obviously it hasn't, so I'll
> >> have to dig into it the slow way. *sigh*
> >
> >
> >
> > Just eyeballing the code it looks to me like the problem is
> this line:
> >
> > strcat(cmdline, *" --restrictedexec"*);
> >
> >
> > which is appending an option type argument after the
> non-option argument.
> >
> >
> > That would exactly account for the failure when we call
> "initdb foo"
> > but not "initdb -D foo".
> >
> > The solution would be put --restrictedexec earlier on the
> new command
> > line. I'll work on that.
>
>
> The probem is apparently the one I identified above, and is
> fixed by the attached patch, which I will apply soon unless
> there are objections.
>
> As for why we saw this on loris but not snake, I suspect they
> might have different getopt libraries installed.
Isn't that just fixing the symptom and not the actual bug? In this case,
if we cause the bug, we should do this as well, but doesn't it crash the
same way if you *manually* put arguments in the "wrong order" on the
commandline? Like "inidb foo --no-locale" or somehting like that?
(I still can't reproduce it on my machines, so I guess I have a better
getopt as well.)
//Magnus