ryan@runscope.com writes:
> We are running PostgreSQL 9.4.5 on CentOS 7, uising the RPM from
> postgresql.org. We perform automatic OS updates, so our server was just
> upgraded from CentOS 7.1 to CentOS 7.2. Since the upgrade we've been seeing
> PostgreSQL crash after a cronjob is run as the "postgres" user.
> Here's the syslog output from /var/log/messages when the cronjob runs:
> ...
> Dec 14 18:24:01 prod118 postgres[52611]: [2584-1] PANIC:
> semop(id=57311261) failed: Invalid argument
That seems to mean that something has decided to remove Postgres' SysV
semaphores --- the only plausible reason for EINVAL from semop() is that
the semaphore set no longer exists. Now, Postgres itself certainly did
not do that.
I would bet that what you are looking at is a kernel or systemd bug
associated with this "slice" feature. Perhaps it's miscategorizing
Postgres' existing semaphores as belonging to the new slice and then
destroying them when it destroys the slice.
regards, tom lane