Bug #3893
closedAdiIRC 3.0 64-bit occasionally silently closes
0%
Description
Using AdiIRC 3.0 64-bit on Windows 10 Enterprise 64-bit. AdiIRC silently closes with no error messages of any kind. Is there a way to enable a debug log?
Files
Updated by Per Amundsen over 6 years ago
AdiIRC doesn't just close by itself, it also asks whether to close or not first.
What were you doing at the time of the close?
Are you sure it's actually closed, e.g are there a AdiIRC process in the task manager?
Do you have any programs that modifies windows default behavior?
You can try check your Event viewer for any .NET related hard crashes.
If you are using any scripts or plugins, I suggest disable them all, then enable them one by one until the problem occurs.
You could also try backup and remove config.ini, then slowly change options until the problem occurs.
Updated by Rei Kamigishi over 6 years ago
I left it overnight like always. When I got up, the task-bar icon was not underlined, and clicking it resulted in AdiIRC opening normally. There are no other adiirc processes in the task manager. This happened at least 4 times so far.
I do not have any programs modifying Windows' behaviour.
I am not using any scripts or plug-ins.
Reproducing this is rather hard because it usually happens after a few days. I will attempt removing config.ini, I guess.
Event Viewer data:
Application: AdiIRC.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: exception code c0000005, exception address 00000000211BB3E9 Faulting application name: AdiIRC.exe, version: 3.0.0.0, time stamp: 0x49d87c18 Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000 Exception code: 0xc0000005 Fault offset: 0x00000000211bb3e9 Faulting process ID: 0x2f0c Faulting application start time: 0x01d3e91b5abc33fa Faulting application path: C:\Program Files\AdiIRC\AdiIRC.exe Faulting module path: unknown Report ID: fe4e25df-e7f4-42f5-aa71-fda2c26c27b4 Faulting package full name: Faulting package-relative application ID:
Application: AdiIRC.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: exception code c0000005, exception address 0000000021F8B6F9 Faulting application name: AdiIRC.exe, version: 3.0.0.0, time stamp: 0x49d87c18 Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000 Exception code: 0xc0000005 Fault offset: 0x0000000021f8b6f9 Faulting process ID: 0x38dc Faulting application start time: 0x01d3e774122d6477 Faulting application path: C:\Program Files\AdiIRC\AdiIRC.exe Faulting module path: unknown Report ID: b4981087-fdb8-4258-8e0b-a3e8148c4931 Faulting package full name: Faulting package-relative application ID:
Application: AdiIRC.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: exception code c0000005, exception address 00007FF82640149E Faulting application name: AdiIRC.exe, version: 3.0.0.0, time stamp: 0x49d87c18 Faulting module name: CRYPT32.dll, version: 10.0.17134.1, time stamp: 0x01d34162 Exception code: 0xc0000005 Fault offset: 0x000000000006149e Faulting process ID: 0x2804 Faulting application start time: 0x01d3e38c00969aa1 Faulting application path: C:\Program Files\AdiIRC\AdiIRC.exe Faulting module path: C:\WINDOWS\System32\CRYPT32.dll Report ID: 8f4c4f91-06be-4a27-82b9-e0c2a3210093 Faulting package full name: Faulting package-relative application ID:
Application: AdiIRC.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: exception code c0000005, exception address 000000001EAE7119 Faulting application name: AdiIRC.exe, version: 3.0.0.0, time stamp: 0x49d87c18 Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000 Exception code: 0xc0000005 Fault offset: 0x000000001eae7119 Faulting process ID: 0x1ba4 Faulting application start time: 0x01d3e38b4b78b0c0 Faulting application path: C:\Program Files\AdiIRC\AdiIRC.exe Faulting module path: unknown Report ID: 1a156fa9-8a3e-4201-aded-5a5d43cf4c6b Faulting package full name: Faulting package-relative application ID:
Updated by Per Amundsen over 6 years ago
That does indeed look like a hard .NET framework crash which indicates this is some kind of bug in the .NET framework, the dll causing the crash seems interesting though.
I don't know all the places where the .NET framework uses CRYPT32.dll, but it probably does for anything related to SSL.
Do you use a SSL client certificate by any chance, also is it possible this is happening at a time when AdiIRC is connecting to a SSL enabled server?
Just to rule out any known .NET issues, you could try run this repair tool https://www.microsoft.com/en-us/download/details.aspx?id=30135.
Also you could try update to 3.1 beta (perfectly safe), it's possible something was changed so the error doesn't trigger, you can get it by typing /betaup.
Also I have seen some random hard crashes on unstable overclocks, is your computer overclocked by any chance?
Updated by Rei Kamigishi over 6 years ago
I am indeed using TLS (connecting to a ZNC instance). The .NET repair tool found no issues, it seems.
My PC runs on standard clock speeds, I have never seen any value in overclocking and it would likely introduce issues into my work on FreeBSD's kernel and my C# .NET projects.
I will try updating to beta.
Updated by Per Amundsen over 6 years ago
Good to know it's not a corrupt .NET installation and not a overclock issue.
Just realized that your hard crash is silent which is not normal, usually there is a popup dialog which explains the program crashed with the same information as in the event viewer, but if you are a .NET developer, you probably also have visual studio and/or a debugger installed, which should trigger a ask to debug on hard crashes.
It's a very puzzling issue.
Updated by Rei Kamigishi over 6 years ago
Yes, I do have VS2017 installed and it is indeed a silent “disappeared from task list” crash with no pop-up.
I could try starting it from a VS debugger session I guess?
Updated by Per Amundsen over 6 years ago
You can try, it should give a assembly trace when it crashes, unfortunately I am not very good at reading assembly, but maybe there are some more clues in the trace.
Updated by Rei Kamigishi over 6 years ago
Amusingly enough there was nothing in VS. It just went back to Ready state after the same crash on beta.
The program '[25288] AdiIRC.exe' has exited with code -1073741819 (0xc0000005) 'Access violation'. The program '[25288] AdiIRC.exe: Program Trace' has exited with code 0 (0x0).
By the way I think I have never had this issue in 2.x.
Here's the contents of the WER file:
Version=1 EventType=APPCRASH EventTime=131708923511561133 ReportType=2 Consent=1 UploadTime=131708923517688986 ReportStatus=268435456 ReportIdentifier=495315b9-22c6-4f85-b839-9ff0b55a4065 IntegratorReportIdentifier=f914bf7b-c131-4023-8933-8e4ba6ab58f9 Wow64Host=34404 NsAppName=AdiIRC.exe OriginalFilename=AdiIRC.exe AppSessionGuid=000062c8-0004-0002-5f0a-75fdc5ebd301 TargetAppId=W:000662b8eaf495cf2b76ae3ab46e4418410300000000!00003dd52e2ce8b9096cfc1bbf79358070d2e783d28c!AdiIRC.exe TargetAppVer=2009//04//05:09:38:32!0!AdiIRC.exe BootId=4294967295 TargetAsId=62114 UserImpactVector=269484816 IsFatal=1 Response.BucketId=ba783f167f500ba4ea4c8873c50c2834 Response.BucketTable=4 Response.LegacyBucketId=1895039574024661044 Response.type=4 Sig[0].Name=Application Name Sig[0].Value=AdiIRC.exe Sig[1].Name=Application Version Sig[1].Value=3.1.0.0 Sig[2].Name=Application Timestamp Sig[2].Value=49d87c18 Sig[3].Name=Fault Module Name Sig[3].Value=CRYPT32.dll Sig[4].Name=Fault Module Version Sig[4].Value=10.0.17134.1 Sig[5].Name=Fault Module Timestamp Sig[5].Value=01d34162 Sig[6].Name=Exception Code Sig[6].Value=c0000005 Sig[7].Name=Exception Offset Sig[7].Value=000000000006149e DynamicSig[1].Name=OS Version DynamicSig[1].Value=10.0.17134.2.0.0.256.4 DynamicSig[2].Name=Locale ID DynamicSig[2].Value=1049 DynamicSig[22].Name=Additional Information 1 DynamicSig[22].Value=e502 DynamicSig[23].Name=Additional Information 2 DynamicSig[23].Value=e502d0cde63a8974f0c4b782bd915f79 DynamicSig[24].Name=Additional Information 3 DynamicSig[24].Value=67c2 DynamicSig[25].Name=Additional Information 4 DynamicSig[25].Value=67c28a7d55ba0299b19a9af96a06ec71 UI[2]=C:\Program Files\AdiIRC\AdiIRC.exe LoadedModule[0]=C:\Program Files\AdiIRC\AdiIRC.exe LoadedModule[1]=C:\WINDOWS\SYSTEM32\ntdll.dll LoadedModule[2]=C:\WINDOWS\SYSTEM32\MSCOREE.DLL LoadedModule[3]=C:\WINDOWS\System32\KERNEL32.dll LoadedModule[4]=C:\WINDOWS\System32\KERNELBASE.dll LoadedModule[5]=C:\WINDOWS\System32\ADVAPI32.dll LoadedModule[6]=C:\WINDOWS\System32\msvcrt.dll LoadedModule[7]=C:\WINDOWS\System32\sechost.dll LoadedModule[8]=C:\WINDOWS\System32\RPCRT4.dll LoadedModule[9]=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscoreei.dll LoadedModule[10]=C:\WINDOWS\System32\SHLWAPI.dll LoadedModule[11]=C:\WINDOWS\System32\combase.dll LoadedModule[12]=C:\WINDOWS\System32\ucrtbase.dll LoadedModule[13]=C:\WINDOWS\System32\bcryptPrimitives.dll LoadedModule[14]=C:\WINDOWS\System32\GDI32.dll LoadedModule[15]=C:\WINDOWS\System32\gdi32full.dll LoadedModule[16]=C:\WINDOWS\System32\msvcp_win.dll LoadedModule[17]=C:\WINDOWS\System32\USER32.dll LoadedModule[18]=C:\WINDOWS\System32\win32u.dll LoadedModule[19]=C:\WINDOWS\System32\IMM32.DLL LoadedModule[20]=C:\WINDOWS\System32\kernel.appcore.dll LoadedModule[21]=C:\WINDOWS\SYSTEM32\VERSION.dll LoadedModule[22]=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll LoadedModule[23]=C:\WINDOWS\SYSTEM32\MSVCR120_CLR0400.dll LoadedModule[24]=C:\WINDOWS\assembly\NativeImages_v4.0.30319_64\mscorlib\ac26e2af62f23e37e645b5e44068a025\mscorlib.ni.dll LoadedModule[25]=C:\WINDOWS\System32\ole32.dll LoadedModule[26]=C:\WINDOWS\system32\uxtheme.dll LoadedModule[27]=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clrjit.dll LoadedModule[28]=C:\WINDOWS\assembly\NativeImages_v4.0.30319_64\System\10a17139182a9efd561f01fada9688a5\System.ni.dll LoadedModule[29]=C:\WINDOWS\assembly\NativeImages_v4.0.30319_64\System.Drawing\49e5c0579db170be9741dccc34c1998e\System.Drawing.ni.dll LoadedModule[30]=C:\WINDOWS\assembly\NativeImages_v4.0.30319_64\System.Windows.Forms\6d7d43e19d7fc0006285b85b7e2c8702\System.Windows.Forms.ni.dll LoadedModule[31]=C:\WINDOWS\SYSTEM32\wldp.dll LoadedModule[32]=C:\WINDOWS\System32\CRYPT32.dll LoadedModule[33]=C:\WINDOWS\System32\MSASN1.dll LoadedModule[34]=C:\WINDOWS\System32\WINTRUST.dll LoadedModule[35]=C:\WINDOWS\SYSTEM32\ntmarta.dll LoadedModule[36]=C:\WINDOWS\System32\shell32.dll LoadedModule[37]=C:\WINDOWS\System32\cfgmgr32.dll LoadedModule[38]=C:\WINDOWS\System32\shcore.dll LoadedModule[39]=C:\WINDOWS\System32\windows.storage.dll LoadedModule[40]=C:\WINDOWS\System32\profapi.dll LoadedModule[41]=C:\WINDOWS\System32\powrprof.dll LoadedModule[42]=C:\WINDOWS\System32\FLTLIB.DLL LoadedModule[43]=C:\WINDOWS\WinSxS\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.17134.1_none_64a2024723f1f523\gdiplus.dll LoadedModule[44]=C:\WINDOWS\System32\MSCTF.dll LoadedModule[45]=C:\WINDOWS\System32\OLEAUT32.dll LoadedModule[46]=C:\WINDOWS\SYSTEM32\WindowsCodecs.dll LoadedModule[47]=C:\WINDOWS\assembly\NativeImages_v4.0.30319_64\System.Core\4e05e2e48b8a6dd267a8c9e25ef129a7\System.Core.ni.dll LoadedModule[48]=C:\WINDOWS\assembly\NativeImages_v4.0.30319_64\System.Configuration\e82398e9ff6885d617e4b97e31fb4f02\System.Configuration.ni.dll LoadedModule[49]=C:\WINDOWS\assembly\NativeImages_v4.0.30319_64\System.Xml\f2e3165e3c718b7ac302fea40614c984\System.Xml.ni.dll LoadedModule[50]=C:\WINDOWS\SYSTEM32\bcrypt.dll LoadedModule[51]=C:\WINDOWS\SYSTEM32\CRYPTSP.dll LoadedModule[52]=C:\WINDOWS\system32\rsaenh.dll LoadedModule[53]=C:\WINDOWS\SYSTEM32\CRYPTBASE.dll LoadedModule[54]=C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.17134.1_none_47471dc9429411f4\comctl32.dll LoadedModule[55]=C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17134.1_none_e4da93291059d8fb\comctl32.dll LoadedModule[56]=C:\WINDOWS\system32\dwmapi.dll LoadedModule[57]=C:\WINDOWS\SYSTEM32\urlmon.dll LoadedModule[58]=C:\WINDOWS\SYSTEM32\iertutil.dll LoadedModule[59]=C:\WINDOWS\SYSTEM32\SspiCli.dll LoadedModule[60]=C:\WINDOWS\SYSTEM32\PROPSYS.dll LoadedModule[61]=C:\WINDOWS\SYSTEM32\DWrite.dll LoadedModule[62]=C:\WINDOWS\System32\clbcatq.dll LoadedModule[63]=C:\WINDOWS\system32\dataexchange.dll LoadedModule[64]=C:\WINDOWS\system32\d3d11.dll LoadedModule[65]=C:\WINDOWS\system32\dcomp.dll LoadedModule[66]=C:\WINDOWS\system32\dxgi.dll LoadedModule[67]=C:\WINDOWS\system32\twinapi.appcore.dll LoadedModule[68]=C:\WINDOWS\system32\RMCLIENT.dll LoadedModule[69]=C:\WINDOWS\System32\ws2_32.dll LoadedModule[70]=C:\WINDOWS\system32\mswsock.dll LoadedModule[71]=C:\WINDOWS\system32\napinsp.dll LoadedModule[72]=C:\WINDOWS\system32\pnrpnsp.dll LoadedModule[73]=C:\WINDOWS\system32\NLAapi.dll LoadedModule[74]=C:\WINDOWS\SYSTEM32\DNSAPI.dll LoadedModule[75]=C:\WINDOWS\System32\NSI.dll LoadedModule[76]=C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL LoadedModule[77]=C:\WINDOWS\System32\winrnr.dll LoadedModule[78]=C:\WINDOWS\System32\wshbth.dll LoadedModule[79]=C:\Windows\System32\rasadhlp.dll LoadedModule[80]=C:\WINDOWS\System32\fwpuclnt.dll LoadedModule[81]=C:\WINDOWS\SYSTEM32\sxs.dll LoadedModule[82]=C:\WINDOWS\system32\hnetcfg.dll LoadedModule[83]=C:\WINDOWS\system32\ATL.DLL LoadedModule[84]=C:\WINDOWS\system32\GPAPI.dll LoadedModule[85]=C:\WINDOWS\system32\USERENV.dll LoadedModule[86]=C:\WINDOWS\System32\npmproxy.dll LoadedModule[87]=C:\WINDOWS\System32\TextInputFramework.dll LoadedModule[88]=C:\WINDOWS\System32\CoreUIComponents.dll LoadedModule[89]=C:\WINDOWS\System32\CoreMessaging.dll LoadedModule[90]=C:\WINDOWS\SYSTEM32\wintypes.dll LoadedModule[91]=C:\WINDOWS\SYSTEM32\winmm.dll LoadedModule[92]=C:\WINDOWS\SYSTEM32\winmmbase.dll LoadedModule[93]=C:\WINDOWS\assembly\NativeImages_v4.0.30319_64\System.Management\d0f4eb5b1d0857aabc3e7dd079735875\System.Management.ni.dll LoadedModule[94]=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\wminet_utils.dll LoadedModule[95]=C:\WINDOWS\system32\wbem\wmiutils.dll LoadedModule[96]=C:\WINDOWS\SYSTEM32\wbemcomn.dll LoadedModule[97]=C:\WINDOWS\system32\wbem\wbemprox.dll LoadedModule[98]=C:\WINDOWS\system32\wbem\wbemsvc.dll LoadedModule[99]=C:\WINDOWS\system32\wbem\fastprox.dll LoadedModule[100]=C:\WINDOWS\SYSTEM32\RichEd20.DLL LoadedModule[101]=C:\WINDOWS\SYSTEM32\USP10.dll LoadedModule[102]=C:\WINDOWS\SYSTEM32\msls31.dll LoadedModule[103]=C:\WINDOWS\SYSTEM32\MsftEdit.dll LoadedModule[104]=C:\Windows\System32\Windows.Globalization.dll LoadedModule[105]=C:\Windows\System32\bcp47mrm.dll LoadedModule[106]=C:\Windows\System32\Bcp47Langs.dll LoadedModule[107]=C:\WINDOWS\SYSTEM32\globinputhost.dll LoadedModule[108]=C:\Program Files (x86)\Google\Google Japanese Input\GoogleIMEJaTIP64.dll LoadedModule[109]=C:\WINDOWS\SYSTEM32\dbghelp.dll LoadedModule[110]=C:\WINDOWS\SYSTEM32\d2d1.dll LoadedModule[111]=C:\WINDOWS\SYSTEM32\input.dll LoadedModule[112]=C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL LoadedModule[113]=C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL LoadedModule[114]=C:\WINDOWS\SYSTEM32\WINNSI.DLL LoadedModule[115]=C:\WINDOWS\System32\coml2.dll LoadedModule[116]=C:\WINDOWS\SYSTEM32\DPAPI.dll LoadedModule[117]=C:\WINDOWS\System32\psapi.dll LoadedModule[118]=C:\WINDOWS\SYSTEM32\secur32.dll LoadedModule[119]=C:\WINDOWS\system32\schannel.DLL LoadedModule[120]=C:\WINDOWS\SYSTEM32\mskeyprotect.dll LoadedModule[121]=C:\WINDOWS\SYSTEM32\ncrypt.dll LoadedModule[122]=C:\WINDOWS\SYSTEM32\NTASN1.dll LoadedModule[123]=C:\WINDOWS\system32\ncryptprov.dll LoadedModule[124]=C:\WINDOWS\system32\ncryptsslp.dll LoadedModule[125]=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\perfcounter.dll LoadedModule[126]=C:\WINDOWS\SYSTEM32\pdh.dll LoadedModule[127]=C:\Windows\System32\BitsProxy.dll LoadedModule[128]=C:\WINDOWS\SYSTEM32\rasman.dll LoadedModule[129]=C:\WINDOWS\System32\perfos.dll LoadedModule[130]=C:\WINDOWS\SYSTEM32\edputil.dll LoadedModule[131]=C:\Windows\System32\OneCoreUAPCommonProxyStub.dll LoadedModule[132]=C:\Windows\System32\Windows.Shell.ServiceHostBuilder.dll LoadedModule[133]=C:\Windows\System32\ieframe.dll LoadedModule[134]=C:\Windows\System32\NETAPI32.dll LoadedModule[135]=C:\Windows\System32\WKSCLI.DLL LoadedModule[136]=C:\Windows\System32\NETUTILS.DLL LoadedModule[137]=C:\WINDOWS\SYSTEM32\MLANG.dll LoadedModule[138]=C:\WINDOWS\SYSTEM32\WININET.dll LoadedModule[139]=C:\Windows\System32\Windows.UI.AppDefaults.dll LoadedModule[140]=C:\WINDOWS\SYSTEM32\policymanager.dll LoadedModule[141]=C:\WINDOWS\SYSTEM32\msvcp110_win.dll LoadedModule[142]=C:\WINDOWS\system32\apphelp.dll State[0].Key=Transport.DoneStage1 State[0].Value=1 OsInfo[0].Key=vermaj OsInfo[0].Value=10 OsInfo[1].Key=vermin OsInfo[1].Value=0 OsInfo[2].Key=verbld OsInfo[2].Value=17134 OsInfo[3].Key=ubr OsInfo[3].Value=1 OsInfo[4].Key=versp OsInfo[4].Value=0 OsInfo[5].Key=arch OsInfo[5].Value=9 OsInfo[6].Key=lcid OsInfo[6].Value=1041 OsInfo[7].Key=geoid OsInfo[7].Value=203 OsInfo[8].Key=sku OsInfo[8].Value=4 OsInfo[9].Key=domain OsInfo[9].Value=0 OsInfo[10].Key=prodsuite OsInfo[10].Value=256 OsInfo[11].Key=ntprodtype OsInfo[11].Value=1 OsInfo[12].Key=platid OsInfo[12].Value=10 OsInfo[13].Key=sr OsInfo[13].Value=0 OsInfo[14].Key=tmsi OsInfo[14].Value=17296 OsInfo[15].Key=osinsty OsInfo[15].Value=3 OsInfo[16].Key=iever OsInfo[16].Value=11.1.17134.0-11.0.47 OsInfo[17].Key=portos OsInfo[17].Value=0 OsInfo[18].Key=ram OsInfo[18].Value=16321 OsInfo[19].Key=svolsz OsInfo[19].Value=110 OsInfo[20].Key=wimbt OsInfo[20].Value=0 OsInfo[21].Key=blddt OsInfo[21].Value=180410 OsInfo[22].Key=bldtm OsInfo[22].Value=1804 OsInfo[23].Key=bldbrch OsInfo[23].Value=rs4_release OsInfo[24].Key=bldchk OsInfo[24].Value=0 OsInfo[25].Key=wpvermaj OsInfo[25].Value=0 OsInfo[26].Key=wpvermin OsInfo[26].Value=0 OsInfo[27].Key=wpbuildmaj OsInfo[27].Value=0 OsInfo[28].Key=wpbuildmin OsInfo[28].Value=0 OsInfo[29].Key=osver OsInfo[29].Value=10.0.17134.1.amd64fre.rs4_release.180410-1804 OsInfo[30].Key=buildflightid OsInfo[30].Value=6850722B-D202-417F-B6D3-F45419191852.1 OsInfo[31].Key=edition OsInfo[31].Value=Enterprise OsInfo[32].Key=ring OsInfo[32].Value=Retail OsInfo[33].Key=expid OsInfo[33].Value=RS:14D3 OsInfo[34].Key=containerid OsInfo[35].Key=containertype OsInfo[36].Key=edu OsInfo[36].Value=0 FriendlyEventName=Stopped working ConsentKey=APPCRASH AppName=AdiIRC AppPath=C:\Program Files\AdiIRC\AdiIRC.exe NsPartner=windows NsGroup=windows8 ApplicationIdentity=6682664F3B34943727D9ADABB1515896 MetadataHash=-155995584
Updated by Per Amundsen over 6 years ago
That is very bizarre, never seen that before.
Unfortunately without a stack trace or a disassembly trace, there isn't enough information to figure out the cause.
You mentioned 2.X didn't have this issue, you could downgrade for now, just replace the current AdiiRC.exe with one from https://adiirc.com/download.php?o=true and disable update check in options -> General.
Updated by Rei Kamigishi over 6 years ago
I found this on stackoverflow: https://stackoverflow.com/questions/41768523/unhandled-exception-calling-certcreatecertificatechainengine-function
It seems there may be unitialised members in a TLS-related class somewhere?
Updated by Per Amundsen over 6 years ago
AdiIRC does not use this function, it's possible the .NET framework does, but that's out of my hands, also keep in mind many AdiIRC users including myself uses TLS to ZNC servers or directly for weeks at the time with no problems,
Without the trace, it's hard to tell if it's even related to TLS.
Updated by Per Amundsen over 6 years ago
Wonder if this could to get a trace help https://www.microsoft.com/en-gb/download/details.aspx?id=26798
Updated by Rei Kamigishi over 6 years ago
- File CrashHang_Report__Date_05_16_2018__Time_09_46_39PM__957.mht CrashHang_Report__Date_05_16_2018__Time_09_46_39PM__957.mht added
It did produce crash dumps though it had a default of 1 dump per exception; I will wait for another crash to see if there are more.
I can then archive and upload the crash dump if that will help.
Attaching the report produced by the tool's analyser.
Updated by Per Amundsen over 6 years ago
The call stack didn't reveal much, except it seems to be happening in a thread, which might explain why there is a lack of .NET stack trace.
I'd like to see the dump if possible, you can email it (or a link to it) at amundsen@gmail.com.
Updated by Rei Kamigishi over 6 years ago
I have sent the link to an archive with the two dumps from the same crash.
According to the debug service there are lots of unhandled exceptions happening during the client's startup in mscorlib etc. but I am guessing those are completely unrelated.
Also: I switched to the 32-bit version of AdiIRC and so far it has yet to crash.
Updated by Per Amundsen over 6 years ago
The minor mscorlib exceptions are normal.
That is odd considering the 32 bit and 64 bit is exactly the same, except the 32 bit is forced to run in 32 bit mode.
Thanks for sending the dump file, I tried to find some clues, but i am unable to understand the disassembly, I will try to learn how to read it but it will probably take a while, meanwhile you can keep using 32 bit, 64 bit has no advantages.
There doesn't seem to be any information in the dump related to .NET which I find very odd, unless they are in the "?? ??" entries.
Updated by Rei Kamigishi over 6 years ago
I guess I will go back to 2.x since the 32-bit version just closed on me too. Thank you for the suggestions nevertheless.
I also ran memtest recently and there seems to be nothing wrong with my PC's RAM… I suspected hardware issues but it's just AdiIRC acting like this. I will try reinstalling Windows somewhere in June to exclude software issues as well.
Updated by Per Amundsen over 6 years ago
If you have the ability/time, It would be interesting to see if running it in a virtual machine like hyper-v, vmware or virtualbox on your machine triggers the same issue.
Updated by Rei Kamigishi over 6 years ago
A small update: I have not yet got a VM running but today something really strange happened: I had two instances of AdiIRC 3 beta running, one the usual way, the other with no windows whatsoever. Both instances crashed at the same time.
Updated by Per Amundsen over 6 years ago
When you say no windows, do you mean you no Server/Channel windows? Different config file as well?
Also, was it at your local time 00:00 by any chance?
I have been looking for threads/timers which could involve any type of tls, one of them is update check, maybe try disable it for a while, see if it helps.
Updated by Rei Kamigishi over 6 years ago
Yes, no windows open whatsoever.
The other crash did not happen in crypt32.dll, however, just like in three of the cases listed in reply #2 above. I will try to get dumps for this simultaneous crash.
Updated by Per Amundsen over 6 years ago
Very interesting, that makes me believe this is not related to AdiIRC but instead maybe the whole .NET runtime is crashing and then throwing a error in whatever module the .NET runtime was using at the time, e.g reading irc messages through ssl in the readthread,
Assuming you are using .NET 4+, do you have any other .NET 4+ apps running, if not, could you try having something like https://getsharex.com/ running in the background and see if it also crashes at that exact time?
Updated by Rei Kamigishi over 6 years ago
ShareX is running 24/7 and had no crashes so far. It's all getting really weird, to be honest. Maybe I should really do a complete Windows reinstall to exclude any issues with the OS itself.
It may be that the 1803 update is at fault?
Updated by Per Amundsen over 6 years ago
I don't know if something broke in 1803, but I am running I and smany other users are running it without any issues so far.
Instead of reinstall, I would suggest trying a virtual machine, e-g virtualbox and hyper-v are both free.
Updated by Rei Kamigishi over 6 years ago
Had no chance to get Windows 10 installed in a VM yet but I used imagecfg to restrict AdiIRC to single processor mode (no SMP) and it has not crashed for a whole week so far with 3 server connexions and update checks enabled. It seems like it is indeed a race condition.
It is still very weird that it still happened with update checks off and with no windows/connexions open.
Updated by Per Amundsen over 6 years ago
Wow that is the weirdest workaround I have ever seen in a .NET program, very hard to imagine how SMP could be a factor in this case.
Glad you found a workaround though and I am sorry you are having such a hard time with AdiIRC.
Updated by Per Amundsen over 6 years ago
Also to satisfy my curiosity, is this some kind of dual XEON system, or a NUMA/AMD cpu ?
Updated by Per Amundsen over 6 years ago
Wonder if this is related to your issue https://aloiskraus.wordpress.com/2018/06/16/why-skylakex-cpus-are-sometimes-50-slower-how-intel-has-broken-existing-code/.
Relevant change from https://github.com/Microsoft/dotnet-framework-early-access/blob/master/release-notes/build-3621/dotnet-build-3621-changes.md#clr
Improved spin-waits in several synchronization primitives to perform better on Intel Skylake and more recent microarchitectures. [495945, mscorlib.dll, Bug]
Updated by Rei Kamigishi over 6 years ago
That would be really weird as I use an Ivy Bridge CPU (i7-3770K). Not sure if race conditions can actually happen because of longer spin-wait timers; pointer assignments should be atomic no matter if locks/semaphores are in use or not…
As I see this, a pointer operation stops being atomic and a thread running on a different core accesses the pointer midway through something like a null assignment (the first 32 bits are already changed and the last 32 are due to be changed in the next opcode in the pipeline), possibly failing a null check and then de-referencing it with a half-broken address or just straight trying to de-reference a null pointer depending on whether the pointer value is assigned to a different pointer before a check, or just checked by itself.
The real puzzle here is why does mscorlib fail at thread safety and concurrency so spectacularly and only in this particular application…
Updated by Per Amundsen over 6 years ago
Funny because I have been developing AdiIRC on a 3770k since 2012.
Lots of things are not thread safe in .NET, proper care must be made, but in all cases I have discovered, the .NET framework throws a proper exception/stack trace, it never hard crashes into windows.
Anyways I just noticed that post and it got me thinking, worth a shot :)
Updated by Per Amundsen over 6 years ago
I made a build which disables most timers and threads I could think of, maybe let it run for a while with no connections and see if it crashes, https://adiirc.com/build2/AdiIRC64.exe.
Updated by Rei Kamigishi over 6 years ago
It still crashed in the same manner.
Full Call Stack
Function Arg 1 Arg 2 Arg 3 Arg 4 Source crypt32!TlgAggregateInternalRegisteredProviderEtwCallback+4c 00000000`211747d0 00000000`00000002 00000000`00000000 00000000`7ffe0385 crypt32!_TlgEnableCallback+2486f 00000000`003c2000 00007ffa`a1220000 00007ffa`88b54810 00007ffa`a1251c9e ntdll!EtwpEventApiCallback+d4 00000000`00000001 00007ffa`a123d43e 00000000`00000000 00000000`0000003c ntdll!EtwpUpdateEnableInfoAndCallback+e2 00000000`211747d0 00000000`2254f4a8 00000000`2254f508 00000000`000000c6 ntdll!EtwpProcessNotification+59 00000000`2254f530 00000000`7ffe0300 00000000`006e0304 00000000`0000003c ntdll!EtwDeliverDataBlock+bb 00000000`00000000 00007ffa`02000000 00000000`00000000 00000000`00000000 ntdll!EtwpNotificationThread+6d 00000000`006e0950 00000000`2254f828 00000000`00000000 00007ffa`a1262d16 ntdll!TppExecuteWaitCallback+a0 00000000`006e0ad8 00000000`211a11b0 00000000`00000000 00000000`00000000 ntdll!TppWorkerThread+2a9 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 kernel32!BaseThreadInitThunk+14 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 ntdll!RtlUserThreadStart+21 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000
I wonder if this is some .NET bug? Is this build targeting 4.7.2?
Updated by Per Amundsen over 6 years ago
It's compiled for .NET 4.5.
Have you tested the .NET 2.0 version https://adiirc.com/AdiIRC64_20_3.1.zip ?
I have a test build for .NET 4.7, but it's broken atm, will add a link when I get it fixed.
Updated by Rei Kamigishi over 6 years ago
The .NET 2.0 build crashes as well.
I found these threads:- https://social.msdn.microsoft.com/Forums/vstudio/en-US/3c76728b-5159-4273-8456-2b449540ef9e/random-crashes-in-crypt32dll-with-latest-windows-update-1803?forum=netfxbcl
- https://social.msdn.microsoft.com/Forums/en-US/62f8e85f-3d1f-44b6-b839-b5a9500d2726/crashes-in-net-2040-applications-after-windows-10-update-1803?forum=netfxbcl
Both describe crashes in crypt32.dll happening with .NET 4.x and 2.0 applications that ran fine on 1709.
It seems it might actually be a bug in crypt32.dll… What if I put the 1709 version of that DLL (if I manage to find it somewhere) side by side with the .exe? Would it load it over the system-wide one?
Update: it will not, probably needs app.config.
Updated by Rei Kamigishi over 6 years ago
- File crypt32.dll crypt32.dll added
Attaching 1709's crypt32.dll for reference in case it would be possible to make an app.config that would force loading this. I am, sadly, not well versed in these…
Updated by Per Amundsen over 6 years ago
Those forums posts makes it more likely there is a windows and/or .NET bug in 1803, but not for everybody (maybe limited to windows server version).
AdiIRC does not target crypt32.dll directly, it goes AdiIRC -> .NET framework -> Windows dll's.
Guess we have to wait and see if microsoft fixes it.
Updated by Rei Kamigishi over 6 years ago
There is also the mscorlib.dll crash but I am guessing it is likely triggered by crypt32.dll (either of them changes some shared pointer in a non-atomic way).
I guess I will get by with imagecfg for now. Thank you for your help with this.
Updated by Rei Kamigishi over 6 years ago
Regarding crypt32.dll replacement (for debug purposes): I think it could be possible to get it to use a local copy, but that would require the application to not have a manifest as per https://msdn.microsoft.com/en-us/library/windows/desktop/ms682600
Updated by Per Amundsen over 6 years ago
AdiIRC does not load/use this DLL, the .NET framework does.
To test this hypothesis you can install Windows 10 build 1803 in a virtual machine to isolate it from any non windows related issues such as installed programs/tools/libraries/settings etc. If it crashes in this stock format, you can install Windows 10 build 1709 in a separate virtual machine to see if there is a regression.
These test tells us everything we need to know.
Updated by Per Amundsen over 6 years ago
- Category set to Interface
- Status changed from New to Resolved
- Assignee set to Per Amundsen
Updated by Per Amundsen over 6 years ago
- Status changed from Resolved to Closed