Обсуждение: Postmaster crash

Поиск
Список
Период
Сортировка

Postmaster crash

От
"Michael Beckstette"
Дата:
Hi,

after several month of very stable operations now my postmaster crashes from
time to time with the following errormessage:

FATAL 2:  MoveOfflineLogs: cannot read xlog dir: Invalid argument
Server process (pid 25417) exited with status 512 at Thu Jan 17 01:02:02 2002
Terminating any active server processes...

There is enough disk space left, i have checked this.

My system configuration:
    PostgreSQL 7.1.2 on sparc-sun-solaris2.5.1, compiled by GCC 2.95
    running on a Sun Enterprise Server 400


Thanx in advance

Michael Beckstette

Re: Postmaster crash

От
Tom Lane
Дата:
"Michael Beckstette" <mbeckste@TechFak.Uni-Bielefeld.DE> writes:
> after several month of very stable operations now my postmaster crashes from
> time to time with the following errormessage:

> FATAL 2:  MoveOfflineLogs: cannot read xlog dir: Invalid argument

Hm, does that show up every five minutes, or just once in awhile?
That code will be invoked every five minutes (or however often you've
set checkpoints to be done).

This is coming from

    xldir = opendir(XLogDir);
    if (xldir == NULL)
        elog(STOP, "MoveOfflineLogs: cannot open xlog dir: %m");

in src/backend/access/transam/xlog.c.  XLogDir is a static variable that
shouldn't ever change after postmaster bootup; I wonder if it's getting
corrupted somehow?  You might try altering the elog call to include the
value of XLogDir so we can check:

        elog(STOP, "MoveOfflineLogs: cannot open xlog dir (%s): %m",
             XLogDir);

(7.2 already is coded that way, btw.)

Another question: what the heck does EINVAL mean for opendir, anyway?
The HPUX and Linux man pages for opendir don't list it as a possible
error code at all.

            regards, tom lane