The Scheduler services keeps crashing and restarting by itself.
Running tasks results in error:
No slave scheduler foundThe Windows Event logs show errors similar to these:
Faulting application name: Scheduler.exe, version: 2.0.1.0, time stamp: 0x5582fc47
Faulting module name: KERNELBASE.dll, version: 6.2.9200.17366, time stamp: 0x554d4531
Exception code: 0xe0434352
Fault offset: 0x000000000004aea8
Faulting process id: 0x14c4
Faulting application start time: 0x01d13d01f2d3b6dd
Faulting application path: C:\Program Files\Qlik\Sense\Scheduler\Scheduler.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: 3d8e5b73-a8f5-11e5-941c-00505699697c
and/or
Application: Scheduler.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException
Stack:
at System.Diagnostics.PerformanceCounterLib.CounterExists(System.String, System.String, System.String)
at System.Diagnostics.PerformanceCounter.InitializeImpl()
at System.Diagnostics.PerformanceCounter.NextSample()
at System.Diagnostics.PerformanceCounter.NextValue()
at Scheduler.Domain.LoadBalancing.PerformanceMonitorSingleton.CalculateLoad()
at System.Action.Invoke()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()
The program crashes when it tries to access a system Performance Counter in order to assess load balancing (this happens even on a single-node setup).
The counter is the one identified as:
{{ CategoryName = "Processor",}}
{{ CounterName = "% Processor Time",}}
{{ InstanceName = "_Total"}}
It can also occur if the Qlik Service User Account (that runs all Services which begin with "Qlik") was changed from the default Qlik account used to do the initial installation of Qlik Sense... or if the password for the Qlik user account changed in A.D. however it was not updated on the server and QMC. Merely changing which account runs the services to another account (even if it's a domain admin account) will cause many issues as there is a full process that must be followed in order to update all aspects of the product, database, services, folder rights, etc.
Try the following solutions in succession:
Solution 1:
- Launch an elevated command prompt
- Run command: lodctr /R
- should this generate an "Unable to rebuild performance counter setting from system backup store, error code is 2", move to directory SysWOW64 (cd ..\syswow64) and retry the lodctr /R command in this directory
This will rebuild the performance counters.
Solution 2:Check that the performance counters have not been disabled.
Launch Regedit, go to
HKLM\System\CurrentControlSet\Services\PerfOS\Performance and look for a key that says something like "
DisablePerformanceCounters". When viewing this registry key, any value other than 0 indicates the counters have been disabled. If any changes have to be made, it is very important to restart the server/computer so that the changes can be applied.
A value of 1 means the counter is disabled.
A value of 2 means the 32-bit counter is disabled.
A value of 4 measn the 64-bit counter is disabled.
While the above is the global setting, you might also have to verify the same settings specifically for the service, under
HKLM\System\CurrentControlSet\Services\Qlik Sense Scheduler Service\Performancehttps://support.microsoft.com/en-us/kb/2554336
https://msdn.microsoft.com/en-us/library/windows/desktop/aa371643%28v=vs.85%29.aspx
Solution 3:
Ensure that the user running the Scheduler process has the proper rights to read the Performance Counter. Microsoft's documentation states that:
"To read performance counters, you must have administrative privileges. User Account Control (UAC) determines the privileges of a user."
Solution 4:
- Verify if the user account running the server services that begin with "Qlik" has been changed, since the original installation, or if it's password has expired.
- It can occur if the Qlik Service User Account (that runs all Services which begin with "Qlik") was changed from the default Qlik account used to do the initial installation of Qlik Sense. Merely changing which account runs the services to another account (even if it's a domain admin account) will cause many issues as there is a full process that must be followed in order to update all aspects of the product, database, services, folder rights, etc.