MantisBT - CDash
View Issue Details
0008757CDashpublic2009-03-18 09:582009-05-18 11:09
David Jobet 
Julien Jomier 
normalmajoralways
closedfixed 
1.2.2 
1.4 
0008757: CDash 1.2.1 : DynamicAnalysis report in Nightly never shows up
Hello,

I've setup a cdash server for my project (already using cmake). Lately I tried to integrate DynamicAnalysis using valgrind under linux.

Find the script I'm using at the end if this message (used in my cron to do the Continuous and Nightly builds). I also use it with an Experimental target.

Continuous works fine, Experimental works fine and does submit the DynamicAnalysis OK, however the Nightly target never shows up the DynamicAnalysis.

At first, I had errors in my http error_log, so I bumped the memory limit of php and it is working fine now (also demonstrated by the Experimental target working fine)

In my logs, ctest reports the submission was done OK. On my apache logs, no errors, but a bunches of notices :
- PHP Notice: Undefined variable: priorrevision in /var/www/html/CDash-1.2.1/dailyupdates.php on line 717
- PHP Notice: Undefined index: value in /var/www/html/CDash-1.2.1/ctestparser.php on line 78
- PHP Notice: Undefined variable: email in /var/www/html/CDash-1.2.1/common.php on line 624

+ a missing script because ctest might try to use the old dart dashboard ?
- script not found or unable to stat: /var/www/cgi-bin/Submit-Random-TestingResults.cgi

I see the file blizzard_xxxxx_Linux-c++_20090318-0500-Nightly_DynamicAnalysis.xml in the backup dir of my cdash

Any ideas ?

David

---
#!/bin/sh

# add cmake, java et ant in the PATH
export PATH=/apps/cmake64-2.6.1/bin:/apps/linux/jdk1.6.0/bin:$HOME/apache-ant-1.7.1/bin:$PATH

