提交修补程序以修复LP:#600941造成的所有损坏的方式是什么?


9

提交补丁修复LP:#600941造成的所有损害的最佳方法是什么?

我问是因为LP:#600941已放入目前仍受支持的Ubuntu的每个版本中。我应该选择一个特定的版本并ubuntu-bug在其上运行吗?该版本应该是LTS还是Oneiric或Precise(如果需要,如何获得Precise?)

故事是,在推出之后,我们所有的系统都开始经历Nagios nrpe重新启动失败。

像这样的命令 /etc/init.d/nagios-nrpe-server restart

会导致nrpe停止但无法重新启动。

我将其追溯到/etc/init.d/nagios-nrpe-server脚本调用的方式start-stop-daemon

问题是/etc/init.d/nagios-nrpe-server脚本中的“ stop”节首先调用start-stop-daemon,该守护进程将SIGTERM发送到nrpe,然后仅等待一秒钟。

如果那时nrpe尚未退出,则pid文件仍然存在,/etc/init.d/nagios-nrpe-server脚本将删除它。

更糟糕的是,如果/etc/init.d/nagios-nrpe-server restart使用该方法,不仅会删除pid文件,而且如果nrpe守护进程仍在关闭中,则重新启动nrpe的尝试将失败。

在这种情况下尝试启动将失败,因为nrpe仍将绑定到套接字,并且第二次尝试绑定将导致nrpe启动中止。

他们应该想知道为什么有一条评论“有时pid文件没有被删除”。

他们应该在负载较重,因此nrpe响应时间较慢的系统上进行测试。

解决方法是--retry 10在的调用中添加或之类的start-stop-daemon ... --stop ...

谢谢

Answers:


14

首先,感谢您到目前为止所做的所有错误工作。您很高兴参与修复此错误!

最好的方法是报告一个针对精确度的新错误,并明确表明它是由LP引起的回归:#600941。给它加上标签“ regression-updates”。在LP:#600941的注释中也要提及它,以便用户在调查自己回归时会看到这一点。回归更新标记将确保对您的错误进行分类并快速响应。所以是的,首先开始:

ubuntu-bug nagios-nrpe-server

由于它会影响所有发行版,因此无论您在何处执行此操作都无关紧要(最好在平台上进行操作,这样就可以不用担心了,以确认修复问题)。

现在可能无法安装精确的ISO,但是您可以在这里尝试使用:

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

您还可以通过编辑/etc/apt/sources.list*中的源并将oneiric更改为precision,然后执行来将oneiric机器变为精确apt-get update && apt-get dist-upgrade。尽管有过渡和巨大的变化,所以不要在生产系统上这样做!

要提交此修补程序,最好的方法是使用Ubuntu分布式开发。将错误分配给自己,然后使用以下步骤:

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是您的新错误#

您可以在https://wiki.ubuntu.com/DistributedDevelopment上找到有关如何执行此操作的更多信息。

请不要犹豫,也可以在Freenode上的#ubuntu-devel和/或#ubuntu-server中询问。


感谢你提供的信息。我看看将来是否可以利用它。
nutznboltz 2011年

我已将您要做的事情清单附加到我们的内部Atlassian票务系统中,因此我不会丢失它。
nutznboltz 2011年

到目前为止,我有LP:#896388。
nutznboltz 2011年

1
原来你骗我浪费了我的时间,请参阅ubuntuforums.org/showthread.php?p=11489142
nutznboltz 2011年

nutznboltz,我认为您根本不会浪费时间!正如stgraber所说,他希望您的修复程序在Debian上游被接受。那是相当正常的响应,并且是该过程中的重要步骤。否则,它可能会在下一个版本中降级。非常感谢您的工作,我相信您的修复将被接受。
SpamapS 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.