MD5 Check error


All my players get the “Download file failed MD5 check” error, even though they’re all displaying content just fine. Below is the log.

I’m running xibo cms 1.7.4 and I tried the the patch posted here: Downloaded file failed MD5 check, no luck - this one actually started giving me different errors.

Any help would be much appreciated.

Here is a sample of the log:

ScheduleManagerThread|7/23/2015 9:24:26 AM|Error|ScheduleManager - LoadNewSchedule|Layout invalid: 0
LibraryAgent|7/23/2015 9:24:26 AM|Error|LibraryAgent - Run|Exception in Run: Could not find file ‘C:\Xibo Library\requiredFiles.xml’.
UI Thread|7/23/2015 9:24:26 AM|Error|MainForm - ChangeToNextLayout|Prepare Layout Failed. Exception raised was: Default layout
UI Thread|7/23/2015 9:24:26 AM|Error|MainForm - ChangeToNextLayout|Layout Change to failed. Exception raised was: Default layout
FileAgent_media_Id_9|7/23/2015 9:24:27 AM|Error|FileAgent - Run|Downloaded file failed MD5 check. Calculated [d41d8cd98f00b204e9800998ecf8427e] & XMDS [ 3c9137d88a00b1ae0b41ff6a70571615] . jquery-1.11.1.min.js
FileAgent_media_Id_10|7/23/2015 9:24:28 AM|Error|FileAgent - Run|Downloaded file failed MD5 check. Calculated [d41d8cd98f00b204e9800998ecf8427e] & XMDS [ 3659986d00e56c929218084aeb991cca] . xibo-layout-scaler.js
FileAgent_media_Id_11|7/23/2015 9:24:28 AM|Error|FileAgent - Run|Downloaded file failed MD5 check. Calculated [d41d8cd98f00b204e9800998ecf8427e] & XMDS [ d59f5fc84ef7747f27baddc07fe81487] . xibo-webpage-render.js
FileAgent_media_Id_12|7/23/2015 9:24:28 AM|Error|FileAgent - Run|Downloaded file failed MD5 check. Calculated [d41d8cd98f00b204e9800998ecf8427e] & XMDS [ 67bb26c11dba6c366834e65f5933aff2] . moment.js
FileAgent_media_Id_26|7/23/2015 9:24:28 AM|Error|FileAgent - Run|Downloaded file failed MD5 check. Calculated [d41d8cd98f00b204e9800998ecf8427e] & XMDS [ c90a4c420dd010a5e95dedb8927a29e7] . weathericons-regular-webfont.woff
FileAgent_media_Id_13|7/23/2015 9:24:29 AM|Error|FileAgent - Run|Downloaded file failed MD5 check. Calculated [d41d8cd98f00b204e9800998ecf8427e] & XMDS [ 2286bb4f44d9ea301131a25c5204ca0a] . jquery.marquee.min.js

Did you by any chance changed the player local library folder?
If I am not mistaken it should be by default in …\Users\USERNAME\My Documents\Xibo library
It looks like you changed it, and player can’t find required files (and literally requiredfiles.xml too :smile: )

Your current layouts will play just fine from the cache, but any changes to those layouts and/or new layouts will not play correctly.

FileAgent - Run|Downloaded file failed MD5 check

This means that we downloaded a file from the CMS but it was corrupt in some way. The most frequent cause for this is:
Incorrect setting for File download mode (SENDFILE_MODE) on the General tab in the CMS settings. Ensure that’s set to Off unless you’re sure your webserver supports that and has been configured specifically for that as well.

Files in the Xibo Library folder on the CMS being deleted or modifed directly (rather than through the Xibo CMS interface). Ensure you never manually delete or change files in the Xibo CMS Library folder directly.

Thanks for a quick response Peter. The File download mode (SENDFILE_MODE) setting is set to OFF.

I did change the local library folder. Are you saying that if it’s not default it’ll fire of that error? Also, when I change the layout it updates the players just fine (I do have to restart the display every once in a while), so I’m not sure what is actually corrupt. This is by the way happening on all my displays (total of 5).



Hi Oz,

from my experience it is better to leave local library in the default folder.
I suspect that you might have problems with some specific content (especially embedded content).

I think Peter is saying that unless you locate the library in an appropriate directory you might run into permissions issues, etc that prevent the player from saving its files.

All your calculated MD5’s are the same - and I suspect this is because the file it receives is empty. Can you try the “Verify All” routine in the Modules section of the CMS to ensure those files mentioned are available in the CMS library?

Do you have any update on this?

Did you try to do what Dan suggested? (verify all on modules page)


The files are being read just fine from the local directory, so I’m not sure if it’s a permissions issue.

  • We did change the default save player library location, but reverted back on some of the players as per suggestions above, still getting md5 checksum errors
  • I ran verify all modules, still same md5 error

Thanks for looking into this for me. Let me know if you need logs or anything from me.


I am sure it is a CMS issue - there are a set of files that the CMS needs to “install” in its own library - for some reason these files are not being installed.

