Hi,
I use Voice Attack with the EDDI and bindED plugins, and after making a (somewhat simple) VA command, VA crashes randomly when the command is executed.
The VoiceAttackFault.txt has nothing in it (other than something from 3 years ago), but the EDDI log has an unhandled exception error that mentions VA, just before it does a clean shutdown from the crash.
Here's the last part from the error log:
2021-04-27T17:50:42 [Info] VoiceAttackPlugin:triggerVACommands Executed command ((EDDI ship targeted))
2021-04-27T17:50:42 [Info] VoiceAttackPlugin:triggerVACommands Executed command ((EDDI ship targeted))
2021-04-27T17:50:43 [Info] Logging:ExceptionHandler Reporting unhandled exception, anonymous ID 20c709fe-25a2-4ae4-91fd-7bf6051d42e5:System.ArgumentException: An item with the same key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at VoiceAttack.VA.()
at VoiceAttack.VA.(String , Command2 )
at VoiceAttack.VA.(Command2 , Process , Int32 , Boolean , Nullable`1 , Guid , Guid , List`1 , Command2 )
at VoiceAttack.VA..()
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()
2021-04-27T17:50:43 [Info] EDDI:Stop EDDI 3.7.3 stopped
2021-04-27T17:50:43 [Info] EDDI:Start Starting keepalive for EDDP monitor
2021-04-27T17:50:43 [Info] EDDI:Start Starting keepalive for Status monitor
2021-04-27T17:50:43 [Info] EDDI:Start Started EDDN responder
2021-04-27T17:50:43 [Info] EDDI:Start Starting keepalive for Galnet monitor
2021-04-27T17:50:43 [Info] EDDI:Start Starting keepalive for Mission monitor
2021-04-27T17:50:43 [Info] EDDI:Start Starting keepalive for Journal monitor
2021-04-27T17:50:43 [Info] EDDI:Start Started Speech responder
2021-04-27T17:50:43 [Info] EDDI:Start Started Inara Responder
2021-04-27T17:50:43 [Info] EDDI:Start Started EDSM responder
2021-04-27T17:50:43 [Info] EDDI:Start Started VoiceAttack responder
2021-04-27T17:50:43 [Info] InaraResponder:Start Initialized Inara Responder
2021-04-27T17:50:44 [Info] DataProviderService:syncFromStarMapService EDSM sync completed
The command that is run when this happens, is a simple multi-part IF that checks some variables already set by EDDI, then does a keypress if they resolve to 'true', either an bindED variable key, or a default key if bindED is not set. I do notice that the command looks like it is being run twice in the same second, when it is only being activated once, so I'm not sure if that has anything to do with it. It only appears once in the log when it activates and doesn't crash.
Pause 0.1 seconds
Begin Condition : ([EDDI state eddi_context_target_module] Equals False AND [EDDI state eddi_context_stop_cycle] Is Less Than 2 AND [EDDI state eddi_context_target_wanted] Equals True)
Begin Text Compare : [edCycleNextSubsystem] Has Been Set
Press variable key(s) [edCycleNextSubsystem] and hold for 0.2 seconds and release
Else
Press Y key and hold for 0.2 seconds and release
End Condition
End Condition
The thing is, I can run this command all day with nothing going wrong, then the next time I load up it will happen, then not again for hours. It's so random, and I'm at a loss as to why.
I tried adding the 0.1 second pause at the start of the VA command, in case it was a timing issue, and I thought that had fixed it as I went two days without it happening. However, I've tried to use it today, and it's happening again.
Can anyone help with this at all please? Also, please bear in mind I am a complete VA noob, and only use the bare minimum of VA to get what I want done, so I don't know much about the more complex things about it.