[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