Can you please collect a Fault page troubleshoot file whilst doing “Verify All” ?

Hi Dan,

The CMS is saving to the network, the players are saving locally, not sure if that may be causing part of the issue.

Here is the fault troubleshoot file info:

Environment Checks
<table class="table">
                                    <th class="group-false">Item</th>
                        <th class="group-false" data-sorter="tickcross">Status</th>
                        <th class="group-false">Advice</th>
                <tr >
                                                <td>PHP Version</td>
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>PHP version 5.3.3 or later required. Detected 5.5.12</td>
                <tr >
                                                <td>File System Permissions</td>
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>Write access required for settings.php and install.php</td>
                <tr >
                                                <td>MySQL database (PHP MySql)</td>
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>MySQL support must be enabled in PHP.</td>
                <tr >
                                                <td>MySQL database (PDO MySql)</td>
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>PDO support with MySQL drivers must be enabled in PHP.</td>
                <tr >
                                                <td>JSON Extension</td>
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>PHP JSON extension required to function.</td>
                <tr >
                                                <td>SOAP Extension</td>
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>PHP SOAP extension required to function.</td>
                <tr >
                                                <td>GD Extension</td>
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>PHP GD extension to function.</td>
                <tr >
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>PHP session support to function.</td>
                <tr >
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>Requires PHP FileInfo support to function. If you are on Windows you need to enable the php_fileinfo.dll in your php.ini file.</td>
                <tr >
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>PHP PCRE support to function.</td>
                <tr >
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>PHP Gettext support to function.</td>
                <tr >
                                                <td>Calendar Extension</td>
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>PHP Calendar extension to function.</td>
                <tr >
                                                <td>DOM Extension</td>
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>PHP DOM core functionality enabled.</td>
                <tr >
                                                <td>DOM XML Extension</td>
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>PHP DOM XML extension to function.</td>
                <tr >
                                                <td>Mcrypt Extension</td>
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>PHP Mcrypt extension to function.</td>
                <tr >
                                                <td>Allow PHP to open external URLs</td>
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>You must have allow_url_fopen = On in your PHP.ini file for RSS Feeds / Anonymous statistics gathering to function.</td>
                <tr >
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>This enables us to get a list of time zones supported by the hosting server.</td>
                <tr >
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>This enables import / export of layouts.</td>
                <tr >
                                                <td>Large File Uploads</td>
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>Support for uploading large files is recommended.</td>
                <tr >
                                                <td><span  class="glyphicon glyphicon-exclamation-sign"></span></td>
                                                <td>International Support for formatting Dates, Numbers, etc.Translations will still function without this PHP module, however dates, times and numbers will not be shown in your locale.</td>
                <tr >
                                                <td><span  class="glyphicon glyphicon-ok"></span></td>
                                                <td>cURL is used to fetch data from the Internet or Local Network</td>

LOG Dump

Display Dump
DisplayID: 1
Display: WIN-SV86JO0679T
Default Layout: Full Screen Video
Logged In: 0
Last Accessed: 1437658462
Interleave: 0
Licensed: 1

DisplayID: 3
Default Layout: Full Screen Video
Logged In: 1
Last Accessed: 1438091105
Interleave: 0
Licensed: 1

DisplayID: 4
Display: MPFISTICK01
Default Layout: Max Planck Logo
Logged In: 1
Last Accessed: 1438091103
Interleave: 0
Licensed: 1

DisplayID: 7
Display: MPFIPUCK02
Default Layout: Full Screen Powerpoint
Logged In: 1
Last Accessed: 1438091098
Interleave: 0
Licensed: 1

DisplayID: 8
Display: MPFISTICK02
Default Layout: Test - Background Slideshow
Logged In: 1
Last Accessed: 1438091109
Interleave: 0
Licensed: 1

DisplayID: 9
Display: MPFISTICK05
Default Layout: Default Layout
Logged In: 1
Last Accessed: 1438091096
Interleave: 0
Licensed: 0

Settings Dump
Setting: MEDIA_DEFAULT - Value:   public

Setting: LAYOUT_DEFAULT - Value:   public

Setting: defaultUsertype - Value:   User

Setting: userModule - Value:   module_user_general.php

Setting: defaultTimezone - Value:   America/New_York

Setting: mail_to - Value:

Setting: mail_from - Value:

Setting: jpg_length - Value:   10

Setting: ppt_length - Value:   10

Setting: swf_length - Value:   10

Setting: audit - Value:   audit

Setting: LIBRARY_LOCATION - Value:   \\mpfiisi01\data\xibo-server-data\

Setting: HELP_BASE - Value:

Setting: PHONE_HOME - Value:   Off

Setting: PHONE_HOME_URL - Value:

Setting: PHONE_HOME_DATE - Value:   0

Setting: SERVER_MODE - Value:   Production

Setting: MAINTENANCE_ENABLED - Value:   Off


Setting: MAINTENANCE_KEY - Value:   changeme

Setting: MAINTENANCE_LOG_MAXAGE - Value:   30

Setting: MAINTENANCE_STAT_MAXAGE - Value:   30

