postmaster segfaults when pg_hba.cof is missing
============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================
Your name : Rudy Lippan
Your email address : rlippan@remotelinux.com
System Configuration
---------------------
Architecture (example: Intel Pentium) : PII-400x4
Operating System (example: Linux 2.0.26 ELF) : Linux 2.4.19-gentoo-r9
PostgreSQL version (example: PostgreSQL-7.3): PostgreSQL-7.3
Compiler used (example: gcc 2.95.2) : 2.95.3
Please enter a FULL description of your problem:
------------------------------------------------
I know this is a broken install, but postmaster should not segfault when
it can't find a file.
postgres@war PGDATA $ ../pgsql7.3/bin/postmaster
LOG: load_hba: Unable to open authentication config file
"/usr/local/PGDATA/pgsql7.3/pg_hba.conf": No such file or directory
Segmentation fault (core dumped)
Please describe a way to repeat the problem. Please try to provide a
concise reproducible example, if at all possible:
----------------------------------------------------------------------
rm pg_hba.conf
If you know how this problem might be fixed, list the solution below:
---------------------------------------------------------------------
On Thu, 2002-12-12 at 13:13, Rudy Lippan wrote:
I know this is a broken install, but postmaster should not segfault when
it can't find a file.postgres@war PGDATA $ ../pgsql7.3/bin/postmaster
LOG: load_hba: Unable to open authentication config file
"/usr/local/PGDATA/pgsql7.3/pg_hba.conf": No such file or directory
Segmentation fault (core dumped)
Good catch. Here's a patch against CVS HEAD that fixes the problem.
The actual segfault was caused by a double pfree(), but ISTM that
failing to find pg_hba.conf should be a fatal error anyway, so I
increased the priority of the elog() from LOG to FATAL and refactored
the code a little bit.
Bruce: unless anyone has an objection, please apply.
Thanks for the report.
Cheers,
Neil
Attachments:
missing-hba-1.patchtext/x-patch; charset=ANSI_X3.4-1968; name=missing-hba-1.patchDownload+7-10
[ Will be backpatched.]
Your patch has been added to the PostgreSQL unapplied patches list at:
http://momjian.postgresql.org/cgi-bin/pgpatches
I will try to apply it within the next 48 hours.
---------------------------------------------------------------------------
Neil Conway wrote:
On Thu, 2002-12-12 at 13:13, Rudy Lippan wrote:
I know this is a broken install, but postmaster should not segfault when
it can't find a file.postgres@war PGDATA $ ../pgsql7.3/bin/postmaster
LOG: load_hba: Unable to open authentication config file
"/usr/local/PGDATA/pgsql7.3/pg_hba.conf": No such file or directory
Segmentation fault (core dumped)Good catch. Here's a patch against CVS HEAD that fixes the problem.
The actual segfault was caused by a double pfree(), but ISTM that
failing to find pg_hba.conf should be a fatal error anyway, so I
increased the priority of the elog() from LOG to FATAL and refactored
the code a little bit.Bruce: unless anyone has an objection, please apply.
Thanks for the report.
Cheers,
Neil
[ Attachment, skipping... ]
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
Patch applied to HEAD and 7.3.X. Thanks.
---------------------------------------------------------------------------
Neil Conway wrote:
On Thu, 2002-12-12 at 13:13, Rudy Lippan wrote:
I know this is a broken install, but postmaster should not segfault when
it can't find a file.postgres@war PGDATA $ ../pgsql7.3/bin/postmaster
LOG: load_hba: Unable to open authentication config file
"/usr/local/PGDATA/pgsql7.3/pg_hba.conf": No such file or directory
Segmentation fault (core dumped)Good catch. Here's a patch against CVS HEAD that fixes the problem.
The actual segfault was caused by a double pfree(), but ISTM that
failing to find pg_hba.conf should be a fatal error anyway, so I
increased the priority of the elog() from LOG to FATAL and refactored
the code a little bit.Bruce: unless anyone has an objection, please apply.
Thanks for the report.
Cheers,
Neil
[ Attachment, skipping... ]
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073