[Dart] nightly builds fall behind
Blezek, Daniel J (GE, Research)
blezek at crd.ge.com
Wed Nov 29 08:42:08 EST 2006
Hi Dave,
No, cron doesn't handle UTC time at all. Vixiecron, the stock RedHat
cron does execute jobs that happen during the missing hour when we
spring ahead, and does not execute jobs twice when we fall back, but
that's it. You can specify minute, hour, day of month, month, day of
week, but no time zone. This is why I generally recommend that cron
jobs start 1+ hours after the start of the dashboard, then the timing
can't get out of sync...
I like your suggestion: would be easier to explain why the dashboard
starts at 9:00 or 11:00 pm rather than 10:00pm instead of debugging why
builds get lost after daylight savings. We could setup the stock
project as UTC, but our Australian friends would have default dashboards
that start at 9:00am, which isn't that useful...
-dan
_____
From: David Cole [mailto:david.cole at kitware.com]
Sent: Wednesday, November 29, 2006 8:36 AM
To: Blezek, Daniel J (GE, Research)
Cc: Tobias Kaupp; dart at public.kitware.com; CMake
Subject: Re: [Dart] nightly builds fall behind
[Cross-posted to the CMake list as food for thought...]
Maybe there should be a recommendation in the docs for people
setting up new Dart servers / new dashboards that they express the
project start time in UTC. And propagate that recommendation out to
ctest users who set up dashboards via DartConfig.cmake or
CTestConfig.cmake... Are there default/sample projects that could be
modified to encourage this?
If everybody expressed times in the project files as UTC,
everybody would get used to thinking in terms of "how does my time zone
relate to UTC" and this question would be asked a bit less frequently.
Then we would just need crontab cron jobs to allow time
expressions in terms of UTC (or does it already and I just don't
know...?)
:-)
Dave
On 11/29/06, Blezek, Daniel J (GE, Research) <blezek at crd.ge.com>
wrote:
Hi Dave,
It's a really good question actually. All times for
Dart may be expressed as UTC (I for one would prefer it), but local
users are welcome to express these times in their local time zone.
Since UTC is a fixed time, it doesn't obey silly daylight savings rules
which can lead to sudden switching of your dashboard to time from
10:00pm to 11:00pm. If the time is expressed in the local time, without
time zone, the dashboard keeps the 10:00pm end time regardless of
daylight savings (switch between EST and EDT).
All times that come out of Dart in the archive files
are UTC and the Dart2 format expressly requires UTC times.
-dan
_____
From: David Cole [mailto:david.cole at kitware.com]
Sent: Tuesday, November 28, 2006 5:03 PM
To: Blezek, Daniel J (GE, Research)
Cc: Tobias Kaupp; dart at public.kitware.com
Subject: Re: [Dart] nightly builds fall behind
I know there are no "stupid" questions, but this
sure seems like one: why aren't all times for Dart expressed as UTC?
Seems like most projects I've heard that are using Dart have
contributors spread all around the world...
Just curious,
Dave
On 11/28/06, Blezek, Daniel J (GE, Research)
<blezek at crd.ge.com> wrote:
Tobias,
This is exactly why we hate daylight
savings around here. Glad you figured it out! If it's all the same to
you, it might be a good idea to separate Dart's idea of start time and
your cron job by 1.5 hours. Then you (almost) never have to worry.
-dan
-----Original Message-----
From:
dart-bounces+blezek=crd.ge.com at public.kitware.com [mailto:
dart-bounces+blezek=crd.ge.com at public.kitware.com
<mailto:dart-bounces+blezek=crd.ge.com at public.kitware.com> ] On Behalf
Of Tobias Kaupp
Sent: Tuesday, November 28, 2006 4:53 PM
To: dart at public.kitware.com
Subject: RE: [Dart] nightly builds fall
behind
To answer my own question:
It had to do with the daylight savings.
NIGHTLY_START_TIME "04:00:00 EAST"
(in DartConfig.cmake) maps to 5am in
summer (the timestamp field on the webpage
http://129.78.210.237:8081/orca2/Dashboard/ shows 5am which I hadn't
noticed). The cronjob ran at 4.15am before, so results got submitted to
the day before. I moved it to 5.15am and it works now.
> Hi all,
>
> we have some trouble with the nightly
tests. For some reason, they
> started falling one day behind (see
>
http://129.78.210.237:8081/orca2/Dashboard/ ).
>
> We run a cron job at 4.15 am and our
DartConfig.cmake specifies the
> following:
> SET (NIGHTLY_START_TIME "04:00:00
EAST")
>
> From our log file:
>
>
----------------------------------------
> Sat Nov 25 04:57:57 EST 2006
>
----------------------------------------
> Determine Nightly Start Time
> Specified time: 04:00:00 EAST
> Create new tag: 20061123-1800 -
Nightly
>
> This tag should be 20061124-1800
instead (it used to work).
>
> Any idea why it's doing this?
>
> Cheers, Tobias
>
>
> Here is our full DartConfig.cmake:
> ============================
> SET (DROP_METHOD "xmlrpc")
> SET (DROP_SITE
"http://opium.acfr.usyd.edu.au:8081 ")
> SET (DROP_LOCATION "orca2")
> SET (COMPRESS_SUBMISSION ON)
>
> # Dashboard is opened for submissions
for a 24 hour period starting at
> # the specified NIGHLY_START_TIME.
Time is specified in 24 hour
> format.
> SET (NIGHTLY_START_TIME "04:00:00
EAST")
>
> # Set up valgrind
> FIND_PROGRAM(MEMORYCHECK_COMMAND
> NAMES valgrind
> PATHS
> DOC "Path to valgrind, used for
memory error detection."
> )
> SET(MEMORYCHECK_SUPPRESSIONS_FILE ""
CACHE FILEPATH "File that
> contains suppressions for the memmory
checker")
> ================================
>
> Here's the script we run:
>
> =======================
> SET (DASHBOARD_ROOT
"/home/users/dart/ctests/orca/orca2-nightly")
> SET (CTEST_SOURCE_DIRECTORY
"${DASHBOARD_ROOT}/orca2") SET
> (CTEST_BINARY_DIRECTORY
"${DASHBOARD_ROOT}/build-gcc40")
>
> SET (CTEST_CVS_COMMAND "cvs")
>
> # which command to use for running the
dashboard # #SET (CTEST_COMMAND
> "ctest -D NightlyMemoryCheck -A
>
\"${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}\"" ) SET
> (CTEST_COMMAND "ctest -D
NightlyMemoryCheck -A
>
\"${CTEST_BINARY_DIRECTORY}/cmake_config_report.txt\"" )
>
> # what cmake command to use for
configuring this dashboard SET
> (CTEST_CMAKE_COMMAND "cmake" )
>
> # should ctest wipe the binary tree
before running SET
>
(CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
>
> # this is the initial cache to use for
the binary tree, be careful to
> escape # any quotes inside of this
string if you use it SET
> (CTEST_INITIAL_CACHE "
> MAKECOMMAND:STRING=make
> BUILDNAME:STRING=Debian-gcc40
> SITE:STRING=devdebian.acfr.usyd.edu.au
> CMAKE_BUILD_TYPE:STRING=Debug
> BUILD_JAVA:BOOL=ON
> BUILD_IMAGE_SERVER:BOOL=ON
> ")
>
> # set any extra envionment variables
here SET (CTEST_ENVIRONMENT
> ORCA2_INSTALL=/opt/orca2-nightly
> CC=/usr/bin/gcc-4.0
> CXX=/usr/bin/g++-4.0
> CXXFLAGS=-fprofile-arcs
-ftest-coverage
> CFLAGS=-fprofile-arcs
-ftest-coverage
> LDFLAGS=-fprofile-arcs
-ftest-coverage
> )
> =======================
>
>
> --
>
--------------------------------------------------------------
> Tobias Kaupp
>
> ARC Centre of Excellence for
Autonomous Systems (Australian Centre for
> Field Robotics) The Rose St Building,
J04 The University of Sydney,
> NSW 2006 Australia
>
>
> Phone: +61 2 9351 7154
> Fax: +61 2 9351 7474
> Email: t.kaupp at cas.edu.au
> Web:
http://www.acfr.usyd.edu.au/people/postgrads/t.kaupp/
>
--------------------------------------------------------------
>
_______________________________________________
> Dart mailing list
> Dart at public.kitware.com
>
http://public.kitware.com/mailman/listinfo/dart
>
>
_______________________________________________
Dart mailing list
Dart at public.kitware.com
http://public.kitware.com/mailman/listinfo/dart
_______________________________________________
Dart mailing list
Dart at public.kitware.com
http://public.kitware.com/mailman/listinfo/dart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/dart/attachments/20061129/3a2c59b9/attachment.htm
More information about the Dart
mailing list