Setting: MAINTENANCE_ALERT_TOUT - Value:   12

Setting: SHOW_DISPLAY_AS_VNCLINK - Value:   

Setting: SHOW_DISPLAY_AS_VNC_TGT - Value:   _top


Setting: SCHEDULE_LOOKAHEAD - Value:   On

Setting: REQUIRED_FILES_LOOKAHEAD - Value:   172800

Setting: REGION_OPTIONS_COLOURING - Value:   Media Colouring

Setting: LAYOUT_COPY_MEDIA_CHECKB - Value:   Unchecked

Setting: MAX_LICENSED_DISPLAYS - Value:   0


Setting: USER_PASSWORD_POLICY - Value:   

Setting: USER_PASSWORD_ERROR - Value:   

Setting: MODULE_CONFIG_LOCKED_CHECKB - Value:   Unchecked

Setting: LIBRARY_SIZE_LIMIT_KB - Value:   0


Setting: DEFAULT_LANGUAGE - Value:   en_GB


Setting: GLOBAL_THEME_NAME - Value:   default

Setting: DEFAULT_LAT - Value:   51.504

Setting: DEFAULT_LONG - Value:   -0.104


Setting: SETTING_IMPORT_ENABLED - Value:   1


Setting: SENDFILE_MODE - Value:   Off


Setting: PROXY_HOST - Value:   

Setting: PROXY_PORT - Value:   0

Setting: PROXY_AUTH - Value:   

Setting: DATE_FORMAT - Value:   Y-m-d H:i

Setting: DETECT_LANGUAGE - Value:   1

Setting: DEFAULTS_IMPORTED - Value:   1

Setting: FORCE_HTTPS - Value:   0

Setting: ISSUE_STS - Value:   0

Setting: STS_TTL - Value:   600


Setting: CALENDAR_TYPE - Value:   Gregorian



Setting: USE_INTL_DATEFORMAT - Value:   0

Setting: PROXY_EXCEPTIONS - Value:   

Sessions Dump
UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:39.0) Gecko/20100101 Firefox/39.0
Session Data

The CMS and Player libraries should be separate, so that is fine.

The CMS saving to the network? You mean that your CMS LIBRARY_LOCATION is a network share? Are you sure those files are being saved correctly in the CMS library? You could spot check one of them: jquery-1.11.1.min.js.

The trouble shoot file doesn’t contain any log messages, are you sure you turned on logging, recreated the problem and then turned it off again (as the instructions on that page say?).

I’ll run the troubleshooter again, one thing I just noticed is that I checked the files on the network where the CMS is set to save them to and a bunch of them have are empty (like the jquery and a bunch of other files are all 0kb). That probably has something to do with it?

Yeah, those are the files that get put their by the installer / verify all routine.

It looks to me like you have your Player and CMS libraries in the same location - which wont work. They must be in separate locations. (either that or your screenshot is from the Player).

No they are in separate locations. I think originally I may have pointed them to the same location, but that never went anywhere. I should also say that the same files for the players have correct size and contents. Should I change the save location for the CMS to something else?

Are you sure you aren’t getting the two locations mixed up? The player downloads files from the CMS, not the other way around - if the CMS has 0KB files, then the player will do to.

Can you delete those empty files and run the verify all routine as before. If the files don’t come back full, then the CMS can’t write to that location properly.

Ok, maybe I was in the wrong folder, I must have taken that screenshot from the shared client location folder on the network, the server folder has properly sized files.

As far as recreating the problem, I see the md5 error on the client players, so which logs do you want me to submit to you the one from the client or the cms one?

So you did what Dan suggested and now we know that CMS is able to write to that location properly, but windows player has problems downloading it from the CMS, correct?

Screenshot of status window on your device (‘i’ while player is running) could be helpful.
As for logs,
please enable auditing for you player - displays page -> edit display -> advanced tab -> enable auditing
enable debugging on report fault page
Recreate the issue (in this case try to schedule layout on your display I guess)
and on report fault page click the collect and save data button

You may want to ‘censor’ any sensitive data you may have in this file before uploading it here.


Windows doesn’t have problems downloading stuff from the CMS, but after changing the location of all the players from network to local, the MD5 check sum error no longer appears. I am seeing quite a few WebException in Run type of errors. Here is a screenshot. Some of these are wireless, some are wired. As far as I can tell, their have good connectivity. Maybe you have some thoughts?

Ok, so now CMS and players are in the same local network, I assume that in player’s local library everything looks better now ie. there are actually required files with a bit more than 0kb size? :smile:
How does it looks like in the CMS? Are the devices correctly shown there as logged in and up to date?
When you close and reopen client is it still showing those errors?

Other than that I think we will need to see the logs as my previous post here:

Have you got more than one Player trying to use that folder? The Player library should be local to the hard drive of the Player. It shouldn’t be on a network share at all, and there definitely shouldn’t be more than one Player trying to run from a single library folder.

The Player library should be something like c:\Xibo Library and the only thing accessing that location should be the Player installed on that computer.