[Cdash] No email on failed continuous builds
Bill Hoffman
bill.hoffman at kitware.com
Sat Jun 21 16:12:31 UTC 2008
Trevor Kellaway wrote:
> Julien,
>
> You may remember some time ago I was looking at why my continuous builds
> weren't sending emails, and I didn't get anywhere. (Note Nightly email
> notification works OK if I opt in for all emails, or just nightly
> breakages).
>
> I've had another look at this issue (Cdash 1.0), and have got a bit
> further, it appears that the SELECT of the author list for the
> updatefile is not returning any rows, however, if I manually do a mysql
> query it is present.
>
> Adding some logging code it appears as if it is a timing issue, that the
> author buildid data is not present at the time of the sendemail query.
> This seems bizarre as submit.php invokes ctestparser.php (which should
> log the data) and finally sendemail.php.
>
> I did a test changing sendemail.php to also query for a previous buildid
> at the same time:
>
> // Find the users
> add_log("buildid='$buildid'","sendemail");
> $tkauthors = mysql_query("SELECT author FROM updatefile WHERE
> buildid='6874'");
> $authors = mysql_query("SELECT author FROM updatefile WHERE
> buildid='$buildid'");
> add_log("tkauthors=".$tkauthors,"sendemail");
> add_log("authors=".$authors,"sendemail");
> add_log("rows=".mysql_num_rows($authors),"sendemail");
> add_log("tkrows=".mysql_num_rows($tkauthors),"sendemail");
> $tktmp = mysql_fetch_array($authors);
> add_log("tktmp=".$tktmp,"sendemail");
> while($authors_array = mysql_fetch_array($authors))
>
> This produced the following log output:
>
> [2008-06-21 16:09:18] (sendemail): Start buildid=6876
> [2008-06-21 16:09:18] (sendemail): previousbuildid=6875
> [2008-06-21 16:09:18] (sendemail): test=0=0
> [2008-06-21 16:09:18] (sendemail): warning=0=0
> [2008-06-21 16:09:18] (sendemail): error=0=4
> [2008-06-21 16:09:18] (sendemail): fetching authors
> [2008-06-21 16:09:18] (sendemail): buildid='6876'
> [2008-06-21 16:09:18] (sendemail): tkauthors=Resource id #50
> [2008-06-21 16:09:18] (sendemail): authors=Resource id #51
> [2008-06-21 16:09:18] (sendemail): rows=0
> [2008-06-21 16:09:18] (sendemail): tkrows=1
> [2008-06-21 16:09:18] (sendemail): tktmp=
> [2008-06-21 16:09:18] (sendemail): End buildid=6876
>
> Note that the query for the hard coded ID is OK (tkrows=1), but the
> current build query fails (rows=0).
>
> And FYI, the following errors in the Apache error_log:
>
> [Sat Jun 21 16:09:20 2008] [error] [client ...] PHP Notice: Undefined
> index: value in .../CDash/ctestparser.php on line 78 [Sat Jun 21
> 16:09:20 2008] [error] [client ...] PHP Notice: Undefined index: value
> in .../CDash/ctestparser.php on line 859
>
> Something odd about this is the log times for ctestparser.php warning
> are 2 seconds *after* the sendemail.php log messages. Is there some log
> buffering going on, or is this really representative of the calling
> order?
>
> Hmm, a sudden thought, is submit.php invoked for each submitted XML file
> in turn? If so maybe it is file order dependent?
>
> This is the order the files were pushed in (by ctest 2.4):
>
> Uploaded: .../Testing/20080621-1508/Build.xml
> Uploaded: .../Testing/20080621-1508/Configure.xml
> Uploaded: .../Testing/20080621-1508/Notes.xml
> Uploaded: .../Testing/20080621-1508/Test.xml
> Uploaded: .../Testing/20080621-1508/Update.xml
>
> Any help gratefully received, as I could really do with getting this
> issue resolved.
>
I just fixed that last week should be on the branch. Sorry you had to go
through the same debugging that I did... It now sends the email on the
update. It will also send email to registered folks on the Test.xml.
It still needs some work, but it should be more functional now.
-Bill
More information about the CDash
mailing list