[Pkg-utopia-maintainers] Bug#480552: fails to stop hald on upgrade...

Bruce Sass bmsass at shaw.ca
Thu May 15 19:46:46 UTC 2008


On Wed May 14 2008 01:36:10 pm you wrote:
> On Wed, May 14, 2008, Bruce Sass wrote:
> > >  This bug is now closed with the new dpkg; could you upgrade and
> > > confirm you still have the hal bug?
> >
> > I can confirm the hal package fails to configure (via
> > dpkg-reconfigure) if /var/run/hal/hald.pid is missing. [the hal
> > bug, imo]
>
>  Well it can happen that the missing pid files confuses hal: if you
>  attempt to start hal a second time because stop didn't find the pid
>  file and hence didn't find hal, it's normal that the second instance
>  may not be able to launch.  The bug is that the pid file is absent
> in this case IMO, and this could well be fixed by the dpkg upgrade.

The above only simulates what happens during dpkg's second (and 
subsequent) attempt to configure the package. The hal package (or any 
other package which would fail if a PID file disappeared) should be 
able to deal with that situation, imo.

>  So I suggest you clean up things manually (reboot will clear up
>  things) and see whether you encounter the bug again with the new
> dpkg.

I have no way of testing whether new code in the dpkg package can be 
relied upon to both remove the PID file and stop the daemon without a 
new hal package, and even then there is no guarantee of triggering the 
bug...

...I don't know when I will get the time to roll-back the hal upgrade 
and try again---and even then I'm not sure the bug would be triggered 
(based on past experience with exim [which took months and a few 
upgrades to gather enough data to convince the Maintainer that it was 
an upgrading problem] and other packages [including previous hal 
packages] which didn't get a report).

AFAICT, this is a problem which has existed for over 4-years (see: 
#211784)---until s-s-d (or perhaps the new invoke-rc.d) guarantees that 
it will actually stop the daemon it is up to packages to deal with the 
situation themselves... which is why I filed the report against hal and 
not dpkg (and/or whatever pkg invoke-rc.d lives in).

IMO, something is horribly broken if a PID file can disappear yet the 
daemon is left running---why would any code in its right mind rm the 
PID file before the daemon has stopped! The only way I can envision 
that happenning is if some code ASSUMES that whatever it has done will 
result in the daemon being stopped. Assumptions have no place in core 
infrastructure code (or in any computer program, but that's moot) find 
it and you will find the cause of these failures... if that is what the 
latest dpkg package has done then I look forward to not having to, 
occasionally, manually kill processes to get a clean upgrade.


- Bruce






More information about the Pkg-utopia-maintainers mailing list