Browse FAQs

PME Web Applications give error "Source Measurement list did not load" when trying to add sources or measurements

Published date: 17 February 2020

Issue
PME Web Applications gives error "Source Measurement list did not load" when trying to add sources or measurements onto Dashboards, Trends.  However, Reports will work.  The error message states:

There was an error attempting to load the Source Measurement list from the server.  The application is usable, but no selections can be added or edited.  If this problem persists contact your system administrator.  


The System Log will show errors with the Software Data Processing Service targeting the Active Configuration Host:

Problem creating processor configurations for Rule 'Configuration Rule': System.ArgumentNullException: Value cannot be null. Parameter name: id at System.TimeZoneInfo.FindSystemTimeZoneById(String id) at SE.IONServices.DataProcessor.DataProcessorHostScheduleManager.ConfigurationShouldBeActiveNow(IProcessingConfiguration configuration) at SE.IONServices.DataProcessor.DataProcessorHost.ActivateConfiguration(IProcessingConfiguration configuration) at SE.IONServices.DataProcessor.ActiveConfigurationHost.ActivateRule(ProcessingRule rule)

When looking into the Web Application Diagnostics Log Event, you will find the following errors:

"Could not initialize data source driver. Initialization has failed 1365 time(s). The last exception was: Error initializing cross reference cache."
"A problem occurred on page 'https://emsprod01/SystemDataService/Hierarchy/2015-07/View/AllWithTopics': An error occurred while accessing a system resource or another service. Please try again later."


Product Line
Power Monitoring Expert

Environment
Web Applications

Cause
This occurs if there are sources defined multiple times in the table ApplicaDataSourceBus.DataSourceDevice in the ApplicationModules database and results in the error above when the source/measurement list is loaded in Dashboards and Trends.  This error becomes clarified in the Log Extended Information in Application Modules:

LogClientException: Framework.Common.Exceptions.ModuleException: Error initializing cross-reference cache. ---> Framework.Common.Exceptions.ModuleException: Data Source Device [1-354.E-SSZ2-354-01-002-BMSB-01-MAIN] is defined multiple times.
   at DataSourceDrivers.CrossReferenceCache`2.HandleDataSourceDeviceUpdate(String deviceRepresentation, DsdDevice existingDevice)
   at System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(TKey key, TValue addValue, Func`3 updateValueFactory)
   at DataSourceDrivers.CrossReferenceCache`2.AddDsdDeviceToMap(DsdDevice device)
   at DataSourceDrivers.CrossReferenceCache`2.InitializeDeviceMappings(IEnumerable`1 devices)
   at DataSourceDrivers.CrossReferenceCache`2.Initialize(DsdInitializationData initializationData)
   at DataSourceDrivers.CrossReferenceCache`2..ctor(DataSourceIdentity identity, DsdInitializationData initializationData)
   at DataSourceDrivers.DataSourceInitializer`2.GetCacheFromDataSourceBus()
   --- End of inner exception stack trace ---
   at DataSourceDrivers.DataSourceInitializer`2.GetCacheFromDataSourceBus()
   at DataSourceDrivers.DataSourceInitializer`2.UpdateCache()
   at DataSourceDrivers.DataSourceInitializer`2.PerformInitialization()
   at DataSourceDrivers.DataSourceInitializer`2.Initialize(Int32 dataSourceId, IDataSourceConfiguration configuration, IDataSourceBus dataSourceBus)
   at DataSourceDrivers.DataSourceDriverStateManager.Initialize(IDataSourceBus dataSourceBus, CancellationToken cancellationToken)
   at DataSourceDrivers.DataSourceDriverStateManager.AttemptInitialize(CancellationToken cancellationToken)
   at DataSourceDrivers.DataSourceDriverStateManager.AttemptInitializeTemplate(CancellationToken cancellationToken)
LogClient: DataSourceDrivers::DataSourceDrivers.DataSourceInitializationLogger::LogWarningMessage


Resolution
*Warning: Irreparable database damage can occur. This procedure should only be performed by users familiar with SQL Server Management Studio. Databases should be backed up prior to performing this procedure.*

To fix this issue apply the following steps:
  1. Take a backup of the ApplicationModules database.
  2. Stop the ApplicationModules windows services.
  3. In SQL Server Management Studio run the attached SQL script named 'ApplicationModules-DeleteAllDeviceMetadata.sql' in SQL Server Management Studio (SSMS).
  4. In SSMS, locate the table [ApplicationModules].[DataSourceBus].[DataSourceDevice].  Identify the fields that have duplicated DataSourceRepresentation and note down the associated DataSourceDeviceId.  
  5. Execute the query below to delete duplicate devices in the database.  In this example, DataSourceDeviceId 10351 related to the previously mentioned source 1-354.E-SSZ2-354-01-002-BMSB-01-MAIN.
    USE [ApplicationModules]
    Delete from DataSourceBus.DataSourceDevice where DatasourcedeviceId = 10351
    Delete from DataSourceBus.LogicalDevice where logicaldeviceId = 10351
  6. Start the ApplicationModules services
Launch Web Applications and create a new dashboard, source/measurement lists should appear.

Was this helpful?

What can we do to improve the information ?

Can't find what you are looking for?

Reach out to our customer care team to receive information on technical support, assistance for complaints and more.