[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: unexpected NMUs || buildd queue



On Sat, Jul 17, 2004 at 06:51:19PM +0200, Thiemo Seufer wrote:
> Wouter Verhelst wrote:
> > On Sat, Jul 17, 2004 at 10:58:57AM +0200, Goswin von Brederlow wrote:
> > > Wouter Verhelst <wouter@grep.be> writes:
> > > > In any case, buildd doesn't write to disk what it's doing (the
> > > > build-progress file is written by sbuild), so if it's aborted
> > > > incorrectly (i.e., it doesn't have time to write a REDO file), that
> > > > information goes lost.
> > > >
> > > > That's probably a bug, but once you know about it, it's easy to work
> > > > around (it just means you have to clean up after a crash, but you have
> > > > to do that anyway, so...)
> > > 
> > > Which is one of the things realy screwed up on the buildd/sbuild
> > > combination.
> > 
> > What's your alternative?
> 
> Obviously to clean the chroot automatically unless a clean-buildd-shutdown
> flag was written. Shouldn't be hard to implement.

I'd like to see that implemented properly. There are a number of issues
I can think of offhand that would make it hard:
* the system crash might the result of the build itself. Runaway
  memory-eating loop, causing the swapper to trash so horribly that a
  power cycle is the fastest way to get it up and running again, for
  example. Yes, those happen. In such a case, you don't want to wipe out
  the chroot; you want to check out what went wrong, and you might need
  whatever's in the chroot to find out.
* unstable is a moving (and breaking) target. Doing a debootstrap --
  especially when tried noninteractively -- doesn't always work. And
  yes, we need the chroot to be unstable. Think about it.

There are probably more things I could come up with, but I didn't try
hard. Wiping out and recreating the buildd chroot isn't an option.
Neither is creating a new one alongside the original, unless the disk
space requirements are a non-issue (which isn't true for some of our
archs).

The only other option I could think of is to implement an AI that would
investigate the chroot and remove any anomalies before restarting the
next build, obviously all the while creating a perfectly detailed log
(as in, exactly the amount of details you'll need to learn about what
went wrong; nothing more and nothing less). That'd be nice to have, I'd
say... ;-)

Really, such cleanups can't be properly automated IMO. I agree that
there are cases where buildd could be improved, but that doesn't mean
manual cleanups can be avoided; and after a system crash, if a cleanup
is required, it must be done manually.

-- 
         EARTH
     smog  |   bricks
 AIR  --  mud  -- FIRE
soda water |   tequila
         WATER
 -- with thanks to fortune

Attachment: signature.asc
Description: Digital signature


Reply to: