Wie kann ich einen Patch einreichen, um den gesamten Schaden zu beheben, den LP: #600941 verursacht?

Wie kann ich einen Patch einreichen, um den gesamten Schaden zu beheben, den LP: #600941 verursacht?

Wie kann ich am besten einen Patch einreichen, um alle Schäden zu beheben, dieLP: #600941Ursachen?

Ich frage, weil LP: #600941 in jede Version von Ubuntu eingebaut wurde, die derzeit noch unterstützt wird. Soll ich eine bestimmte Version auswählen und ubuntu-bugdarauf laufen? Soll diese Version LTS oder Oneiric oder Precise sein (wie kann ich Precise bekommen, wenn ich es brauche?)

Die Geschichte ist, dass nach der Veröffentlichung auf allen unseren Systemen Probleme beim Neustart von Nagios nrpe auftraten.

Befehle wie/etc/init.d/nagios-nrpe-server restart

würde dazu führen, dass Nrpe gestoppt, aber nicht neu gestartet wird.

Ich habe dies anhand der Art und Weise herausgefunden, wie das /etc/init.d/nagios-nrpe-serverSkript aufruft start-stop-daemon.

Das Problem besteht darin, dass die „Stop“-Strophe im /etc/init.d/nagios-nrpe-serverSkript zuerst den Start-Stop-Daemon aufruft, der SIGTERM an nrpe sendet und dann nur eine Sekunde wartet.

Wenn Nrpe bis dahin nicht beendet wurde, ist die PID-Datei noch vorhanden und /etc/init.d/nagios-nrpe-serverwird vom Skript entfernt.

Noch schlimmer ist, dass /etc/init.d/nagios-nrpe-server restartbei Verwendung nicht nur die PID-Datei entfernt wird, sondern auch der Versuch, Nrpe neu zu starten, fehlschlägt, sofern der Nrpe-Daemon weiterhin mit dem Herunterfahren zögert.

Der Startversuch schlägt unter diesen Umständen fehl, da nrpe noch immer an einen Socket gebunden ist und der zweite Bindungsversuch dazu führt, dass der nrpe-Start abgebrochen wird.

Sie hätten sich fragen sollen, warum es einen Kommentar gab, dass „die PID-Datei manchmal nicht entfernt wird“.

Sie hätten auf Systemen getestet werden sollen, die eine hohe Auslastung aufweisen und daher langsame Nrpe-Reaktionszeiten haben.

Die Lösung besteht darin, --retry 10oder ähnliches zum Aufruf von hinzuzufügenstart-stop-daemon ... --stop ...

Danke

Antwort1

Erstmal danke für all die Fehlerarbeit, die du bisher geleistet hast. Es ist toll, dass du bei der Behebung dieses Fehlers mithelfen möchtest!

Am besten melden Sie einen neuen Fehler bei precise und machen deutlich, dass es sich um eine Regression handelt, die durch LP:#600941 verursacht wurde. Geben Sie ihm das Tag „Regression-Updates“. Es wäre auch gut, es in den Kommentaren zu LP:#600941 zu erwähnen, damit Benutzer es sehen, wenn sie selbst untersuchen, ob sie auf die Regression gestoßen sind. Das Tag „Regression-Updates“ stellt sicher, dass Ihr Fehler schnell bewertet und beantwortet wird. Also, ja, beginnen Sie zunächst damit:

ubuntu-bug nagios-nrpe-server

Da es alle Versionen betrifft, spielt es keine Rolle, wo Sie dies tun (besser, Sie tun es auf einer Plattform, die Sie in Ruhe lassen können, damit Sie Korrekturen überprüfen können).

Momentan sind genaue ISOs wahrscheinlich nicht installierbar, aber Sie können sie hier ausprobieren:

http://cdimage.ubuntu.com/daily/current/

Sie können auch eine Oneiric-Maschine auf Precise übertragen, indem Sie die Quellen in /etc/apt/sources.list* bearbeiten und Oneiric in Precise ändern apt-get update && apt-get dist-upgrade. Führen Sie dann Folgendes aus. Es finden jedoch Übergänge und große Änderungen statt. Führen Sie dies daher nicht auf einem Produktionssystem aus!

Um den Fix einzureichen, verwenden Sie am besten Ubuntu Distributed Development. Weisen Sie den Fehler sich selbst zu und führen Sie dann diese Schritte aus:

bzr branch lp:ubuntu/nagios-nrpe
cd nagios-nrpe
<edit files that need editing>
dch -D precise -i 'Fixing regression caused by bug 600941. (LP: #XXXXXX)'
debcommit
bzr push lp:~nutznboltz/ubuntu/precise/nagios-nrpe/fix-lpXXXXXX
bzr lp-propose

XXXXXX ist Ihr neuer Fehler #

Weitere Informationen hierzu finden Sie unterhttps://wiki.ubuntu.com/DistributedDevelopment

Bitte zögern Sie nicht, auch in #ubuntu-devel und/oder #ubuntu-server auf Freenode nachzufragen.

verwandte Informationen