Crash… crash… crash…

Post AHK_H specific scripts & libraries and discuss the usage and development of HotKeyIt's fork/branch
User avatar
Drugwash
Posts: 567
Joined: 29 May 2014, 21:07
Location: Ploieşti, Romania

Crash… crash… crash…

Post by Drugwash » 22 Jan 2018, 20:04

Is the 1.1.27 line cursed or something…? Too many bugfixes.
1.1.27.07 is crashing a script on restart. 1.1.27.06 doesn't.
I've established the crash is due to new threads creation in the beginning of the script.

Threads are started through global var := ahkThread(" #Include *i <path-to-AHK-script> ").
Threads are terminated through var.Terminate[] before the Reload command.
I've also tried with ahkThread_Free(var), var := "" as per documentation, to no avail (Why is it online only? I want offline documentation, my connection is metered and shitty).

Is there anything more/different to do in the script to avoid the crash or is it an AHK_H bug?

Fogot to say: happening in XP-SP3 Pro x86, obviously 32bit AHK_H 1.1.27.07 (Unicode).
I've deleted my CloudMe account because of GDPR - the now legal base for privacy invasion and data theft.
HotKeyIt
Posts: 1696
Joined: 29 Sep 2013, 18:35
Contact:

Re: Crash… crash… crash…

Post by HotKeyIt » 25 Jan 2018, 00:59

Can't reproduce that on Win 10, can you give me an example script.
User avatar
Drugwash
Posts: 567
Joined: 29 May 2014, 21:07
Location: Ploieşti, Romania

Re: Crash… crash… crash…

Post by Drugwash » 25 Jan 2018, 04:39

A download link was already mentioned in the first post. It's KeypressOSD.
Direct download link: here
GitHub repository: here

It may not crash on Win10 but it does on XP, as mentioned. Since 1.1.27.06 and earlier don't crash the same script, it's obvious one of the latest changes triggers it. Unfortunately Dr.Watson doesn't catch it. All I can show is this:
AHKH112707crash.png
AHKH112707crash.png (60.57 KiB) Viewed 923 times
If I disable creation of one thread in the beginning of the script it will crash when trying to create the next, and so on (I put OutputDebug checkpoints before and after each thread creation).
If I completely disable creation of threads in the beginning of the script it will not crash anymore on restart.
Disabling the OnMessage() calls has no effect, it still crashes.
I've deleted my CloudMe account because of GDPR - the now legal base for privacy invasion and data theft.
HotKeyIt
Posts: 1696
Joined: 29 Sep 2013, 18:35
Contact:

Re: Crash… crash… crash…

Post by HotKeyIt » 26 Jan 2018, 07:18

Unfortunately I can't test on XP for the moment, I could build you a debug version and you could try to debug using windbg or similar.
User avatar
Drugwash
Posts: 567
Joined: 29 May 2014, 21:07
Location: Ploieşti, Romania

Re: Crash… crash… crash…

Post by Drugwash » 26 Jan 2018, 07:31

Minutes ago I remembered Dependency Walker, compiled the latest version of the script and ran a profiler. To my surprise, the compiled exe simply exited due to some errors. Here is the DW log of the failed launch:

Code: Select all

--------------------------------------------------------------------------------
Starting profile on 26.01.2018 at 14:15:49

Operating System: Microsoft Windows XP Professional (32-bit), version 5.01.2600 Service Pack 3
Program Executable: c:\documents and settings\home\local settings\temp\_ahktests\keypressosd\KEYPRESS-OSD-AHKH 4.13.0.2.EXE
Program Arguments: 
Starting Directory: C:\Documents and Settings\home\Local Settings\Temp\_AHKtests\KeyPressOSD\
Search Path: C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem

Options Selected:
     Simulate ShellExecute by inserting any App Paths directories into the PATH environment variable.
     Log DllMain calls for process attach and process detach messages.
     Log DllMain calls for all other messages, including thread attach and thread detach.
     Hook the process to gather more detailed dependency information.
     Log LoadLibrary function calls.
     Log GetProcAddress function calls.
     Log thread information.
     Use simple thread numbers instead of actual thread IDs.
     Log first chance exceptions.
     Log debug output messages.
     Automatically open and profile child processes.
--------------------------------------------------------------------------------

