Jump to content
Corsair Community

Link has stopped working


Cubox

Recommended Posts

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

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

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

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

  • Corsair Employee

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

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

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

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

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

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...