Octopus Tentacle Crashing, null key

We have octopus running in AWS with some windows nodes for deploys. I just scaled a new node and it registers with octopus then it begins crashing whenever I try to do anything that forces the server and node to communicate.

Tentacle version 3.14.15

Stack Trace:
2017-06-21 17:31:05.2242 9 INFO [] [RunningScript] [Read Lock] [no locks] Trying to acquire lock.
2017-06-21 17:31:05.6461 9 FATAL Unhandled AppDomain exception occurred: Value cannot be null.
Parameter name: key
System.ArgumentNullException
at System.Collections.Concurrent.ConcurrentDictionary2.TryAdd(TKey key, TValue value) at Octopus.Shared.Scripts.ScriptIsolationMutex.TaskLock.TryEnterReadLock(String taskId, TimeSpan timeout, CancellationToken cancellationToken, IDisposable& releaseLock) at Octopus.Shared.Scripts.ScriptIsolationMutex.ScriptIsolationMutexReleaser.EnterReadLock() at Octopus.Shared.Scripts.ScriptIsolationMutex.ScriptIsolationMutexReleaser.EnterLock() at Octopus.Shared.Scripts.ScriptIsolationMutex.Acquire(ScriptIsolationLevel isolation, TimeSpan mutexAcquireTimeout, String lockName, Action1 taskLog, String taskId, CancellationToken token)
at Octopus.Shared.Scripts.RunningScript.Execute()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
System.ArgumentNullException: Value cannot be null.
Parameter name: key
at System.Collections.Concurrent.ConcurrentDictionary2.TryAdd(TKey key, TValue value) at Octopus.Shared.Scripts.ScriptIsolationMutex.TaskLock.TryEnterReadLock(String taskId, TimeSpan timeout, CancellationToken cancellationToken, IDisposable& releaseLock) at Octopus.Shared.Scripts.ScriptIsolationMutex.ScriptIsolationMutexReleaser.EnterReadLock() at Octopus.Shared.Scripts.ScriptIsolationMutex.ScriptIsolationMutexReleaser.EnterLock() at Octopus.Shared.Scripts.ScriptIsolationMutex.Acquire(ScriptIsolationLevel isolation, TimeSpan mutexAcquireTimeout, String lockName, Action1 taskLog, String taskId, CancellationToken token)
at Octopus.Shared.Scripts.RunningScript.Execute()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Firewall ports are setup fine, security groups are fine as well (this is the only node that is having issues). I have compared config files etc with working nodes and everything seems to match.

This is EXACTLY the issue I am seeing right now with new node with new tentacle:

2017-06-21 15:02:54.2571 10 FATAL Unhandled AppDomain exception occurred: Value cannot be null.
Parameter name: key
System.ArgumentNullException
at System.Collections.Concurrent.ConcurrentDictionary2.TryAdd(TKey key, TValue value) at Octopus.Shared.Scripts.ScriptIsolationMutex.TaskLock.TryEnterReadLock(String taskId, TimeSpan timeout, CancellationToken cancellationToken, IDisposable& releaseLock) at Octopus.Shared.Scripts.ScriptIsolationMutex.ScriptIsolationMutexReleaser.EnterReadLock() at Octopus.Shared.Scripts.ScriptIsolationMutex.ScriptIsolationMutexReleaser.EnterLock() at Octopus.Shared.Scripts.ScriptIsolationMutex.Acquire(ScriptIsolationLevel isolation, TimeSpan mutexAcquireTimeout, String lockName, Action1 taskLog, String taskId, CancellationToken token)
at Octopus.Shared.Scripts.RunningScript.Execute()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
System.ArgumentNullException: Value cannot be null.
Parameter name: key
at System.Collections.Concurrent.ConcurrentDictionary2.TryAdd(TKey key, TValue value) at Octopus.Shared.Scripts.ScriptIsolationMutex.TaskLock.TryEnterReadLock(String taskId, TimeSpan timeout, CancellationToken cancellationToken, IDisposable& releaseLock) at Octopus.Shared.Scripts.ScriptIsolationMutex.ScriptIsolationMutexReleaser.EnterReadLock() at Octopus.Shared.Scripts.ScriptIsolationMutex.ScriptIsolationMutexReleaser.EnterLock() at Octopus.Shared.Scripts.ScriptIsolationMutex.Acquire(ScriptIsolationLevel isolation, TimeSpan mutexAcquireTimeout, String lockName, Action1 taskLog, String taskId, CancellationToken token)
at Octopus.Shared.Scripts.RunningScript.Execute()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Yes i just started getting this yesterday. Only just noticed they put a new version out then. My scripts just pull the latest when they deploy. So manually went back to 3.14.1 and no problems.

Hi everyone,

We are very sorry you have encountered this issue. We broke Tentacle compatibility in Tentacle version 3.14.15 with old Server versions. This has been fixed in 3.14.159 which is now available for download. Please accept our apologies.

Cheers,
Shane