I ran into a truly weird error today. I was building a very simple test script to load up my cache system with a lot of crap. This was the script I used:
<cfloop index="x" from="1" to="3000">
<cfset id = "cache_#x#">
<cfset cached = cacheGet(id)>
<cfif isNull(cached)>
<cfset value = createUUID() & createUUID() & createUUID() &
repeatString("foo", 250)>
<cfset cachePut(id, value)>
</cfif>
</cfloop>
Nothing crazy there, right? Well upon running this code I immediately got:
IP_ADD_MEMBERSHIP failed (out of hardware filters?)
net.sf.ehcache.CacheException: IP_ADD_MEMBERSHIP failed (out of hardware filters?)
at
net.sf.ehcache.distribution.MulticastRMICacheManagerPeerProvider.init(MulticastRMICacheManagerPeerProvider.java:93)
at net.sf.ehcache.CacheManager.init(CacheManager.java:241)
at net.sf.ehcache.CacheManager.(CacheManager.java:221)
I googled - and ran across a few things, but nothing made sense until Brian Kotek pointed out the following URL:
Error on MulticastSocket.joinGroup()
This led to the following Microsoft Tech Note:
How to disable the Media Sensing feature for TCP/IP in Windows
And that did the trick. This "Media Sense" feature (which by the way impacted my Windows machine but not a coworker) was the culprit. As soon as I did the regedit (wow, it's been a long time since I did one of those) and rebooted, everything worked perfectly.