Started "KEYPRESS-OSD-AHKH 4.13.0.2.EXE" (process 0x8C8) at address 0x00400000 by thread 1.  Successfully hooked module.
Loaded "NTDLL.DLL" at address 0x7C900000 by thread 1.  Successfully hooked module.
Loaded "KERNEL32.DLL" at address 0x7C800000 by thread 1.  Successfully hooked module.
DllMain(0x7C900000, DLL_PROCESS_ATTACH, 0x00000000) in "NTDLL.DLL" called by thread 1.
DllMain(0x7C900000, DLL_PROCESS_ATTACH, 0x00000000) in "NTDLL.DLL" returned 1 (0x1) by thread 1.
DllMain(0x7C800000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNEL32.DLL" called by thread 1.
DllMain(0x7C800000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNEL32.DLL" returned 1 (0x1) by thread 1.
Injected "DEPENDS.DLL" at address 0x08370000 by thread 1.
DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL" called by thread 1.
DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL" returned 1 (0x1) by thread 1.
Loaded "WSOCK32.DLL" at address 0x71AD0000 by thread 1.  Successfully hooked module.
Loaded "WS2_32.DLL" at address 0x71AB0000 by thread 1.  Successfully hooked module.
Loaded "ADVAPI32.DLL" at address 0x77DD0000 by thread 1.  Successfully hooked module.
Loaded "RPCRT4.DLL" at address 0x77E70000 by thread 1.  Successfully hooked module.
Loaded "SECUR32.DLL" at address 0x77FE0000 by thread 1.  Successfully hooked module.
Loaded "MSVCRT.DLL" at address 0x77C10000 by thread 1.  Successfully hooked module.
Loaded "WS2HELP.DLL" at address 0x71AA0000 by thread 1.  Successfully hooked module.
Loaded "WINMM.DLL" at address 0x76B40000 by thread 1.  Successfully hooked module.
Loaded "GDI32.DLL" at address 0x77F10000 by thread 1.  Successfully hooked module.
Loaded "USER32.DLL" at address 0x7E410000 by thread 1.  Successfully hooked module.
Loaded "VERSION.DLL" at address 0x77C00000 by thread 1.  Successfully hooked module.
Loaded "COMCTL32.DLL" at address 0x773D0000 by thread 1.  Successfully hooked module.
Loaded "SHLWAPI.DLL" at address 0x77F60000 by thread 1.  Successfully hooked module.
Loaded "CRYPT32.DLL" at address 0x77A80000 by thread 1.  Successfully hooked module.
Loaded "MSASN1.DLL" at address 0x77B20000 by thread 1.  Successfully hooked module.
Loaded "PSAPI.DLL" at address 0x76BF0000 by thread 1.  Successfully hooked module.
Loaded "COMDLG32.DLL" at address 0x763B0000 by thread 1.  Successfully hooked module.
Loaded "SHELL32.DLL" at address 0x7C9C0000 by thread 1.  Successfully hooked module.
Loaded "OLE32.DLL" at address 0x774E0000 by thread 1.  Successfully hooked module.
Loaded "OLEAUT32.DLL" at address 0x77120000 by thread 1.  Successfully hooked module.
Loaded "MSVCR100.DLL" at address 0x78AA0000 by thread 1.  Successfully hooked module.
Entrypoint reached. All implicit modules have been loaded.
DllMain(0x77FE0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "SECUR32.DLL" called by thread 1.
DllMain(0x77FE0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "SECUR32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77E70000, DLL_PROCESS_ATTACH, 0x009FFD30) in "RPCRT4.DLL" called by thread 1.
DllMain(0x77E70000, DLL_PROCESS_ATTACH, 0x009FFD30) in "RPCRT4.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77DD0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "ADVAPI32.DLL" called by thread 1.
DllMain(0x77DD0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "ADVAPI32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77C10000, DLL_PROCESS_ATTACH, 0x009FFD30) in "MSVCRT.DLL" called by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "InitializeCriticalSectionAndSpinCount") called from "MSVCRT.DLL" at address 0x77C379C2 and returned 0x7C80B8C9 by thread 1.
DllMain(0x77C10000, DLL_PROCESS_ATTACH, 0x009FFD30) in "MSVCRT.DLL" returned 1 (0x1) by thread 1.
DllMain(0x71AA0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "WS2HELP.DLL" called by thread 1.
DllMain(0x71AA0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "WS2HELP.DLL" returned 1 (0x1) by thread 1.
DllMain(0x71AB0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "WS2_32.DLL" called by thread 1.
DllMain(0x71AB0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "WS2_32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x71AD0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "WSOCK32.DLL" called by thread 1.
DllMain(0x71AD0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "WSOCK32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x7E410000, DLL_PROCESS_ATTACH, 0x009FFD30) in "USER32.DLL" called by thread 1.
LoadLibraryW("C:\WINDOWS\system32\IMM32.DLL") called from "USER32.DLL" at address 0x7E44DF6E by thread 1.
Loaded "IMM32.DLL" at address 0x76390000 by thread 1.  Successfully hooked module.
DllMain(0x76390000, DLL_PROCESS_ATTACH, 0x00000000) in "IMM32.DLL" called by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmWINNLSEnableIME") called from "USER32.DLL" at address 0x7E43D476 and returned 0x7639E679 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmWINNLSGetEnableStatus") called from "USER32.DLL" at address 0x7E43D48B and returned 0x7639E6A0 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSendIMEMessageExW") called from "USER32.DLL" at address 0x7E43D4A0 and returned 0x7639EB34 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSendIMEMessageExA") called from "USER32.DLL" at address 0x7E43D4B5 and returned 0x7639EB4F by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmIMPGetIMEW") called from "USER32.DLL" at address 0x7E43D4CA and returned 0x7639E769 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmIMPGetIMEA") called from "USER32.DLL" at address 0x7E43D4DF and returned 0x7639E79D by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmIMPQueryIMEW") called from "USER32.DLL" at address 0x7E43D4F4 and returned 0x7639E804 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmIMPQueryIMEA") called from "USER32.DLL" at address 0x7E43D509 and returned 0x7639E90C by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmIMPSetIMEW") called from "USER32.DLL" at address 0x7E43D51E and returned 0x7639E995 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmIMPSetIMEA") called from "USER32.DLL" at address 0x7E43D533 and returned 0x7639EAB9 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmAssociateContext") called from "USER32.DLL" at address 0x7E43D548 and returned 0x76392378 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmEscapeA") called from "USER32.DLL" at address 0x7E43D55D and returned 0x76397C25 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmEscapeW") called from "USER32.DLL" at address 0x7E43D572 and returned 0x76397EA1 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetCompositionStringA") called from "USER32.DLL" at address 0x7E43D587 and returned 0x76395B62 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetCompositionStringW") called from "USER32.DLL" at address 0x7E43D59C and returned 0x7639548A by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetCompositionWindow") called from "USER32.DLL" at address 0x7E43D5B1 and returned 0x76393B48 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetContext") called from "USER32.DLL" at address 0x7E43D5C6 and returned 0x763923A1 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetDefaultIMEWnd") called from "USER32.DLL" at address 0x7E43D5DB and returned 0x763997BE by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmIsIME") called from "USER32.DLL" at address 0x7E43D5F0 and returned 0x76398C54 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmReleaseContext") called from "USER32.DLL" at address 0x7E43D605 and returned 0x763929D3 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmRegisterClient") called from "USER32.DLL" at address 0x7E43D61A and returned 0x763922B3 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetCompositionFontW") called from "USER32.DLL" at address 0x7E43D62F and returned 0x76394829 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetCompositionFontA") called from "USER32.DLL" at address 0x7E43D644 and returned 0x76394791 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSetCompositionFontW") called from "USER32.DLL" at address 0x7E43D659 and returned 0x763949CE by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSetCompositionFontA") called from "USER32.DLL" at address 0x7E43D66E and returned 0x763948C1 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSetCompositionWindow") called from "USER32.DLL" at address 0x7E43D683 and returned 0x76394DD6 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmNotifyIME") called from "USER32.DLL" at address 0x7E43D698 and returned 0x76396FD8 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmLockIMC") called from "USER32.DLL" at address 0x7E43D6AD and returned 0x76399F2D by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmUnlockIMC") called from "USER32.DLL" at address 0x7E43D6C2 and returned 0x76399F45 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmLoadIME") called from "USER32.DLL" at address 0x7E43D6D7 and returned 0x7639776F by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSetOpenStatus") called from "USER32.DLL" at address 0x7E43D6EC and returned 0x7639470B by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmFreeLayout") called from "USER32.DLL" at address 0x7E43D701 and returned 0x76396E43 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmActivateLayout") called from "USER32.DLL" at address 0x7E43D716 and returned 0x763977CD by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetCandidateWindow") called from "USER32.DLL" at address 0x7E43D72B and returned 0x76393B93 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSetCandidateWindow") called from "USER32.DLL" at address 0x7E43D740 and returned 0x76394E54 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmConfigureIMEW") called from "USER32.DLL" at address 0x7E43D755 and returned 0x76397A7B by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetConversionStatus") called from "USER32.DLL" at address 0x7E43D76A and returned 0x76393A86 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSetConversionStatus") called from "USER32.DLL" at address 0x7E43D77F and returned 0x763945F7 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSetStatusWindowPos") called from "USER32.DLL" at address 0x7E43D794 and returned 0x76394D6E by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetImeInfoEx") called from "USER32.DLL" at address 0x7E43D7A9 and returned 0x76399C7F by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmLockImeDpi") called from "USER32.DLL" at address 0x7E43D7BE and returned 0x76399BAC by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmUnlockImeDpi") called from "USER32.DLL" at address 0x7E43D7D3 and returned 0x76399BFC by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetOpenStatus") called from "USER32.DLL" at address 0x7E43D7E8 and returned 0x76393AC3 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSetActiveContext") called from "USER32.DLL" at address 0x7E43D7FD and returned 0x763929DE by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmTranslateMessage") called from "USER32.DLL" at address 0x7E43D812 and returned 0x7639DE65 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmLoadLayout") called from "USER32.DLL" at address 0x7E43D827 and returned 0x76398719 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmProcessKey") called from "USER32.DLL" at address 0x7E43D83C and returned 0x7639E0D3 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmPutImeMenuItemsIntoMappedFile") called from "USER32.DLL" at address 0x7E43D851 and returned 0x763A2E03 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetProperty") called from "USER32.DLL" at address 0x7E43D866 and returned 0x76398B8E by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSetCompositionStringA") called from "USER32.DLL" at address 0x7E43D87B and returned 0x763967D5 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSetCompositionStringW") called from "USER32.DLL" at address 0x7E43D890 and returned 0x763967FC by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmEnumInputContext") called from "USER32.DLL" at address 0x7E43D8A5 and returned 0x763937CA by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSystemHandler") called from "USER32.DLL" at address 0x7E43D8BA and returned 0x76399D74 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "CtfImmTIMActivate") called from "USER32.DLL" at address 0x7E43D8CF and returned 0x763A3F0B by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "CtfImmRestoreToolbarWnd") called from "USER32.DLL" at address 0x7E43D8E4 and returned 0x763A34DA by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "CtfImmHideToolbarWnd") called from "USER32.DLL" at address 0x7E43D8F9 and returned 0x763A3511 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "CtfImmDispatchDefImeMessage") called from "USER32.DLL" at address 0x7E43D90E and returned 0x763A4304 by thread 1.
DllMain(0x76390000, DLL_PROCESS_ATTACH, 0x00000000) in "IMM32.DLL" returned 1 (0x1) by thread 1.
LoadLibraryW("C:\WINDOWS\system32\IMM32.DLL") returned 0x76390000 by thread 1.
DllMain(0x7E410000, DLL_PROCESS_ATTACH, 0x009FFD30) in "USER32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77F10000, DLL_PROCESS_ATTACH, 0x009FFD30) in "GDI32.DLL" called by thread 1.
DllMain(0x77F10000, DLL_PROCESS_ATTACH, 0x009FFD30) in "GDI32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x76B40000, DLL_PROCESS_ATTACH, 0x009FFD30) in "WINMM.DLL" called by thread 1.
DllMain(0x76B40000, DLL_PROCESS_ATTACH, 0x009FFD30) in "WINMM.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77C00000, DLL_PROCESS_ATTACH, 0x009FFD30) in "VERSION.DLL" called by thread 1.
DllMain(0x77C00000, DLL_PROCESS_ATTACH, 0x009FFD30) in "VERSION.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77F60000, DLL_PROCESS_ATTACH, 0x009FFD30) in "SHLWAPI.DLL" called by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "CreateTimerQueue") called from "SHLWAPI.DLL" at address 0x77F65D19 and returned 0x7C82B03E by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "DeleteTimerQueue") called from "SHLWAPI.DLL" at address 0x77F65D28 and returned 0x7C864C53 by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "CreateTimerQueueTimer") called from "SHLWAPI.DLL" at address 0x77F65D37 and returned 0x7C8201D5 by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "ChangeTimerQueueTimer") called from "SHLWAPI.DLL" at address 0x77F65D47 and returned 0x7C812C9B by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "DeleteTimerQueueTimer") called from "SHLWAPI.DLL" at address 0x77F65D55 and returned 0x7C820188 by thread 1.
DllMain(0x77F60000, DLL_PROCESS_ATTACH, 0x009FFD30) in "SHLWAPI.DLL" returned 1 (0x1) by thread 1.
DllMain(0x773D0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "COMCTL32.DLL" called by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "GetSystemWindowsDirectoryW") called from "COMCTL32.DLL" at address 0x7745B789 and returned 0x7C80ADC9 by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "CreateActCtxW") called from "COMCTL32.DLL" at address 0x7745B60C and returned 0x7C8144BC by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "ActivateActCtx") called from "COMCTL32.DLL" at address 0x7745B69E and returned 0x7C80A6E4 by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "DeactivateActCtx") called from "COMCTL32.DLL" at address 0x7745B6F4 and returned 0x7C80A715 by thread 1.
DllMain(0x773D0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "COMCTL32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77B20000, DLL_PROCESS_ATTACH, 0x009FFD30) in "MSASN1.DLL" called by thread 1.
DllMain(0x77B20000, DLL_PROCESS_ATTACH, 0x009FFD30) in "MSASN1.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77A80000, DLL_PROCESS_ATTACH, 0x009FFD30) in "CRYPT32.DLL" called by thread 1.
LoadLibraryA("advapi32.dll") called from "CRYPT32.DLL" at address 0x77A86566 by thread 1.
LoadLibraryA("advapi32.dll") returned 0x77DD0000 by thread 1.
GetProcAddress(0x77DD0000 [ADVAPI32.DLL], "CryptAcquireContextW") called from "CRYPT32.DLL" at address 0x77A86579 and returned 0x77DE7F99 by thread 1.
GetProcAddress(0x77DD0000 [ADVAPI32.DLL], "CryptSignHashW") called from "CRYPT32.DLL" at address 0x77A8658B and returned 0x77E12359 by thread 1.
GetProcAddress(0x77DD0000 [ADVAPI32.DLL], "CryptVerifySignatureW") called from "CRYPT32.DLL" at address 0x77A8659D and returned 0x77DF3522 by thread 1.
GetProcAddress(0x77DD0000 [ADVAPI32.DLL], "CryptSetProviderW") called from "CRYPT32.DLL" at address 0x77A865AF and returned 0x77E12FF1 by thread 1.
GetProcAddress(0x77DD0000 [ADVAPI32.DLL], "CryptEnumProvidersW") called from "CRYPT32.DLL" at address 0x77A865C1 and returned 0x77E12E99 by thread 1.
LoadLibraryA("kernel32.dll") called from "CRYPT32.DLL" at address 0x77A87982 by thread 1.
LoadLibraryA("kernel32.dll") returned 0x7C800000 by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "RegisterWaitForSingleObject") called from "CRYPT32.DLL" at address 0x77A8799D and returned 0x7C820225 by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "UnregisterWaitEx") called from "CRYPT32.DLL" at address 0x77A879B7 and returned 0x7C82F0AA by thread 1.
LoadLibraryA("advapi32.dll") called from "MSASN1.DLL" at address 0x77B235EA by thread 1.
LoadLibraryA("advapi32.dll") returned 0x77DD0000 by thread 1.
GetProcAddress(0x77DD0000 [ADVAPI32.DLL], "RegOpenKeyExA") called from "MSASN1.DLL" at address 0x77B23600 and returned 0x77DD7852 by thread 1.
DllMain(0x77A80000, DLL_PROCESS_ATTACH, 0x009FFD30) in "CRYPT32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x76BF0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "PSAPI.DLL" called by thread 1.
DllMain(0x76BF0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "PSAPI.DLL" returned 131073 (0x20001) by thread 1.
DllMain(0x7C9C0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "SHELL32.DLL" called by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "CreateActCtxW") called from "SHELL32.DLL" at address 0x7CA276CE and returned 0x7C8144BC by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "ActivateActCtx") called from "SHELL32.DLL" at address 0x7C9E76B9 and returned 0x7C80A6E4 by thread 1.
LoadLibraryW("comctl32.dll") called from "SHELL32.DLL" at address 0x7CA27308 by thread 1.
LoadLibraryW("comctl32.dll") returned 0x773D0000 by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "DeactivateActCtx") called from "SHELL32.DLL" at address 0x7C9E7724 and returned 0x7C80A715 by thread 1.
LoadLibraryW("comctl32.dll") called from "SHELL32.DLL" at address 0x7CA27436 by thread 1.
LoadLibraryW("comctl32.dll") returned 0x773D0000 by thread 1.
GetProcAddress(0x773D0000 [COMCTL32.DLL], "InitCommonControlsEx") called from "SHELL32.DLL" at address 0x7CA27446 and returned 0x773D4088 by thread 1.
DllMain(0x7C9C0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "SHELL32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x763B0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "COMDLG32.DLL" called by thread 1.
DllMain(0x763B0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "COMDLG32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x774E0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "OLE32.DLL" called by thread 1.
DllMain(0x774E0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "OLE32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77120000, DLL_PROCESS_ATTACH, 0x009FFD30) in "OLEAUT32.DLL" called by thread 1.
DllMain(0x77120000, DLL_PROCESS_ATTACH, 0x009FFD30) in "OLEAUT32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x78AA0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "MSVCR100.DLL" called by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsAlloc") called from "MSVCR100.DLL" at address 0x78ABBA3B and returned NULL by thread 1. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsGetValue") called from "MSVCR100.DLL" at address 0x78ABBA48 and returned NULL by thread 1. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsSetValue") called from "MSVCR100.DLL" at address 0x78ABBA55 and returned NULL by thread 1. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsFree") called from "MSVCR100.DLL" at address 0x78ABBA62 and returned NULL by thread 1. Error: The specified procedure could not be found (127).
DllMain(0x78AA0000, DLL_PROCESS_ATTACH, 0x009FFD30) in "MSVCR100.DLL" returned 1 (0x1) by thread 1.
LoadLibraryExW("C:\WINDOWS\system32\uxtheme.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) called from "USER32.DLL" at address 0x7E428055 by thread 1.
Loaded "UXTHEME.DLL" at address 0x5AD70000 by thread 1.  Successfully hooked module.
DllMain(0x5AD70000, DLL_PROCESS_ATTACH, 0x00000000) in "UXTHEME.DLL" called by thread 1.
DllMain(0x5AD70000, DLL_PROCESS_ATTACH, 0x00000000) in "UXTHEME.DLL" returned 1 (0x1) by thread 1.
LoadLibraryExW("C:\WINDOWS\system32\uxtheme.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned 0x5AD70000 by thread 1.
LoadLibraryW("uxtheme.dll") called from "UXTHEME.DLL" at address 0x5AD7A1EC by thread 1.
LoadLibraryW("uxtheme.dll") returned 0x5AD70000 by thread 1.
LoadLibraryExW("C:\WINDOWS\system32\uxtheme.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) called from "USER32.DLL" at address 0x7E428055 by thread 1.
LoadLibraryExW("C:\WINDOWS\system32\uxtheme.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned 0x5AD70000 by thread 1.
LoadLibraryExW("C:\WINDOWS\system32\uxtheme.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) called from "USER32.DLL" at address 0x7E428055 by thread 1.
LoadLibraryExW("C:\WINDOWS\system32\uxtheme.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned 0x5AD70000 by thread 1.
LoadLibraryExW("C:\WINDOWS\system32\uxtheme.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) called from "USER32.DLL" at address 0x7E428055 by thread 1.
LoadLibraryExW("C:\WINDOWS\system32\uxtheme.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned 0x5AD70000 by thread 1.
LoadLibraryExW("C:\WINDOWS\system32\MSCTF.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) called from "USER32.DLL" at address 0x7E428055 by thread 1.
Loaded "MSCTF.DLL" at address 0x74720000 by thread 1.  Successfully hooked module.
DllMain(0x74720000, DLL_PROCESS_ATTACH, 0x00000000) in "MSCTF.DLL" called by thread 1.
GetProcAddress(0x7C900000 [NTDLL.DLL], "NtQueryInformationProcess") called from "MSCTF.DLL" at address 0x74723AB5 and returned 0x7C90D7FE by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "CtfImmCoUninitialize") called from "MSCTF.DLL" at address 0x74722923 and returned 0x763A3E9F by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "CtfImmLastEnabledWndDestroy") called from "MSCTF.DLL" at address 0x74722960 and returned 0x763A418A by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "CtfImmSetCiceroStartInThread") called from "MSCTF.DLL" at address 0x747229A3 and returned 0x763A37A6 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "CtfImmIsCiceroStartedInThread") called from "MSCTF.DLL" at address 0x747229E8 and returned 0x763A378E by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "CtfImmIsCiceroEnabled") called from "MSCTF.DLL" at address 0x74722A2D and returned 0x763A3773 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "CtfImmIsTextFrameServiceDisabled") called from "MSCTF.DLL" at address 0x74722A69 and returned 0x763A38A1 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "CtfImmEnterCoInitCountSkipMode") called from "MSCTF.DLL" at address 0x74722AB0 and returned 0x763A31F0 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "CtfImmLeaveCoInitCountSkipMode") called from "MSCTF.DLL" at address 0x74722AF6 and returned 0x763A3206 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetDefaultIMEWnd") called from "MSCTF.DLL" at address 0x74722B3A and returned 0x763997BE by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmReleaseContext") called from "MSCTF.DLL" at address 0x74722B73 and returned 0x763929D3 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmNotifyIME") called from "MSCTF.DLL" at address 0x74722BAD and returned 0x76396FD8 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSetConversionStatus") called from "MSCTF.DLL" at address 0x74722BE0 and returned 0x763945F7 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetConversionStatus") called from "MSCTF.DLL" at address 0x74722C1E and returned 0x76393A86 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetProperty") called from "MSCTF.DLL" at address 0x74722C5A and returned 0x76398B8E by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetOpenStatus") called from "MSCTF.DLL" at address 0x74722C8E and returned 0x76393AC3 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetContext") called from "MSCTF.DLL" at address 0x74722CC4 and returned 0x763923A1 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSetOpenStatus") called from "MSCTF.DLL" at address 0x74722CF9 and returned 0x7639470B by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmInstallIMEA") called from "MSCTF.DLL" at address 0x74722D30 and returned 0x763996DF by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetDescriptionA") called from "MSCTF.DLL" at address 0x74722D66 and returned 0x763989A2 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetDescriptionW") called from "MSCTF.DLL" at address 0x74722D9E and returned 0x763988F5 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetIMEFileNameA") called from "MSCTF.DLL" at address 0x74722DD6 and returned 0x76398AF0 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmGetIMEFileNameW") called from "MSCTF.DLL" at address 0x74722E0E and returned 0x76398A39 by thread 1.
GetProcAddress(0x76390000 [IMM32.DLL], "ImmSetHotKey") called from "MSCTF.DLL" at address 0x747232EC and returned 0x7E453C33 by thread 1.
LoadLibraryW("rpcrt4.dll") called from "RPCRT4.DLL" at address 0x77E8B525 by thread 1.
LoadLibraryW("rpcrt4.dll") returned 0x77E70000 by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "GetUserDefaultUILanguage") called from "MSCTF.DLL" at address 0x74722EAF and returned 0x7C82F6CC by thread 1.
DllMain(0x74720000, DLL_PROCESS_ATTACH, 0x00000000) in "MSCTF.DLL" returned 1 (0x1) by thread 1.
LoadLibraryExW("C:\WINDOWS\system32\MSCTF.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned 0x74720000 by thread 1.
GetProcAddress(0x7C900000 [NTDLL.DLL], "RtlGetVersion") called from "KEYPRESS-OSD-AHKH 4.13.0.2.EXE" at address 0x0041DD57 and returned 0x7C9183B1 by thread 1.
GetProcAddress(0x7E410000 [USER32.DLL], "SendInput") called from "KEYPRESS-OSD-AHKH 4.13.0.2.EXE" at address 0x004AB477 and returned 0x7E42F140 by thread 1.
LoadLibraryW("kernel32.dll") called from "KEYPRESS-OSD-AHKH 4.13.0.2.EXE" at address 0x004AB48B by thread 1.
LoadLibraryW("kernel32.dll") returned 0x7C800000 by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "CreateActCtxA") called from "KEYPRESS-OSD-AHKH 4.13.0.2.EXE" at address 0x004AB4B1 and returned 0x7C86D60D by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "DeactivateActCtx") called from "KEYPRESS-OSD-AHKH 4.13.0.2.EXE" at address 0x004AB4D1 and returned 0x7C80A715 by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "ActivateActCtx") called from "KEYPRESS-OSD-AHKH 4.13.0.2.EXE" at address 0x004AB4F1 and returned 0x7C80A6E4 by thread 1.
GetProcAddress(0x7C900000 [NTDLL.DLL], "RtlPcToFileHeader") called from "KEYPRESS-OSD-AHKH 4.13.0.2.EXE" at address 0x004AB517 and returned 0x7C92BBDC by thread 1.
GetProcAddress(0x7E410000 [USER32.DLL], "RemoveClipboardFormatListener") called from "KEYPRESS-OSD-AHKH 4.13.0.2.EXE" at address 0x004AB537 and returned NULL by thread 1. Error: The specified procedure could not be found (127).
GetProcAddress(0x7E410000 [USER32.DLL], "AddClipboardFormatListener") called from "KEYPRESS-OSD-AHKH 4.13.0.2.EXE" at address 0x004AB557 and returned NULL by thread 1. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "IsWow64Process") called from "KEYPRESS-OSD-AHKH 4.13.0.2.EXE" at address 0x004AB597 and returned 0x7C8305B1 by thread 1.
DllMain(0x74720000, DLL_PROCESS_DETACH, 0x00000001) in "MSCTF.DLL" called by thread 1.
DllMain(0x74720000, DLL_PROCESS_DETACH, 0x00000001) in "MSCTF.DLL" returned 1 (0x1) by thread 1.
DllMain(0x5AD70000, DLL_PROCESS_DETACH, 0x00000001) in "UXTHEME.DLL" called by thread 1.
DllMain(0x5AD70000, DLL_PROCESS_DETACH, 0x00000001) in "UXTHEME.DLL" returned 1 (0x1) by thread 1.
DllMain(0x76390000, DLL_PROCESS_DETACH, 0x00000001) in "IMM32.DLL" called by thread 1.
DllMain(0x76390000, DLL_PROCESS_DETACH, 0x00000001) in "IMM32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x78AA0000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCR100.DLL" called by thread 1.
DllMain(0x78AA0000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCR100.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77120000, DLL_PROCESS_DETACH, 0x00000001) in "OLEAUT32.DLL" called by thread 1.
DllMain(0x77120000, DLL_PROCESS_DETACH, 0x00000001) in "OLEAUT32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x774E0000, DLL_PROCESS_DETACH, 0x00000001) in "OLE32.DLL" called by thread 1.
DllMain(0x774E0000, DLL_PROCESS_DETACH, 0x00000001) in "OLE32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x763B0000, DLL_PROCESS_DETACH, 0x00000001) in "COMDLG32.DLL" called by thread 1.
DllMain(0x763B0000, DLL_PROCESS_DETACH, 0x00000001) in "COMDLG32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x7C9C0000, DLL_PROCESS_DETACH, 0x00000001) in "SHELL32.DLL" called by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "ReleaseActCtx") called from "SHELL32.DLL" at address 0x7CA2AB0B and returned 0x7C82F6BB by thread 1.
DllMain(0x7C9C0000, DLL_PROCESS_DETACH, 0x00000001) in "SHELL32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x76BF0000, DLL_PROCESS_DETACH, 0x00000001) in "PSAPI.DLL" called by thread 1.
DllMain(0x76BF0000, DLL_PROCESS_DETACH, 0x00000001) in "PSAPI.DLL" returned 131073 (0x20001) by thread 1.
DllMain(0x77A80000, DLL_PROCESS_DETACH, 0x00000001) in "CRYPT32.DLL" called by thread 1.
DllMain(0x77A80000, DLL_PROCESS_DETACH, 0x00000001) in "CRYPT32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77B20000, DLL_PROCESS_DETACH, 0x00000001) in "MSASN1.DLL" called by thread 1.
DllMain(0x77B20000, DLL_PROCESS_DETACH, 0x00000001) in "MSASN1.DLL" returned 1 (0x1) by thread 1.
DllMain(0x773D0000, DLL_PROCESS_DETACH, 0x00000001) in "COMCTL32.DLL" called by thread 1.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "ReleaseActCtx") called from "COMCTL32.DLL" at address 0x7745B656 and returned 0x7C82F6BB by thread 1.
DllMain(0x773D0000, DLL_PROCESS_DETACH, 0x00000001) in "COMCTL32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77F60000, DLL_PROCESS_DETACH, 0x00000001) in "SHLWAPI.DLL" called by thread 1.
DllMain(0x77F60000, DLL_PROCESS_DETACH, 0x00000001) in "SHLWAPI.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77C00000, DLL_PROCESS_DETACH, 0x00000001) in "VERSION.DLL" called by thread 1.
DllMain(0x77C00000, DLL_PROCESS_DETACH, 0x00000001) in "VERSION.DLL" returned 1 (0x1) by thread 1.
DllMain(0x76B40000, DLL_PROCESS_DETACH, 0x00000001) in "WINMM.DLL" called by thread 1.
DllMain(0x76B40000, DLL_PROCESS_DETACH, 0x00000001) in "WINMM.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77F10000, DLL_PROCESS_DETACH, 0x00000001) in "GDI32.DLL" called by thread 1.
DllMain(0x77F10000, DLL_PROCESS_DETACH, 0x00000001) in "GDI32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x7E410000, DLL_PROCESS_DETACH, 0x00000001) in "USER32.DLL" called by thread 1.
DllMain(0x7E410000, DLL_PROCESS_DETACH, 0x00000001) in "USER32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x71AD0000, DLL_PROCESS_DETACH, 0x00000001) in "WSOCK32.DLL" called by thread 1.
DllMain(0x71AD0000, DLL_PROCESS_DETACH, 0x00000001) in "WSOCK32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x71AB0000, DLL_PROCESS_DETACH, 0x00000001) in "WS2_32.DLL" called by thread 1.
DllMain(0x71AB0000, DLL_PROCESS_DETACH, 0x00000001) in "WS2_32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x71AA0000, DLL_PROCESS_DETACH, 0x00000001) in "WS2HELP.DLL" called by thread 1.
DllMain(0x71AA0000, DLL_PROCESS_DETACH, 0x00000001) in "WS2HELP.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77C10000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCRT.DLL" called by thread 1.
DllMain(0x77C10000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCRT.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77DD0000, DLL_PROCESS_DETACH, 0x00000001) in "ADVAPI32.DLL" called by thread 1.
DllMain(0x77DD0000, DLL_PROCESS_DETACH, 0x00000001) in "ADVAPI32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77E70000, DLL_PROCESS_DETACH, 0x00000001) in "RPCRT4.DLL" called by thread 1.
DllMain(0x77E70000, DLL_PROCESS_DETACH, 0x00000001) in "RPCRT4.DLL" returned 1 (0x1) by thread 1.
DllMain(0x77FE0000, DLL_PROCESS_DETACH, 0x00000001) in "SECUR32.DLL" called by thread 1.
DllMain(0x77FE0000, DLL_PROCESS_DETACH, 0x00000001) in "SECUR32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x08370000, DLL_PROCESS_DETACH, 0x00000001) in "DEPENDS.DLL" called by thread 1.
DllMain(0x08370000, DLL_PROCESS_DETACH, 0x00000001) in "DEPENDS.DLL" returned 1 (0x1) by thread 1.
DllMain(0x7C800000, DLL_PROCESS_DETACH, 0x00000001) in "KERNEL32.DLL" called by thread 1.
DllMain(0x7C800000, DLL_PROCESS_DETACH, 0x00000001) in "KERNEL32.DLL" returned 1 (0x1) by thread 1.
DllMain(0x7C900000, DLL_PROCESS_DETACH, 0x00000001) in "NTDLL.DLL" called by thread 1.
DllMain(0x7C900000, DLL_PROCESS_DETACH, 0x00000001) in "NTDLL.DLL" returned 1 (0x1) by thread 1.
Exited "KEYPRESS-OSD-AHKH 4.13.0.2.EXE" (process 0x8C8) with code 0 (0x0) by thread 1.
Errors were:

