[systemd-devel] systemd (user) and (sd-pam) (user) processes in login shell

Mantas Mikulėnas grawity at gmail.com
Mon Dec 7 15:36:01 PST 2015


(Hmm, wonder if Inbox's "Undo send" works or if I ended up spamming the
list...)

On Dec 8, 2015 00:19, "Niksa Jurinovic" <niksa at jurinovic.com> wrote:
>
> Hello,
>
> I am new to systemd init system as well as to fresh installed Fedora 23
> Server, and I would like to put a question related to 'systemd (user)'
> and '(sd-pam) (user)' processes invoked under each and every one user's
> login shell. The first process is '/usr/lib/systemd/systemd --user' with
> PPID=1 and the second is its child process '(sd-pam)'.
>
> What do these processes exactly do and why does my Oracle 12c
> database instance (started by 'oracle' user) always crash (silently
> shutdown by itself) WITHOUT these processes (or if they are killed)?
> When it happens, the database instance is down, and the oracle alert.log
> shows semaphore memory corruption:

It might be clearer if you described how exactly the daemon is started and
which cgroup it runs under (according to systemd-cgls). Perhaps you're
starting it directly from the shell, and not via systemctl as intended?

The "systemd --user" process is meant for interactive users (as in, not
system accounts) – it acts as the user's personal service manager. I don't
think lack of that process is the cause here, maybe an effect instead –
killing it is part of logind's cleanup when a user logs out.

(There is one --user instance for every user, shared across multiple login
sessions, so it is run under a separate "PAM session" of its own; sd-pam is
just a helper process for that.)

What uid does "oracle" have – is it within the system account range
(usually 1–999) or user account (1000–)? I wonder if it's the latter, which
would mean systemd-logind would clean up various things like IPC on
logout... (see logind.conf)

In fact I'm pretty sure that's the case according to the "Identifier
removed" error.

User accounts should be created with "useradd -r" if they're meant for
daemons, to make them have a system UID and let systemd distinguish from
personal accounts.

> ORA-27300: OS system dependent operation:semctl failed with status: 22
> ORA-27301: OS failure message: Invalid argument
> ORA-27302: failure occurred at: sskgpwrm1
> ORA-27157: OS post/wait facility removed
> ORA-27300: OS system dependent operation:semop failed with status: 43
> ORA-27301: OS failure message: Identifier removed
> ORA-27302: failure occurred at: sskgpwwait1
> ksmsdes: Error destroying SGA
> Instance termination got error 27120 from SGA destruction.
>
> If these processes are active for 'oracle' user, Oracle instance never
> crashes.

Pretty sure these processes being active is a result, not cause.

-- 
Mantas Mikulėnas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20151208/11c8eb62/attachment.html>


More information about the systemd-devel mailing list