GenieClient / genie3

This Organization of Genie Client is a Community focused development of Conny's Open Source Version of GenieClient
GNU General Public License v3.0
4 stars 2 forks source link

Starting a new script has a chance to throw a "Unable to aquire writer lock" error, which can occasionally crash the client itself. #7

Open hubConnect opened 2 years ago

scottr1634 commented 2 years ago

I'm seeing this issue as well, especially when a script launches another script.

hubConnect commented 2 years ago

I've definitely also seen this mostly in the cases of scripts starting other scripts.

Seems like this one is on the form itself and is probably related to merging the two lists together https://github.com/GenieClient/genie3/blob/main/Forms/FormMain.cs#L3003

hubConnect commented 2 years ago

I wonder though, if the UI freeze itself could actually be related to the way that Genie is handling exceptions in general?

scottr1634 commented 2 years ago

Exceptions tend to be expensive in general, looks like c# is no, uh, exception:

"exceptions are at least 30,000 times slower than return codes" - source

scottr1634 commented 2 years ago

Quick note that I can actually replicate this behavior in the original genie client if I launch scripts from scripts using put .myscript but not when using send .myscript. But in our fork, I'm seeing the issue with send .myscript as well.