Author Topic: Crash at VoiceAttack.frmMain  (Read 1394 times)

Egil Sandfeld

  • Newbie
  • *
  • Posts: 25
Crash at VoiceAttack.frmMain
« on: February 08, 2021, 12:18:56 PM »
I hate to bother you guys with this, but I've been running into dead ends since the end of December with another user of DRE.

This issue is not the same as the other error (ntdll.dll) as this has now been resolved and recently fixed, as that user now reports things to work with the latest DRE 3.3.3.10 (an internal hotfix for him so far).

The same 3.3.3.10 version has been sent to my second user that still experience crashes and this is what is returned when the crash happens (both by internal DRE logging + VAFault.txt):

Code: [Select]
LogUnhandledException error: Tyypin System.OutOfMemoryException poikkeus.
-- - Unhandled exception in The Digital Race Engineer v1.0.0.0
Inner msg: 
TargetSite: Void StartInternal(System.Security.Principal.IPrincipal, System.Threading.StackCrawlMark ByRef)
Inner TargetSite: 
StackTrace:    kohteessa System.Threading.Thread.StartInternal(IPrincipal principal, StackCrawlMark& stackMark)
   kohteessa System.Threading.Thread.Start(StackCrawlMark& stackMark)
   kohteessa System.Threading.Thread.Start()
   kohteessa VoiceAttack.frmMain.(Command2 , Process , Boolean , Boolean , Int32 , Boolean , Nullable`1 , Guid , Guid , List`1 , Command2 )
   kohteessa VoiceAttack.frmMain.–.()
   kohteessa System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   kohteessa System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   kohteessa System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   kohteessa System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   kohteessa System.Threading.ThreadHelper.ThreadStart()
   Inner StackTrace:

VAFault.txt also includes the following at the end of the log:
Code: [Select]
***VoiceAttack v1.8.7 - Windows 10.0.19041.0
Unable to access plugin information [Indeksi oli sallitun alueen ulkopuolella. Indeksi ei saa olla negatiivinen, ja sen on oltava kokoelmaa pienempi. THIS LINE IN ENGLISH --> The index was out of range. The index must not be negative and must be smaller than the collection.
Parametrin nimi: index]

As a reference, please see my code for generating the above text log, which attempts to include inner messages and stack traces:
Pastebin of the code snippet to catch unhandled errors in DRE dll.

I just cannot seem to provoke the exceptions to provide me with more info than this.
The user experiences the crash more or less around the same time in a racing session, so you would think it would be reproducible, but I have no leads on what area to look in. I have 100+ other users that don't experience this issue at all, where everything seems to run smooth.

I'm not sure what steps to take from here, but some questions for you:

  • Have you seen this issue before?
  • Out of Memory at a new Thread.Start - does it run out of memory from spawning new plugin instances?
  • Is there any issue with a VA plugin creating new threads on its own?

Gary

  • Administrator
  • Hero Member
  • *****
  • Posts: 2827
Re: Crash at VoiceAttack.frmMain
« Reply #1 on: February 08, 2021, 01:28:55 PM »
I've seen out of memory errors before - but if your plugin is crashing due to memory issues, you've got a leak somewhere.  Your one out of 100 user has a condition that you've not accounted for yet.  A plugin function call is a simple function call into a dll, passing a simple proxy object that covers a few of VA's functions within its own thread.  If you're calling plugin functions over and over again and not properly cleaning up objects, this would be a leak and would ultimately result in an out of memory crash of the application.  There should be no problem with a plugin having its own threads - but, again - if things are not being cleaned up properly, it will crash.

The last line of the fault file is just indicating that VA wasn't able to grab the plugin information properly during a caught unhandled exception (and can be ignored).

Egil Sandfeld

  • Newbie
  • *
  • Posts: 25
Re: Crash at VoiceAttack.frmMain
« Reply #2 on: February 20, 2021, 02:09:06 PM »
Indeed you were right. Managed to find the issue which was an IOException turning into this message as we saw.

The user reports it's working now.
Thanks for being clear about where the issue came from

Gary

  • Administrator
  • Hero Member
  • *****
  • Posts: 2827
Re: Crash at VoiceAttack.frmMain
« Reply #3 on: February 20, 2021, 03:29:21 PM »
Awesome!

Thanks for the update, Egil :)