Code: Select all

GetProcAddress(0x7E410000 [USER32.DLL], "RemoveClipboardFormatListener") called from "KEYPRESS-OSD-AHKH 4.13.0.2.EXE" at address 0x004AB537 and returned NULL by thread 1. Error: The specified procedure could not be found (127).
GetProcAddress(0x7E410000 [USER32.DLL], "AddClipboardFormatListener") called from "KEYPRESS-OSD-AHKH 4.13.0.2.EXE" at address 0x004AB557 and returned NULL by thread 1. Error: The specified procedure could not be found (127).
There were other errors earlier:

Code: Select all

GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsAlloc") called from "MSVCR100.DLL" at address 0x78ABBA3B and returned NULL by thread 1. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsGetValue") called from "MSVCR100.DLL" at address 0x78ABBA48 and returned NULL by thread 1. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsSetValue") called from "MSVCR100.DLL" at address 0x78ABBA55 and returned NULL by thread 1. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsFree") called from "MSVCR100.DLL" at address 0x78ABBA62 and returned NULL by thread 1. Error: The specified procedure could not be found (127).
This means the .bin is even worse than the main exe, which still allows the script to run uncompiled (but crashes on restart).

I have DbgView, hopefully it's good enough for debugging. Maybe DW could provide debug info too, never checked.
It'd be great if you could build that debug version (both exe and bin, to check both uncompiled and compiled). Thank you.

