From Camino Wiki
Jump to navigation Jump to search

madhatter is a fork of the Tinderbox client that supports building from either CVS or Hg. It was hacked up by Smokey Ardisson to support Camino 2.1 development.


Usually marked XXX in the code, although some of them are from old tinderbox hackers; this list is not complete


  • Need better error visibility when uploading symbols fails (see bug 491101 comment 8)
    • We don't want to make the build fail to upload if the build itself is fine (we should probably fail to upload the build if *generating* the symbols fails)
    • Since for nightlies we build when (sane) US people are asleep, we don't want to make them have to scroll/page back to find the build/log on tinderbox (although at least TinderPrinting would help there); can we email the build administrator in that case?
  • (When building from a branch), getting the Gecko revision fails sometimes (Cm2.1b1)
    • One option might be to get the info from platform.ini/generated/*_changeset cache files in the Camino build, if they're empty. However, currently we do the revision-generation code after cloning rather than at TinderPrint time (so we know where we are in the filesystem), and those files don't exist before a build.
  • Need to have self-update and tinder-config update generate a log so someone can at least check locally what's going on when they fail. Ideally, use the next build's log, but that's not set up yet, and return the purple (infra exception) status.
    • Especially useful when gets misconfigured and is inaccessible; madhatter just appears to stop building while it waits for cvs.m.o to become available again, but there's no log info at all.
  • Clobber of mozilla sometimes fails: [6]
  • Failures cloning mozilla don't kill the build at that point (related to above?): tinderbox log
    • Related? Bug 330779
    • The "status" returned from the run_shell_command_with_timeout() for checkout is wrong or missing or something.[7]
      For 2.1rc3 attempt 1, instead of the expected "Error: Hg checkout timed out.", the log reports:
      Begin: Sun Nov 13 19:00:16 2011
      hg clone -r CAMINO_2_1_RELEASE mozilla 
      Process killed. Took 2 seconds to die.
      End:   Sun Nov 13 19:10:17 2011
      That error comes from kill_process()[8], called once we believe we've timed out, so it's unclear how build_status is not getting set to busted.