IBM Support

Error 'System.Xml - The root element is missing' inside multiple menus in Controller, caused by %APPDATA% redirected to UNC path

Troubleshooting


Problem

Users repeatedly receive error messages when working in different menus inside Controller.

Symptom

The error will vary, depending on what the user is doing.

Example #1 (logging onto Controller):

Standard Error
Number: 5
Source: System.Xml
Description: The root element is missing.

Example #2
Information
Standard Error
Number: 5
Source: System.Xml
Description: Root element is missing
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res)
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.........

Example #3
Information
Standard Error
Number: 91
Source: frmReportRun
Description: Object reference not set to an instance of an object.
at Cognos.Controller.Forms.Form.frmReportRun.FillListBox()
[OK]

Cause

'The root element is missing' message is triggered when the Controller cache files are corrupt.

  • These are the files with file extensions *.DSS and *.DSD
  • By default, they are stored inside the following folder: %APPDATA%\Cognos\CCR

There are several different potential causes for why these files to become corrupt.
  • For more examples, please see separate IBM Technote #1347330.

This Technote specifically relates to the scenario where the cause is that the customer has reconfigured %APPDATA% to be on a network share.
  • This is unsupported by IBM.

Example:
In modern versions of Windows, the default location for %APPDATA% is here: C:\Users\%USERNAME%\AppData\Roaming

Imagine a scenario where the I.T. department has configured the end user's %APPDATA% to be redirected to a UNC (network) path, such as:
\\servername\sharename$\folder\users\username

During the normal operation of Controller, the client software will regularly read/write to its cache files. During intensive operations (such as when running a database optimisation) this read/write process will be more intensive.

When the cache files are located on a remote server (i.e. when the %APPDATA% folder has been redirected to a UNC path) then each individual read/write will take much longer than when reading/writing to the local hard drive (C: drive). These delays can cause read/write errors.

For example, in one customer's environment, after performing a database optimisation for the database 'Controllerlive', there were the following 4 files left inside %APPDATA%\Cognos\CCR:
  • Controllerliveactuality.dsd
  • Controllerlivemeny.dsd
  • Controllerliveworkflowh.dsd
  • Controllerliveworkflowr.dsd
  • Controllerlivemedlem.dsd

These files caused errors during the next logon. After deleting these files, the problem was solved.

Environment

This behaviour can potentially be seen inside any environment where the user profiles have been redirected, but it is most likely to be seen inside a Citrix/Terminal Services environment.

Resolving The Problem

Fix:
Implement one of the following fixes:

Method #1
Modify the location of the end user's %APPDATA% variable to a local hard drive (for example the default location = C:\Users\%USERNAME%\AppData\Roaming)

Method #2
Use the new "CacheDir" feature of the local client.

  • One way of doing this is to choose the "cachedir" location during the Controller client installation routine (install wizard). Ensure that this location is configured to be to a local hard drive (for example: C:\Controller_CACHE_files)
  • However, it is also possible to manually configure the 'cachedir' parameter after installing the Controller client.

Steps:
For full details, see separate IBM Technote #1409414.

=====================================================
Workaround (unsupported)
The following workaround is officially unsupported, but some customers have found that it gives them success in their environment.
  • Modify the location of the end user's %APPDATA% variable to a mapped network drive
    • for example: X:\users\%username%\Application Data

TIP:
  • Modifying the %APPDATA% variable is typically configured by a Windows policy, such as an Active Directory user or machine policy.
  • This will be configured by the I.T. network administrator.
=====================================================

[{"Product":{"code":"SS9S6B","label":"IBM Cognos Controller"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Controller","Platform":[{"code":"PF033","label":"Windows"}],"Version":"10.3.1;10.3;10.2.1;10.2.0","Edition":"Not Applicable","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
15 June 2018

UID

swg21386354