[EDIT]
Not even 1.1.27.06 will launch the compiled script, so the problem(s) in the bin may be much earlier than that. Oldest version I have is 1.1.25.02 and that one fails to launch the compiled script too. :(

EDIT2
Additionally, the compression options in Ahk2Exe seem to have little to no effect; there are both UPX and MPRESS in the Compiler folder, I also copied MPRESS to the main AHK folder and the Win32w folder, but the resulting exe is still 2MB (with a tiny difference of ~84kB less) and the FIleInfo plug-in in Total Commander shows no sign of compression. Encryption is disabled (don't need it). Have I gone mad…?
I've deleted my CloudMe account because of GDPR - the now legal base for privacy invasion and data theft.
User avatar
Drugwash
Posts: 567
Joined: 29 May 2014, 21:07
Location: Ploieşti, Romania

Re: Crash… crash… crash…

Post by Drugwash » 21 Mar 2018, 10:18

@ HotkeyIt:

I have finally found that the crash occurs in ahkThread(), more precisely when executing the conditional lines
If !(s+0!="" || s=0)
obj.hThread:=obj[IsFile?"ahkdll":"ahktextdll"](s,"",p)

Crash was reported also on Win10 x64 at the same place as on XP x86.

I have put together a most simplified debug version of the complex script that's been crashing before (KeypressOSD) where only the four threads are being loaded and nothing else. There is debug output at various stages so having a debugger running should be most welcome.

There are five main options that control the behavior of the two mouse-related threads MouseFuncThread and MouseRipplesThread:
- ShowMouseHalo ; [bool]
- ShowMouseIdle ; [bool]
- ShowMouseVclick ; [bool]
- ShowMouseRipples ; [bool]
- ShowCaretHalo ; [bool]
There is one option that controls the SoundsThread thread:
- SilentMode ; [bool] (0=enable sounds, 1=disable sounds)
There are three options that control the KeystrokesThread thread, either one can toggle it on or off:
- ShowSingleKey ; [bool]
- AltHook2keysUser ; [bool]
- DisableTypingMode ; [bool] (0=enable thread creation, 1=don't create thread)

Changing any of the above variables may not have any impact on the crashes though.

Being completely unfamiliar with objects I can't really understand what's going on in that AhkThread script and beyond, when internal AHK functions are called. One thing looked suspicious to me though, just below the (allegedly) offending line:
ahkthread_free(true)[obj]:=1
Looking at the definition of ahkthread_free() at the top, shouldn't true and obj be reversed? As in:
ahkthread_free(obj)[true]:=1
Maybe that's completely stupid, dunno, as I said I've no idea how objects work and all that - just noticed it and saying, maybe there's something to it. Anyway, I performed some tests with both versions and apparently with the second version of the call the crashes are much less frequent: 5th reload crashed with original version while only 15th reload crashed with modified version. Could be completely unrelated though.

Since ahkThread() and ahkThread_Free() are called dynamically, I had to use #include otherwise threads wouldn't work. Same for ahkExported, for some reason, although it's not called dynamically.

The package containing main test script plus thread scripts (both uncompiled and compiled x86) can be found at my repository here as ThreadCrashTest.7z.

Please tell me what else can I do to get to the bottom of this, because these crashes are a show stopper. And if I'm doing something stupid just say so, don't hold back, as long as we manage to fix the issue.
I've deleted my CloudMe account because of GDPR - the now legal base for privacy invasion and data theft.
HotKeyIt
Posts: 1696
Joined: 29 Sep 2013, 18:35
Contact:

Re: Crash… crash… crash…

Post by HotKeyIt » 24 Mar 2018, 19:01

I downloaded your files and replaced MainTestScript.exe with latest AutoHotkey.exe from Win32w folder and script worked fine.
Can you please test again with latest version and let me know if it works.
User avatar
Drugwash
Posts: 567
Joined: 29 May 2014, 21:07
Location: Ploieşti, Romania

Re: Crash… crash… crash…

Post by Drugwash » 25 Mar 2018, 06:25

Will do that when I get back home, now I gotta leave.
There is one other issue I noticed earlier after fixing AhkThread problem myself: the working dir gets changed after calling AhkThread() so relative paths don't work anymore.
In my example, calling AhkThread() on first script from Lib\... works, but next calls for the other three scripts at the same location fail. I had to use absolute paths to get them working. Weird.
I've deleted my CloudMe account because of GDPR - the now legal base for privacy invasion and data theft.
HotKeyIt
Posts: 1696
Joined: 29 Sep 2013, 18:35
Contact:

Re: Crash… crash… crash…

Post by HotKeyIt » 25 Mar 2018, 08:06

You can call AhkThread without giving a path, it will use included dll from resources.
User avatar
Drugwash
Posts: 567
Joined: 29 May 2014, 21:07
Location: Ploieşti, Romania

Re: Crash… crash… crash…

Post by Drugwash » 25 Mar 2018, 14:53

Sorry, I wasn't very clear before. It's not about AhkThread.ahk, that one does need to be #included specifically (on my system, at least) or it woudn't work at all.
What I meant was, when creating more than one thread, from different scripts, first thread gets created fine but subsequent threads do not if the files are called from relative paths. In example:

Code: Select all

thread1 := AhkThread("Lib\script1.ahk",, 1)
thread2 := AhkThread("Lib\script2.ahk",, 1)
thread3 := AhkThread("Lib\script3.ahk",, 1)
After thread1 gets created, thread2 and thread3 will fail because files cannot be found. If instead I do:

Code: Select all

thread1 := AhkThread("Lib\script1.ahk",, 1)
SetWorkingDir, %A_ScriptDir%
thread2 := AhkThread("Lib\script2.ahk",, 1)
SetWorkingDir, %A_ScriptDir%
thread3 := AhkThread("Lib\script3.ahk",, 1)
they will all be created.
Otherwise I'd have to do:

Code: Select all

thread1 := AhkThread(A_ScriptDir "\Lib\script1.ahk",, 1)
thread2 := AhkThread(A_ScriptDir "\Lib\script2.ahk",, 1)
thread3 := AhkThread(A_ScriptDir "\Lib\script3.ahk",, 1)
which works correctly too.
No idea why this happens. And it's all about running uncompiled, in this setup. When compiled, thread scripts are being retrieved from resources and we hit the other issue with StrGet() (and FileAppend, if needed for debugging purposes).
I've deleted my CloudMe account because of GDPR - the now legal base for privacy invasion and data theft.
User avatar
Drugwash
Posts: 567
Joined: 29 May 2014, 21:07
Location: Ploieşti, Romania

Re: Crash… crash… crash…

Post by Drugwash » 26 Mar 2018, 04:00

Ah, thank you very much for this information. I had changed working dir in a thread script at some point due to an icon issue or something and that screwed everything up. I thought each thread would retain its own working dir same as A_ScriptDir but apparently that is not the case in multithreaded environments.
Thanks again.
I've deleted my CloudMe account because of GDPR - the now legal base for privacy invasion and data theft.
Post Reply

Return to “AutoHotkey_H”