[CDash] Upgrading from 2.0.2 to 2.4.0

François Bertel fbopensource at gmail.com
Sat Jul 22 21:52:26 UTC 2017


With the hope of solving the DB upgrade issue, I changed strategy by moving
from version to version instead of jumping directly from 2.0.2 to 2.4.0.
Therefore I am trying first to upgrade from 2.0.2 to 2.2.2.

I used the git repo and checked out the Release-2-2-2 tag as the link from
the wiki (
to CDash-2.2.0.zip is not a valid link:

First, I moved back to 2.0.2 (stopped apache, restored my saved DB, change
the CDash symlink to point back to CDash-2.0.2 and restarted apache). CDash
2.0.2 is working fine, I can see some old submissions and my subprojects
are listed properly.

Then I attempted to move to 2.2.2. The CDash link opened properly with the
message about the DB being from a previous version. I was able to log as
admin and started performing the DB upgrade. At this point I got the
following error message on the admin page in red:

"Your rss directory is not writable, make sure that the web process can
write into the directory."

I checked that the CDash-2.2.2 hierarchy is entirely owned by the user
www-data user and the group www-data. The www-data user has read and write
access to the entire hierarchy. I don't see any rss directory in the
hierarchy anyway.

Where should I look for this rss directory?


François Bertel

On Thu, Jul 13, 2017 at 9:40 PM, François Bertel <fbopensource at gmail.com>

> I don't think I have a valid state yet:
> The main CDash page lists 0 project. Then if I click on "My CDash" in the
> upper left corner, a new page open where my project is listed but as soon
> as I click on it, it is an empty project page with a line that says
> "Feed::GetFeed(): 0 not set".
> There is some messages in /var/log/apache2/error.log
> PHP Notice:  Undefined index: sharelabelfilters in
> /var/www/CDashRoot/models/project.php on line 435, referer:
> http://myserver.home/CDash/index.php?project=MyProject
> PHP Warning:  array_merge(): Argument #2 is not an array in
> /var/www/CDashRoot/public/api/v1/index.php on line 451, referer:
> http://myserver.home/CDash/index.php?project=MyProject
> PHP Warning:  Invalid argument supplied for foreach() in
> /var/www/CDashRoot/public/api/v1/index.php on line 493, referer:
> http://myserver.home/CDash/index.php?project=MyProject
> PHP Warning:  Invalid argument supplied for foreach() in
> /var/www/CDashRoot/public/ajax/getfeed.php on line 101, referer:
> http://myserver.home/CDash/index.php?project=MyProject
> On Thu, Jul 13, 2017 at 9:27 PM, François Bertel <fbopensource at gmail.com>
> wrote:
>> Hi Zack,
>> I figured out that the php-mbstring package was not installed on my
>> Ubuntu. That fixed the issue. Even after upgrading the DB I still see the
>> warning message.
>> Here are the details of my investigation:
>> 1. I checked all the write permissions you listed and they were all
>> correct.
>> 2. I did not find anything relevant in /var/log/syslog. However, I saw
>> the following error in /var/log/apache2/error.log (I masked the IP address
>> and port with *): Call to undefined function mb_detect_encoding()
>> [:error] [pid 3726] [client *.*.*.*:*] PHP Fatal error:  Uncaught Error:
>> Call to undefined function mb_detect_encoding() in
>> /var/www/CDashRoot/include/common.php:139\nStack trace:\n#0
>> /var/www/CDashRoot/include/common.php(324):
>> XMLStrFormat('css/cdash.css')\n#1 /var/www/CDashRoot/include/common.php(1838):
>> add_XML_value('cssfile', 'css/cdash.css')\n#2 /var/www/CDashRoot/include/login_functions.php(383):
>> begin_XML_for_XSLT()\n#3 /var/www/CDashRoot/public/login.php(61):
>> LoginForm('')\n#4 /var/www/CDashRoot/public/user.php(20):
>> include('/var/www/CDashR...')\n#5 {main}\n  thrown in
>> /var/www/CDashRoot/include/common.php on line 139, referer: http://
>> *.*/CDash/viewProjects.php
>> Using grep in /var/www/CDashRoot for mb_detect_encoding gave the
>> following result:
>> $ find . -name '*' -print0 | xargs -r -0 grep -n mb_detect_encoding | less
>> Binary file ./composer.phar matches
>> ./public/install.php:50:if (function_exists('mb_detect_encoding') ===
>> false) {
>> ./include/common.php:139:    if (mb_detect_encoding($str, 'UTF-8', true)
>> === false) {
>> ./include/common.php:2072:        if (function_exists('mb_detect_encoding')
>> &&
>> ./include/common.php:2073:            mb_detect_encoding($value,
>> 'UTF-8', true) === false
>> Searching around, I found that this php function is provided by the
>> php-mbstring package, which was not installed on my Ubuntu machine.
>> 3. I installed the php-mbstring package and restarted apache2.
>> 4. I went back the CDash main page and was able to login as
>> administrator! I was able to go the maintenance page and clicked on the
>> push button at the bottom "Upgrade CDash" . Now the CDash maintenance page
>> says:
>> *Current CDash database schema: *2.5
>> Upgrading tables:
>> Applying 2.6 patches:
>> *CDash Upgrade Successful.*
>> 5. However, if I go back again the CDash homepage, I have the same red
>> message: "The current database schema doesn't match the version of CDash
>> you are running, upgrade your database structure in the
>> Administration/CDash maintenance panel of CDash"
>> Of course the weird thing is I installed 2.4.0 but the maintenance page
>> says current schema 2.5 and there is also this line "Applying 2.6 patches".
>> Each time a different version number. That could explain why I am still
>> seeing this message. I did not find anything new the apache2 log this time.
>> Any idea?
>> Best,
>> --
>> François Bertel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cdash/attachments/20170722/34f7009d/attachment-0001.htm>

More information about the CDash mailing list