Was passiert, wenn die DBus-Verbindung fehlschlägt?

Was passiert, wenn die DBus-Verbindung fehlschlägt?

Ich versuche, die Grundursache für das Aufhängen des Servers zu finden.

Ich habe festgestellt, dass ein Prozess mit der Prozess-ID 14900 abgestürzt ist. Die Anmeldenachricht lautet wie folgt: Es wird kein Core Dump gespeichert, da er keinem Paket zugeordnet ist (ProcessUnpackaged=no).

May 25 15:31:41 myserver abrt[15298]: Saved core dump of pid 14900 (/NFS_share/work_dir/freac/FREAC.Linux-2.6-x86_64-Release) to /var/spool/abrt/ccpp-2016-05-25-15:31:41-14900 (11644928 bytes)
May 25 15:31:52 myserver abrtd: Sending an email...
May 25 15:31:52 myserver abrtd: Email was sent to: root@localhost
May 25 15:31:52 myserver abrtd: Duplicate: UUID
May 25 15:31:52 myserver abrtd: DUP_OF_DIR: /var/spool/abrt/ccpp-2016-05-17-10:25:46-48111
May 25 15:31:52 myserver abrtd: Problem directory is a duplicate of /var/spool/abrt/ccpp-2016-05-17-10:25:46-48111
May 25 15:31:52 myserver abrtd: Deleting problem directory ccpp-2016-05-25-15:31:06-12824 (dup of ccpp-2016-05-17-10:25:46-48111)
May 25 15:31:52 myserver abrtd: Failed to open connection to "system" message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: Connection refused
May 25 15:31:52 myserver abrtd: Directory 'ccpp-2016-05-25-15:31:41-14900' creation detected
May 25 15:31:52 myserver abrtd: Executable '/NFS_share/work_dir/freac/FREAC.Linux-2.6-x86_64-Release' doesn't belong to any package
May 25 15:31:52 myserver abrtd: 'post-create' on '/var/spool/abrt/ccpp-2016-05-25-15:31:41-14900' exited with 1
May 25 15:31:52 myserver abrtd: Corrupted or bad directory /var/spool/abrt/ccpp-2016-05-25-15:31:41-14900, deleting

Es gibt einen weiteren Prozess 14939, bei dem es sich möglicherweise um einen untergeordneten Prozess von 14900 handelt. Er ist hängengeblieben, was zu einer erhöhten Belastung und schließlich zum Hängenbleiben des Servers geführt hat.

May 25 15:33:44 myserver ntpd[4430]: synchronized to 10.171.8.5, stratum 3
May 25 15:35:10 myserver kernel: INFO: task FREAC.Linux-2.6:14939 blocked for more than 120 seconds.
May 25 15:35:10 myserver kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
May 25 15:35:10 myserver kernel: FREAC.Linux-2 D 00000000ffffffff     0 14939  14658 0x10000084
May 25 15:35:10 myserver kernel: ffff8835d4ebd988 0000000000000046 ffff8835d4ebd908 ffffffffa0844e00
May 25 15:35:10 myserver kernel: ffff8828a4b61440 ffff881fedd4a540 ffff8835d4000001 ffffffff81129607
May 25 15:35:10 myserver kernel: ffff883f4c39baf8 ffff8835d4ebdfd8 000000000000fb88 ffff883f4c39baf8
May 25 15:35:10 myserver kernel: Call Trace:

Es gab ein Problem mit dbus, das wir damals noch nicht behoben hatten, aber könnte es der Grund für den Fehler des untergeordneten Prozesses 14939 sein? Ich weiß nicht genau, was der Zweck von dbus ist.

Ich konnte keine Einzelheiten zum Vorgang erfahren, da der Server aufgrund der erhöhten Auslastung hängen blieb und wir ihn neu starten mussten. Allerdings haben wir das Dbus-Problem nach dem Neustart behoben.

BEARBEITEN1:

Einige neue Erkenntnisse nach einem kurzen Blick auf diesen Link:https://dbus.freedesktop.org/doc/dbus-tutorial.html

dbus wird für die Interprozesskommunikation (IPC) benötigt (bedeutet Kommunikation mit einem anderen Prozess zum Senden von Nachrichten und hat nichts mit übergeordneten oder untergeordneten Aufrufen zu tun).

Es gibt eine Aussage:

Die systemweiten und benutzerspezifischen Daemons sind getrennt. Normaler IPC innerhalb einer Sitzung bezieht den systemweiten Nachrichtenbusprozess nicht mit ein und umgekehrt.

Was bedeutet hier also „umgekehrt“: Erfordert IPC innerhalb der Sitzung keinen Dbus-Prozess (systemweit oder vom Benutzer)?

Wenn das richtig ist, dann erfordert die Kommunikation zwischen 14939 und 14900 überhaupt kein Dbus, da sie sich innerhalb einer Sitzung befinden? Oder vielleicht auch nicht, vielleicht hat Init einen oder beide Prozesse geerbt und daher ist Dbus erforderlich.

Dann beschäftigt mich noch eine andere Frage - eigentlich begann das Dbus-Problem nach einem kürzlichen Neustart dieses Servers und nach ein paar Tagen blieb der Server hängen. Wenn Dbus erforderlich ist, damit alle diese Prozesse erfolgreich ausgeführt werden können, warum blieben dann in den paar Tagen nach dem Neustart keine Prozesse hängen?

Versuchen Sie bitte nur, die eigentliche Frage zu dbus zu beantworten, wenn der Rest der Frage zu allgemein ist.

Danke schön!

BEARBEITEN 2:

Und auch das:Warum brauche ich dbus?klärt einige Dinge bezüglich dbus.

verwandte Informationen