9.2 beta2 - pg_ctl crashes on Win32 when neither PGDATA nor -D specified

Поиск
Список
Период
Сортировка
От Edmund Horner
Тема 9.2 beta2 - pg_ctl crashes on Win32 when neither PGDATA nor -D specified
Дата
Msg-id CAMyN-kAsMj18rV9eshn4JX4Dn-JXbLMzC+eZ6wrnQ76FavaFfA@mail.gmail.com
обсуждение исходный текст
Ответы Re: 9.2 beta2 - pg_ctl crashes on Win32 when neither PGDATA nor -D specified  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
In 9.1, if I run "pg_ctl start" without providing way for it to find
the datadir, it prints the error:

    C:\ehorner\pgsql-old\bin>pg_ctl start
    pg_ctl: no database directory specified and environment variable
PGDATA unset
    Try "pg_ctl --help" for more information.

In 9.2 (beta1 and beta2), it runs for a couple of seconds and then
Windows pops up an error box saying it has "encountered a problem".  I
can get more detail from Windows but I'll wait 'till someone asks
(since I'd be surprised if it was useful).

The same crash occurs for any other subcommand, such as "stop" or
"register", etc., except for "pg_ctl kill" which says it needs missing
arguments; it crashes when they are provided.  (Kill does not require
a datadir and unregister does not either (according to the help, at
least) and they still crash.)

No crashes occur for plain old "pg_ctl --help" or similar.

I think it could be something in
http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=aaa6e1def292cdacb6b27088898793b1b879fedf#patch5

where pg_config is NULL (due to the env var not existing), but
adjust_data_dir is called anyway.  It detects that there "must" be a
configuration directory.  I can't follow exactly where it might be
crashing but I can report that pg_ctl seems to iterate over all the
EXEs in the bin directory (the call to "find_other_exec_or_die"), and
that "postgres -C data_directory" does not appear to be executed.

I note that "postgres -C data_directory" will refuse to run on the
command line because I've got admin privileges in Windows, and that
pg_ctl normally starts postgres.exe using CreateRestrictedProcess.
But it does not do so for the popen call in adjust_data_dir.

Anyway that's enough speculating from me.  ;-)  Let me know if you
need me to test anything else.

Cheers,
Edmund.

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Edmund Horner
Дата:
Сообщение: Re: 9.2 beta1 libxml2 can't be loaded on Windows
Следующее
От: Dave Page
Дата:
Сообщение: Re: 9.2 beta1 libxml2 can't be loaded on Windows