if [ $# -lt 1 ]; then
  echo "Usage ${0} mode"
  echo "Where mode = 'Nightly', 'Experimental', 'Continuous'"
  exit 1
fi
mode=${1}

BLIZZARD_DIR=$HOME/dev/cdash/blizzard_trunk

#this is due to a bug, the process extracts information from the svn output which needs to be in english
export LC_MESSAGES=en_EN

# first pass : update, configure, build, test using target CDash. Don't do code coverage, don't do mem checking
echo 'Start regular build/testing at ' `date`
cd ${BLIZZARD_DIR}
rm -Rf build
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=CDash -DWITH_NULL_ROUTER=TRUE -DWITH_RCORE_STATS=TRUE
ctest -D${mode}Start -D ${mode}Update -D ${mode}Configure -D ${mode}Build -D ${mode}Test -D ${mode}Submit

# optional pass once a day for the nightly : do also MemCheck (also available for experimental)
if [ ${mode} != "Continuous" ]; then
  echo 'Start mem check analysis at ' `date`
  cmake .. -DCMAKE_BUILD_TYPE=CDashMemCheck -DWITH_NULL_ROUTER=TRUE -DWITH_RCORE_STATS=TRUE
  ctest -D${mode}Start -D ${mode}Update -D ${mode}Configure -D ${mode}Build -D ${mode}MemCheck -D ${mode}Submit
fi

# second pass : update, configure, build, do code coverage using target CDashCodeCoverage
echo 'Start code coverage analysis at ' `date`
cd ${BLIZZARD_DIR}
rm -Rf build
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=CDashCodeCoverage -DWITH_NULL_ROUTER=TRUE -DWITH_RCORE_STATS=TRUE
ctest -D${mode}Start -D ${mode}Update -D ${mode}Configure -D ${mode}Build -D ${mode}Test -D ${mode}Coverage -D ${mode}Submit

echo 'End at ' `date`
---

Here are the excerpts of my root CMakeLists.txt which define the mode CDash, CDashMemCheck and CDashCodeCoverage
---
IF (UNIX)
  IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
    MESSAGE("Debug build mode activated : Adding debug info and activating debug code")

    # overloading default DEBUG target
    SET( CMAKE_CXX_FLAGS "-Wall -fPIC -ggdb -DDEBUG -rdynamic")
    SET( CMAKE_C_FLAGS "-Wall -pedantic -fPIC -ggdb -DDEBUG -rdynamic")
    SET( CMAKE_EXE_LINKER_FLAGS "-Wl,--warn-unresolved-symbols,--warn-once -rdynamic")
    SET( CMAKE_SHARED_LINKER_FLAGS "-Wl,--warn-unresolved-symbols,--warn-once -rdynamic")
  ELSEIF (CMAKE_BUILD_TYPE STREQUAL "CDash")
    MESSAGE("CDash build mode activated : Adding debug info, activating debug code")

    # create a new CDASH target without code coverage options, and without mem check
    SET( CMAKE_CXX_FLAGS "-Wall -fPIC -ggdb -DDEBUG -rdynamic")
    SET( CMAKE_C_FLAGS "-Wall -pedantic -fPIC -ggdb -DDEBUG -rdynamic")
    SET( CMAKE_EXE_LINKER_FLAGS "-Wl,--warn-unresolved-symbols,--warn-once -rdynamic")
    SET( CMAKE_SHARED_LINKER_FLAGS "-Wl,--warn-unresolved-symbols,--warn-once -rdynamic")
  ELSEIF (CMAKE_BUILD_TYPE STREQUAL "CDashCodeCoverage")
    MESSAGE("CDashCodeCoverage build mode activated : Adding debug info, activating debug code, and code coverage")

    # create a new CDASHCodeCoverage target that enables code coverage
    SET( CMAKE_CXX_FLAGS "-Wall -fPIC -ggdb -DDEBUG -D_NO_PERF_TESTING -rdynamic -fprofile-arcs -ftest-coverage")
    SET( CMAKE_C_FLAGS "-Wall -pedantic -fPIC -ggdb -DDEBUG -D_NO_PERF_TESTING -rdynamic -fprofile-arcs -ftest-coverage")
    SET( CMAKE_EXE_LINKER_FLAGS "-Wl,--warn-unresolved-symbols,--warn-once -rdynamic -fprofile-arcs")
    SET( CMAKE_SHARED_LINKER_FLAGS "-Wl,--warn-unresolved-symbols,--warn-once -rdynamic -fprofile-arcs")

    CONFIGURE_FILE(${QS_SOURCE_DIR}/CTestCustom.cmake ${QS_BINARY_DIR}/CTestCustom.cmake)
  ELSEIF (CMAKE_BUILD_TYPE STREQUAL "CDashMemCheck")
    MESSAGE("CDashMemCheck build mode activated : Adding debug info, activating debug code, and mem check")

    # create a new CDASHCodeCoverage target that enables mem check
    SET( CMAKE_CXX_FLAGS "-Wall -fPIC -ggdb -DDEBUG -D_NO_PERF_TESTING -rdynamic")
    SET( CMAKE_C_FLAGS "-Wall -pedantic -fPIC -ggdb -DDEBUG -D_NO_PERF_TESTING -rdynamic")
    SET( CMAKE_EXE_LINKER_FLAGS "-Wl,--warn-unresolved-symbols,--warn-once -rdynamic")
    SET( CMAKE_SHARED_LINKER_FLAGS "-Wl,--warn-unresolved-symbols,--warn-once -rdynamic")

    SET(MEMORYCHECK_COMMAND:FILEPATH "/usr/bin/valgrind" CACHE STRING "memory check command line" FORCE)
  ELSE (CMAKE_BUILD_TYPE STREQUAL "Debug")
    MESSAGE("Default Release build mode activated : Adding debug info and deactivating debug code. Also activating optimizations")

    # overloading default RELEASE target
    SET( CMAKE_CXX_FLAGS "-Wall -fPIC -ggdb -O3 -ffast-math -msse2 -mmmx -mfpmath=sse,387 -DNDEBUG -rdynamic")
    SET( CMAKE_C_FLAGS "-Wall -pedantic -fPIC -ggdb -O3 -ffast-math -msse2 -mmmx -mfpmath=sse,387 -DNDEBUG -rdynamic")
    SET( CMAKE_EXE_LINKER_FLAGS "-Wl,--warn-unresolved-symbols,--warn-once -rdynamic")
    SET( CMAKE_SHARED_LINKER_FLAGS "-Wl,--warn-unresolved-symbols,--warn-once -rdynamic")
  ENDIF (CMAKE_BUILD_TYPE STREQUAL "Debug")
ENDIF (UNIX)
---

I do have a CTestCustom.cmake which is copied to the build dir. It contains only one line :
---
SET(CTEST_CUSTOM_COVERAGE_EXCLUDE "thirdparty" "test")
---

Finally, my CTestConfig.cmake contains the following :
---
SET(CTEST_PROJECT_NAME "blizzard")
SET(CTEST_NIGHTLY_START_TIME "00:00:00 EST")

IF(NOT DEFINED CTEST_DROP_METHOD)
  SET(CTEST_DROP_METHOD "http")
ENDIF(NOT DEFINED CTEST_DROP_METHOD)

IF(CTEST_DROP_METHOD STREQUAL "http")
  SET(CTEST_DROP_SITE "wbeqdosr02")
  SET(CTEST_DROP_LOCATION "/cdash/submit.php?project=blizzard")
  SET(CTEST_TRIGGER_SITE "")
ENDIF(CTEST_DROP_METHOD STREQUAL "http")
---
No tags attached.
Issue History
2009-03-18 09:58David JobetNew Issue
2009-03-28 15:23Julien JomierNote Added: 0015835
2009-03-28 15:23Julien JomierStatusnew => assigned
2009-03-28 15:23Julien JomierAssigned To => Julien Jomier
2009-05-03 15:09Julien JomierNote Added: 0016281
2009-05-03 15:09Julien JomierStatusassigned => resolved
2009-05-03 15:09Julien JomierFixed in Version => 1.4
2009-05-03 15:09Julien JomierResolutionopen => fixed
2009-05-18 11:09Julien JomierStatusresolved => closed

Notes
(0015835)
Julien Jomier   
2009-03-28 15:23   
The submission to the old Dart server is something that should be fixed in the next release of CTest. I believe we have fixed the issue with the dynamic analysis not showing up for nightlies in the current CDash SVN (and will be in 1.4). If you can attached the XML file that would be ideal so we can make sure it has been fixed. Thanks for the report.
(0016281)
Julien Jomier   
2009-05-03 15:09   
This issue is assumed to be resolved if this is not the case, feel free to reopen