|
Post by duanedibbley on Oct 13, 2022 13:39:13 GMT
Hi Ray,
I tried to contact you by email, but mails seem to get stuck in queue and bounce after one day, therefore I create the thread here. Feel free to reply by mail and delete this post.
The problem is the synchronization when accessing a "Corsair Commander Pro" at the same time. It seems that it works for SIV and HWiNFO, but once we (Argus Monitor) start accessing the device as well, temperature and fan speed readings are all over the place (in all tools as far as I have been told).
We use the mutex we agreed upon and this works for the other devices the user has ("H115i RGB PRO XT" and "RM1000i"), but for the CommanderPro, this is not enough (I also gave the USB mutex a try, but this also did not work). I hope you have some advice/idea on what might be wrong here.
Best regards Udo
|
|
|
Post by siv on Oct 13, 2022 14:16:38 GMT
Hi Udo, I don't know why your emails get bounced, PM me or post the email address you wish to use and I will add you to my whitelist. Given SIV + HWiNFO play nicely then to me it seems likely that Argus Monitor is either using the incorrect lock, not using it correctly, has an incorrect implementation of the CLCP protocol or you have Corsair bloatware running which by bad/poor design fails to correctly use the lock, see spams://siv.boards.net/thread/14/running-same-time-corsair-iPOO. At the moment all I could do is guess what is happening as you have failed to provide any proof that Argus Monitor is even using the correct lock let alone using them correctly. I have learnt the hard way it is not sensible to do this so as ever with locking issues you need to post Menu->Help->Lock-Handle so I can see if what you think your code is doing is what it's actually doing and which other utilities have the locks open. It would be sensible to also post Menu->Tools->Link Status + Menu->Tools->Cooling so I check if your code causes SIV to have issues.
|
|
|
Post by duanedibbley on Oct 13, 2022 14:29:17 GMT
Hi Ray,
Argus is using the locks correctly as far as we can tell, the acquired lock was visible in the screenshot we had from the user and also because it works for the other two devices. So just seeing that Argus acquired the lock won't help was we of course have checked that first.
We lock using RAII for locking the relevant parts of the code (write and read according to the CLCP protocol under the same lock being held).
And it's not on our PC but it can only be reproduced by one of our users. I have forwarded a link to this thread thread and maybe he can post here and provide whatever screenshot you need (or send it to us and we post it here, I have checked the lock handle and Argus is listed, so there is no new information to be gained, but I will try to get a screenshot of 'Menu->Tools->Link Status + Menu->Tools->Cooling' you mentioned).
Also I am pretty certain that Corsair bloatware is NOT active on his PC as this would also lead to conflicts with SIV and/or HWiNFO and both seem to be working without issues. I know the problem is most likely within Argus as starting Argus is the factor that breaks things.
Best regards Udo
|
|
|
Post by siv on Oct 13, 2022 14:42:05 GMT
I have checked the lock handle and Argus is listed, so there is no new information to be gained No, you think you have. I explained why I need it and not you are telling me I don't, I won't help until you post Menu->Help->Lock-HandleYou need to reproduce this on your test system, this not a SIV issue and there is no way I will support Argus users on the SIV forum.
|
|
|
Post by duanedibbley on Oct 13, 2022 15:18:59 GMT
I have checked the lock handle and Argus is listed, so there is no new information to be gained No, you think you have. I explained why I need it and not you are telling me I don't, I won't help until you post Menu->Help->Lock-HandleYou need to reproduce this on your test system, this not a SIV issue and there is no way I will support Argus Users on my forum.
I can't reproduce this on our end as we don't have this hardware. I just want to help the user to get this working. He already sent the screenshot of the lock handles being opened (I guess this is the one you are looking for). Maybe you can explain what you can see on this that I can't in order to use this more effectively next time?
When it comes to the 'tools -> cooling' screenshot, I have requested that one and will post it as soon as I have received it.
|
|
|
Post by siv on Oct 13, 2022 15:26:56 GMT
I can't reproduce this on our end as we don't have this hardware. If you don't have the hardware then you need to go and buy it as I feel trying to support controlling any hardware without having it is a total waste of time. Come back when you have reproduced the issue on your system. It would also be wise to test with just SIV + Argus as I can't be sure what HWiNFO does.
|
|
|
Post by duanedibbley on Oct 13, 2022 15:35:39 GMT
Well, as long as Argus is a hobby project and we don't earn money to speak of with that, this is something we cannot do. But I accept that you don't want to help out here as the problem might very well be within Argus (in theory it could also be in SIV as the same problem of course occurs the other way around, having only Argus active, everything works but as soon as you start SIV, both programs have the issue ). In any case, I just want to make sure all programs work well together and if you don't have any idea what might be causing the problem, then I just have to say: this combination of tools is not supported and the user should decide for either Argus OR SIV in this case.
|
|
|
Post by siv on Oct 13, 2022 15:46:46 GMT
Doing all the testing via a 3rd party is one extra thing to deal with, in the past I tried to do this and it was too much of a PITA so now I don't add control unless I have the hardware and for some hardware I also needed it to sensibly add reporting.
As for it being a hobby then for me SIV is a hobby and I buy hardware so your logic is flawed.
As for SIV having issues with locking then "don't be silly". If SIV had locking issues then running multiple instances of SIV should have issues and I have had validated the CLCP support with least 10 SIVs active at the same time.
How many instances of Argus did you have active when you validated your code?
|
|
|
Post by duanedibbley on Oct 13, 2022 15:55:58 GMT
How many instances of Argus did you have active when you validated your code?
One instance only. That's another thing we use a mutex for to tell us if there is another instance of Argus to ensure only one can run at any one time. One could therefore also state the if Argus had locking issues, you would be able to start multiple instances.
In any case it seems you are correct insofar as the problem is something that we can't really resolve without having the hardware.
|
|
|
Post by siv on Oct 13, 2022 16:40:33 GMT
SIV has the option, with SIV -SINGLE in effect only one SIV can be active with the default being unlimited.
Either way you should build a test version of Argus that can have multiple instances and use this to check that Augus correctly interlocks CLCP access with itself. By doing this you can be 100% sure any issues are down to Argus and know you need to fix them.
I have found others find a hard to "blame SIV" for locking issues when multiple instances of SIV interlock correctly.
The usual was to detect another instance of an application is to check if the Class Atom exists and if it does it's also usual for the new instance to send a message to the other SIV to move fosus to it.
|
|
|
Post by duanedibbley on Oct 13, 2022 18:07:09 GMT
We do something similar to make sure that if a second instance started that find the mutex another instance created to bring the already running instance to the front.
We have also checked that a second instance (a test instance where I can manually acquire the mutex) will cause the other instance to not access the USB device but skip the read after a relatively long timeout (2000ms) has passed while waiting for the mutex to be get locked. I cannot test this with this specific hardware as I don't have a operational CommanderPro, but I have a H150i Pro and for that one, the identical code works without any issues.
So we know that there is no issue within Argus and we know there is no issue in either HWiNFO nor SIV. What I see is that any combination of Argus with either SIV or HWiNFO causes the problem.
The only explanation that makes sense in my book is if we would both properly use mutexes, but different ones. But as the screenshot above confirms, we rely on the same Corsair-Mutex (that Corsair itself seems not to use properly funnily enough). If we would use 'some other' mutex for the CommanderPro, then this would explain the behavior (also that it works with my mutex test program).
In any case I will investigate some more, but I am running out of ideas what might be wrong.
|
|