Cubox Posted November 19, 2017 Share Posted November 19, 2017 Hi, Ever since the update, i'm seeing Corsair Link crash, generally once a day (after I get on my computer, I never turn it off) Have a Corsair Commander Pro controlling 2 led strips and 6 fans, and a RM650i. Faulting application name: CorsairLink4.exe, version: 4.9.2.27, time stamp: 0x59f86f1a Faulting module name: ntdll.dll, version: 10.0.15063.608, time stamp: 0x802f667e Exception code: 0xc0000005 Fault offset: 0x0005da74 Faulting process ID: 0x29d0 Faulting application start time: 0x01d360d3ad7487c6 Faulting application path: C:\Program Files (x86)\CorsairLink4\CorsairLink4.exe Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll Report ID: 628c8878-10d1-4674-9be0-bdf79f540e10 Faulting package full name: Faulting package-relative application ID: Faulting application name: CorsairLink4.exe, version: 4.9.2.27, time stamp: 0x59f86f1a Faulting module name: ntdll.dll, version: 10.0.15063.608, time stamp: 0x802f667e Exception code: 0xc0000005 Fault offset: 0x0005da74 Faulting process ID: 0x26ac Faulting application start time: 0x01d36024b6687e3d Faulting application path: C:\Program Files (x86)\CorsairLink4\CorsairLink4.exe Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll Report ID: ec98151d-b306-423e-9fc8-b0c2a5cdaeda Faulting package full name: Faulting package-relative application ID: Application: CorsairLink4.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.Runtime.Remoting.RemotingException Server stack trace: at System.Runtime.Remoting.Channels.Ipc.IpcPort.Read(Byte[] data, Int32 offset, Int32 length) at System.Runtime.Remoting.Channels.Ipc.PipeStream.Read(Byte[] buffer, Int32 offset, Int32 size) at System.Runtime.Remoting.Channels.SocketHandler.ReadFromSocket(Byte[] buffer, Int32 offset, Int32 count) at System.Runtime.Remoting.Channels.SocketHandler.Read(Byte[] buffer, Int32 offset, Int32 count) at System.Runtime.Remoting.Channels.SocketHandler.ReadAndMatchFourBytes(Byte[] buffer) at System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadAndMatchPreamble() at System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadVersionAndOperation(UInt16& operation) at System.Runtime.Remoting.Channels.Ipc.IpcClientHandler.ReadHeaders() at System.Runtime.Remoting.Channels.Ipc.IpcClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream) at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg) at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessage) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(System.Runtime.Remoting.Proxies.MessageData ByRef, Int32) at Microsoft.Shell.SingleInstance`1+IPCRemoteService[[system.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InvokeFirstInstance(System.Collections.Generic.IList`1<System.String>) at Microsoft.Shell.SingleInstance`1[[system.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].SignalFirstInstance(System.String, System.Collections.Generic.IList`1<System.String>) at Microsoft.Shell.SingleInstance`1[[system.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InitializeAsFirstInstance(System.String) at CorsairLink4.Win7.App.Main(System.String[]) Faulting application name: CorsairLink4.exe, version: 4.9.2.27, time stamp: 0x59f86f1a Faulting module name: KERNELBASE.dll, version: 10.0.15063.674, time stamp: 0x6d16dd24 Exception code: 0xe0434352 Fault offset: 0x000eb872 Faulting process ID: 0x2570 Faulting application start time: 0x01d35fcb6d9ab991 Faulting application path: C:\Program Files (x86)\CorsairLink4\CorsairLink4.exe Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll Report ID: 0f5fbf51-fb83-4755-96d4-9b36936084f1 Faulting package full name: Faulting package-relative application ID: The program CorsairLink4.exe version 4.9.2.27 stopped interacting with Windows and was closed. To see if more information about the problem is available, check the problem history in the Security and Maintenance control panel. Process ID: 2a44 Start Time: 01d35f25da2fed8d Termination Time: 4294967295 Application Path: C:\Program Files (x86)\CorsairLink4\CorsairLink4.exe Report Id: c08c68d8-c6ce-4131-8e29-25744b688135 Faulting package full name: Faulting package-relative application ID: When this happens, I have to kill the CorsairLink4Service in order to relaunch successfully the software. Link to comment Share on other sites More sharing options...
DevBiker Posted November 19, 2017 Share Posted November 19, 2017 Interesting and awesome stack trace. That'll be useful. It looks like there is an issue when it's checking to make sure that it's running as a single instance. It uses this: http://blogs.microsoft.co.il/blogs/arik/SingleInstance.cs.txt or some derivative of it (Microsoft.Shell.SingleInstance is a dead giveaway.) What's going on when this happens? Are you resuming from sleep? Are you launching Link manually (from the Start menu rather than from the system tray)? Link to comment Share on other sites More sharing options...
Cubox Posted November 21, 2017 Author Share Posted November 21, 2017 Interesting and awesome stack trace. That'll be useful. It looks like there is an issue when it's checking to make sure that it's running as a single instance. It uses this: http://blogs.microsoft.co.il/blogs/arik/SingleInstance.cs.txt or some derivative of it (Microsoft.Shell.SingleInstance is a dead giveaway.) What's going on when this happens? Are you resuming from sleep? Are you launching Link manually (from the Start menu rather than from the system tray)? It happens randomly. I have not figured out a specific pattern. Happens once a day, give or take. The computer never changes state (sleep, nor shutdown). Hell, C-States are even disabled. If I can find a pattern or a link with other "things", i'll be sure to report it. Link to comment Share on other sites More sharing options...
Corsair Employee Corsair Dustin Posted November 21, 2017 Corsair Employee Share Posted November 21, 2017 Can you fill out your system specs in your profile so we can see what you're running it on? Link to comment Share on other sites More sharing options...
Cubox Posted November 22, 2017 Author Share Posted November 22, 2017 Happened again Faulting application name: CorsairLink4.exe, version: 4.9.2.27, time stamp: 0x59f86f1a Faulting module name: ntdll.dll, version: 10.0.15063.608, time stamp: 0x802f667e Exception code: 0xc0000005 Fault offset: 0x0005da74 Faulting process ID: 0x2d54 Faulting application start time: 0x01d3627439d0b9fc Faulting application path: C:\Program Files (x86)\CorsairLink4\CorsairLink4.exe Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll Report ID: a1ec3106-ceec-496b-b16f-12251d4cded2 Faulting package full name: Faulting package-relative application ID: Fault bucket , type 0 Event Name: APPCRASH Response: Not available Cab Id: 0 Problem signature: P1: CorsairLink4.exe P2: 4.9.2.27 P3: 59f86f1a P4: ntdll.dll P5: 10.0.15063.608 P6: 802f667e P7: c0000005 P8: 0005da74 P9: P10: Attached files: \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER9FE2.tmp.dmp \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA35E.tmp.WERInternalMetadata.xml \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA36F.tmp.csv \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA38F.tmp.txt These files may be available here: Analysis symbol: Rechecking for solution: 0 Report ID: a1ec3106-ceec-496b-b16f-12251d4cded2 Report Status: 134217728 Hashed bucket: Link to comment Share on other sites More sharing options...
Cubox Posted November 22, 2017 Author Share Posted November 22, 2017 Can you fill out your system specs in your profile so we can see what you're running it on? Done. If you need more info, I'll gladly tell you. If there is a way to enable dump generation for those crashes, i'm ok too. Link to comment Share on other sites More sharing options...
Corsair Employee Corsair Dustin Posted November 22, 2017 Corsair Employee Share Posted November 22, 2017 Thank you! My first instinct would be to check and see if a conflict with DrivePool is the issue, in which case the first thing I would try would be running HWMonitor and seeing if it causes the system to lock or crash. That would help isolate whether it's Link specific or related to how the CPUID SDK is detecting your drives. Link to comment Share on other sites More sharing options...
DevBiker Posted November 22, 2017 Share Posted November 22, 2017 So ... it looks like this happens during the "Single Instance" check at startup. It's actually trying to open a .NET Remoting channel to the running instance. Question: Does this happen when you try to open Link from the system tray icon? Or does it happen when you try to open Link from the Start Menu shortcut? Link to comment Share on other sites More sharing options...
Cubox Posted November 23, 2017 Author Share Posted November 23, 2017 Thank you! My first instinct would be to check and see if a conflict with DrivePool is the issue, in which case the first thing I would try would be running HWMonitor and seeing if it causes the system to lock or crash. That would help isolate whether it's Link specific or related to how the CPUID SDK is detecting your drives. Occurs with DrivePool uninstalled as well. HWMonitor suffers the "Corsair Link don't want no mutex" bug and will make the link go haywire if I launch it. (but no crash, it's an unrelated problem) So ... it looks like this happens during the "Single Instance" check at startup. It's actually trying to open a .NET Remoting channel to the running instance. Question: Does this happen when you try to open Link from the system tray icon? Or does it happen when you try to open Link from the Start Menu shortcut? I open Link using a desktop shortcut, that is when Link is not started by the system at boot. Link to comment Share on other sites More sharing options...
DevBiker Posted November 23, 2017 Share Posted November 23, 2017 OK. So ... next question ... is this when Link is running in the system tray? Can you check? Perhaps ... at start up, close the window (this will minimize it to the system tray) and then start it from the start menu? I'm trying to determine if it's happening on initial startup (when the Remoting channel is first opened) or if it's on a subsequent startup (when the second instance is trying to "find" the first instance and make it pop open while it shuts down). Also, can you try restoring it from the system tray? Link to comment Share on other sites More sharing options...
Cubox Posted November 24, 2017 Author Share Posted November 24, 2017 OK. So ... next question ... is this when Link is running in the system tray? Can you check? Perhaps ... at start up, close the window (this will minimize it to the system tray) and then start it from the start menu? I'm trying to determine if it's happening on initial startup (when the Remoting channel is first opened) or if it's on a subsequent startup (when the second instance is trying to "find" the first instance and make it pop open while it shuts down). Also, can you try restoring it from the system tray? Link is always running in the system tray. Interacting with the software is not causing any crash/issue. The crash occurs when I am not on the computer. Link to comment Share on other sites More sharing options...
DevBiker Posted November 24, 2017 Share Posted November 24, 2017 Oh, well that's interesting. Looking at the stack trace a bit more, here's exactly what's happening. Link is starting up. When Link starts, it uses the SingleInstance class that I referenced before. That's the first thing it goes into. Microsoft.Shell.SingleInstance checks to see if it is a single instance [at Microsoft.Shell.SingleInstance`1[[system.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InitializeAsFirstInstance(System.String)]. It does this by looking for a very specifically named mutex ("CorsairLink4_Application_String:SingeInstanceIPCChannel" <-- that's a typo in the SingleInstance<TApp> class, not from Corsair, btw ... and it doesn't really matter.) If it is not the single instance (because the mutex exists), it opens a communication channel, via .NET Remoting over IPC, to the first instance [at Microsoft.Shell.SingleInstance`1[[system.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].SignalFirstInstance(System.String, System.Collections.Generic.IList`1<System.String>)] ... and then sends a signal for it to pop up [at Microsoft.Shell.SingleInstance`1+IPCRemoteService[[system.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InvokeFirstInstance(System.Collections.Generic.IList`1<System.String>)] ... from there, it goes into the .NET Remoting implementation to actually execute the cross-process call. So ... it's finding the mutex indicating that there is a "first instance" but when it calls the first instance, the channel is closed. I suspect that this happens when Link crashes or doesn't shut down cleanly (and the mutex isn't cleaned up). Remoting, as a fully managed resource, would eventually get garbage collected and close the channels. Mutexes, on the other hand, are not managed resources so they won't get cleaned up unless something actually cleans them up. And, due to the nature of mutexes, what they do and what they are for, even if they were garbage collected, it wouldn't necessarily be appropriate for the system to automatically deallocate them. Since you aren't at the computer when this is happening, I (again) suspect that there is an initial crash (that we may not be seeing a stack trace from) and Windows is trying to restart the application. Note ... at this point, there isn't anything for you to do, I'm just trying to point Dustin and the dev team in the right place. Link to comment Share on other sites More sharing options...
Cubox Posted November 25, 2017 Author Share Posted November 25, 2017 Alright, I just attached Corsair Link into Visual Studio, i'll get that stack trace of the crash! Link to comment Share on other sites More sharing options...
Cubox Posted November 26, 2017 Author Share Posted November 26, 2017 The program '[9800] CorsairLink4.exe' has exited with code -1073741819 (0xc0000005) 'Access violation'. Sigh. If only I could have more info on this damn crash. Link to comment Share on other sites More sharing options...
DevBiker Posted November 26, 2017 Share Posted November 26, 2017 Well, you don't have the debug symbols (pdb) file. You can turn on logging - that may or may not catch the exception. You can also look at event viewer for an event with the source ".NET Runtime" for a trace. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.