emcodem Posted January 19, 2024 Posted January 19, 2024 Not sure how to start this but it appears that after we changed to the current Autoit Beta, we experience once in a while that autoit processes hang forever on the Line ObjCreate("winhttp.winhttprequest.5.1") The thing is, there are thousands of instances of this script executed daily but we only have hangs once in a while, e.g. 1 per week. As the problem does not occur very often, it took us months to even find out which line is the one where it hangs. The RAM usage of the executing process (we use a compiled autoit exe with /autoit3executescriupt flag to actually start the script of interest. According to Windows Task manager, the hanging process has 152kb Memory usage. This is pretty strange, i would expect the script to use at least 12mb, so i don't know in which state the process is. Also the memory used does not change and there is no CPU utilisation and also nothing that procmon can pick up for the affected process. Since the switch to the new Autoit Beta, we also have seen hangs forever at the end of the script (we workaround by taskkilling the own pid) and there seems to be at least one other similar issue with another code line which we could not yet pin (Looks like _WinAPI_EnumChildProcess() is guilty but we can not yet confirm this). Now, we are not 100% sure if this is an autoit bug or it is something caused by some windows misbehaviour but we seen these hangs forever at least on 2 completely different systems in different countries even. Our codebase is huge so it does not make sense to share any script here, it has grown very much over years, project name is ffastrans. I kicked off long time tests that just do while true ObjeCreate... but i am not sure if i can reproduce it this way as the productive script does so much stuff before and after the affected code line which could or could not influence the behaviour. Any ideas how we could further debug this? It would at least be good to find out if it is Autoit or Windows that is misbehaving here... Use FFAStrans.
Nine Posted January 19, 2024 Posted January 19, 2024 There is a lot of warning flags that are raised when reading your post. First of all, why do you need beta ? Is there a functionality that you cannot find in latest stable version that you absolutely need ? Second, you say that you are launching thousands of processes, maybe you should reconsider the logic of your approach. Windows is not the ideal OS to handle such a large volume of computing... Third, I hardly believe that a ObjCreate("winhttp.winhttprequest.5.1") would cause by itself a hang, as millions of ppl use this object daily (in AutoIt or not). It is most likely that you are exceeding some OS limitation. Forth, without a representative script that causes the error, we can only guess what would be the problem, if problem is. Don't post thousands of lines of code, nobody will read it. FWIW, when face to an unsolvable issue, you need to restart from very small (make extensive logs and long term stretch tests), increase in complexity, till you find where the problem resides. “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Debug Messages Monitor UDF Screen Scraping Round Corner GUI UDF Multi-Threading Made Easy Interface Object based on Tag
argumentum Posted January 20, 2024 Posted January 20, 2024 2 hours ago, emcodem said: it appears that after we changed to the current Autoit Beta There is no new public beta for download. Those have a historical value, if any. Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting.
emcodem Posted January 20, 2024 Author Posted January 20, 2024 (edited) Thanks a lot for the fast replies. Oh sorry, i was of course wrong, we use the 3.3.16.1 release now. We changed to it (first there was the beta used because it was not released yet) from the last working very old autoit release version mainly because the associative array feature was so appealing i believe. Honestly i voted for rewriting everything in a more modern language and linux support too but the team is not on my side with that so we stick with autoit. However, we cannot reproduce the problem at will so currently we can post minimal code for reproducing the problem. OK so i'll just continue as i did the last months, trying my chances once every week to narrow down and try to make it reproduceable but i guess we will end up in working around instead of finding the cause unfortunately Edited January 20, 2024 by emcodem Use FFAStrans.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now