AppFabric 1.1 Caching (crashing windows service)
Solution 1
I've managed to find out what was the reason.
In my Windows host file I had several entries for loopback IP: localhost, {machine name} and {machine name FQDN}. When I removed all but {machine name FQDN}, configuration wizard was able to set up a proper configuration.
This was the easy way, but I learned that later...
My first (and more painful) way to fix the problem was to remove Caching Service configuration manually and re-create it from scratch using PowerShell cmdlets:
Import-Module ApplicationServer
Import-Module DistributedCacheAdministration
Import-Module DistributedCacheConfiguration
New-CacheCluster ...
Register-CacheHost ...
Add-CacheHost ...
Add-CacheAdmin ...
etc.
Service starts proplerly, but sadly, when I verify setup with Get-CacheHost, I receive:
HostName : CachePort Service Name Service Status Version Info
-------------------- ------------ -------------- ------------
MW7GM0B50ROMDQ.<domain part>:22233 AppFabricCachingService UP 0 [0,0][0,0]
If you look at version number, you'd see that it's most likely improper. Unfortunately, when I try to update this info manually (‘Update-CacheHostAllowedVersions’), I get odd looking ‘access-denied’ errors:
Update-CacheHostAllowedVersions : ErrorCode<ERRCAdmin026>:SubStatus<ES0001>:Remote registry access failed on host MW7GM0B50ROMDQ.<domain part>. Check if the required permissions are available and the host is not down.
I have to make some more tests to find out if it's really a problem or just annoyance.
Solution 2
I've faced a similar/same issue but fixing of HOST didn't help. Core of my problem was my server has long (8+ chars) name. It was trimmed when the Cache was configured.
First useful hint was Get-CacheHost
output where the name was incorrect. Then solution was easy:
Export-CacheClusterConfig -Path <path>\config.xml
- Edit file and fix your hostname
Import-CacheClusterConfig -Path <path>\config.xml
Start-CacheCluster
Sebastian Gebski
Updated on June 15, 2022Comments
-
Sebastian Gebski almost 2 years
I have a test installation of AppFabric 1.1 x64 (Hosting + Cache) on a single machine (domain-registered, Windows 7 Enterprise). Installation and configuration went flawlessly (cluster with just 1 machine, configuration stored in SQL), I'm running everything locally (including SQL Server 2008 R2). Problem occurs when I want to start "AppFabric Caching Service" - it crashes after few seconds and following entries appear in Administrative Events (in Event Viewer):
Faulting application name: DistributedCacheService.exe, version: 1.0.4632.0, time stamp: 0x4eafeccf Faulting module name: KERNELBASE.dll, version: 6.1.7601.17651, time stamp: 0x4e21213c Exception code: 0xe0434352 Fault offset: 0x000000000000cacd Faulting process id: 0x1928 Faulting application start time: 0x01ccb8c5266c0fd5 Faulting application path: C:\Program Files\AppFabric 1.1 for Windows Server\DistributedCacheService.exe Faulting module path: C:\Windows\system32\KERNELBASE.dll Report Id: 6457890a-24b8-11e1-b051-70f1a19c8456
and
Application: DistributedCacheService.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.UriFormatException Stack: at Microsoft.ApplicationServer.Caching.VelocityWindowsService.StartServiceCallback(System.Object) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
and
AppFabric Caching service crashed with exception {System.UriFormatException: Invalid URI: The hostname could not be parsed. at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind) at Microsoft.ApplicationServer.Caching.ServiceConfigurationManager.InitializeThisHostData() at Microsoft.ApplicationServer.Caching.ServiceConfigurationManager.InitializeDataFromGlobalConfig() at Microsoft.ApplicationServer.Caching.VelocityWindowsService.StartService(Boolean deleteTKT) at Microsoft.ApplicationServer.Caching.VelocityWindowsService.StartServiceCallback(Object context) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()}. Check debug log for more information
Here's the output from basic PowerShell commands:
Get-CacheHost
HostName : CachePort Service Name Service Status Version Info -------------------- ------------ -------------- ------------ MW7GM0B50ROMDQ:22233 AppFabricCachingService DOWN 3 [3,3][1,3]
Get-CacheHostConfig
cmdlet Get-CacheHostConfig at command pipeline position 1 Supply values for the following parameters: HostName: MW7GM0B50ROMDQ CachePort: 22233 HostName : MW7GM0B50ROMDQ ClusterPort : 22234 CachePort : 22233 ArbitrationPort : 22235 ReplicationPort : 22236 Size : 3994 MB ServiceName : AppFabricCachingService HighWatermark : 99% LowWatermark : 90% IsLeadHost : True
Caching Service is set up to be running as Network Service.
Do you have any clue what may be wrong? I've seen "Invalid URI: The hostname could not be parsed." message, but name in configuration seems to be perfectly ok (even if it looks odd, it's a proper name of my computer). Any help would be appreciated.
P.S. I had AppFabric 1.0 before and it seemed to work fine. I've uninstalled it before installing AppFabric 1.1.
-
Sebastian Gebski over 12 yearsI've managed to set a proper version info, but... Sadly, client connecting causes AppFabric Caching Service crash with an interesting comment: "Invalid enum value 'AdditionalRoutingProps' cannot be deserialized into type 'Microsoft.ApplicationServer.Caching.NamedCacheProperty'". I've raised the issue to Microsoft, maybe they will be able to help.
-
Sebastian Gebski over 12 yearsProblem solved. AppFabric's DLLs in GAC are still the ones installed in 1.0 distribution. One can find 1.1 DLLs only in AppFabric's directory in Program Files (or wherever you've chosen to install it). To summarize - I was (not intentionally) trying to access 1.1 server with 1.0 client. After updating the references in the project, everything works well.
-
Dribbel over 9 yearsThanks! This saved me, removing an entry from the HOSTS-file resolved my problems. I had an entry with only {machinename}, once removed everything started to work.
-
Olivier MATROT over 8 yearsIn my case, my desktop computer has been moved to another domain. The fix is the same as the host name is a dns name.