Project

General

Profile

Actions

Bug #3893

closed

AdiIRC 3.0 64-bit occasionally silently closes

Added by Rei Kamigishi over 6 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Interface
Target version:
Start date:
05/14/2018
Due date:
% Done:

0%

Estimated time:
Operative System:
Windows 10
Regression:
No

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

Actions #1

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.

Actions #2

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:
Actions #3

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?

Actions #4

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.

Actions #5

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.

Actions #6

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?

Actions #7

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.

Actions #8

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

Actions #9

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.

Actions #10

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?

Actions #11

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.

Actions #12

Updated by Per Amundsen over 6 years ago

Actions #13

Updated by Rei Kamigishi over 6 years ago

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.

Actions #14

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 .

Actions #15

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.

Actions #16

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.

Actions #17

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.

Actions #18

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.

Actions #19

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.

Actions #20

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.

Actions #21

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.

Actions #22

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?

Actions #23

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?

Actions #24

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.

Actions #25

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.

Actions #26

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.

Actions #27

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 ?

Actions #28

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]

Actions #29

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…

Actions #30

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 :)

Actions #31

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.

Actions #32

Updated by Rei Kamigishi over 6 years ago

Got it and will do, thank you.

Actions #33

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?

Actions #34

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.

Actions #35

Updated by Rei Kamigishi over 6 years ago

The .NET 2.0 build crashes as well.

I found these threads:

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.

Actions #36

Updated by Rei Kamigishi over 6 years ago

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…

Actions #37

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.

Actions #38

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.

Actions #39

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

Actions #40

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.

Actions #41

Updated by Per Amundsen over 6 years ago

  • Category set to Interface
  • Status changed from New to Resolved
  • Assignee set to Per Amundsen
Actions #42

Updated by Per Amundsen over 6 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF