RCC.exe takes up 100% CPU
RCC.exe takes up 100% CPU
Hi !
HM 5.66 on Win2003 (no SP1). I'm having trouble connecting a RCC to HostMonitor.
Scenario 1: I connect from the server running HM to 127.0.0.1 with timeout value 12. I get HM's interface in RCC but it hangs most of the time and cannot ber used.
Scenario 2: I connect from home (tested on Windows 2003 Terminal Server and Windows XP Pro) on a 4 MBit DSL line to the server running HM on it's public IP with timeout value 12. RCC retrieves information from HM but after having retrieved test list for a few seconds it terminates and tells me that my key may be invalid/HM is running on a cracked key.
Scenario 3: I connect from home (tested on Windows 2003 Terminal Server and Windows XP Pro) on a 4 MBit DSL line to the server running HM on it's public IP with timeout value 30. RCC retrieves information from HM and I get HM's interface but most of the time rcc.exe uses 100% CPU time and cannot be used.
Our HM have around 5000 tests, but it doesn't seem to make any difference if I set Status refresh rate to a lower value.
Do you have any suggestions ?
Thanks in advance !
Kasper :O)
HM 5.66 on Win2003 (no SP1). I'm having trouble connecting a RCC to HostMonitor.
Scenario 1: I connect from the server running HM to 127.0.0.1 with timeout value 12. I get HM's interface in RCC but it hangs most of the time and cannot ber used.
Scenario 2: I connect from home (tested on Windows 2003 Terminal Server and Windows XP Pro) on a 4 MBit DSL line to the server running HM on it's public IP with timeout value 12. RCC retrieves information from HM but after having retrieved test list for a few seconds it terminates and tells me that my key may be invalid/HM is running on a cracked key.
Scenario 3: I connect from home (tested on Windows 2003 Terminal Server and Windows XP Pro) on a 4 MBit DSL line to the server running HM on it's public IP with timeout value 30. RCC retrieves information from HM and I get HM's interface but most of the time rcc.exe uses 100% CPU time and cannot be used.
Our HM have around 5000 tests, but it doesn't seem to make any difference if I set Status refresh rate to a lower value.
Do you have any suggestions ?
Thanks in advance !
Kasper :O)
Lets try new versions:
www.ks-soft.net/download/hm567.zip
www.ks-soft.net/download/rcc109.zip
Regards
Alex
www.ks-soft.net/download/hm567.zip
www.ks-soft.net/download/rcc109.zip
Regards
Alex
Alex,
Thanks for the 5.67 build - but all results are still the same, I'm afraid
However, I have now testet the exacts same conditions with a much smaller .hml-file (containing a few hundred tests) and everything works fine, both when connecting from the server itself and from my home location.
So it seems like it's the number of tests that makes the difference.
If you would like to test yourself with my .hml-file I can send it to you privately.
Thanks !
Kasper :O)
Thanks for the 5.67 build - but all results are still the same, I'm afraid

However, I have now testet the exacts same conditions with a much smaller .hml-file (containing a few hundred tests) and everything works fine, both when connecting from the server itself and from my home location.
So it seems like it's the number of tests that makes the difference.
If you would like to test yourself with my .hml-file I can send it to you privately.
Thanks !
Kasper :O)
We don't really need copy of exe modules
Unfortunately we cannot reproduce hung/crash problem
but we have reproduced high CPU load problem.
It can be explained:
HostMonitor performs 96 tests per second: 69 tests by schedule + master test checks. So, every 10 sec HostMonitor encrypts 960 test results and sends to RCC, RCC must decrypt all this data, change test statistics, resort items, repaint folders and icon. It takes a lot of time...
BTW You have a lot of master-dependant relations - 10164!!. Are you really need that much?
We will try to optimize some code in next version (may be this week).
Regards
Alex

Unfortunately we cannot reproduce hung/crash problem

It can be explained:
HostMonitor performs 96 tests per second: 69 tests by schedule + master test checks. So, every 10 sec HostMonitor encrypts 960 test results and sends to RCC, RCC must decrypt all this data, change test statistics, resort items, repaint folders and icon. It takes a lot of time...
BTW You have a lot of master-dependant relations - 10164!!. Are you really need that much?
We will try to optimize some code in next version (may be this week).
Regards
Alex
Alex,
> We don't really need copy of exe modules
Hehe - nope, but it's damn easy just to compress the entrire directory
> Unfortunately we cannot reproduce hung/crash problem ...
I can verify your result - now. I just installed HM on another server and overwrote it with the copy I sent to you and on this testserver I am able to connect and work with the tests. I wonder what can be the issue on our main server - only big difference from that one and the test server is that the main server runs with W2K3 without SP1 while the test server has SP1 applied. I'll do some further testing and let you now what the results are.
> ... but we have reproduced high CPU load problem
> So, every 10 sec HostMonitor encrypts 960 test results
> and sends to RCC, RCC must decrypt all this data ...
Would it be possible to make en- and decrypting optional ?
We only connect through either closed networks or through VPN so in this particular scenario en- and decrypting only uses unnecessary CPU time.
Others might of course need it when connecting over the open Internet.
> BTW You have a lot of master-dependant relations - 10164!!.
> Are you really need that much?
Perhaps we don't. In general, all tests performed for a given server (except Ping) is performed by the local RMA which is why all tests for a given server is dependant on the RMA answering on port 3456 (our preferred RMA port). Even TCP port tests are beeing performed by RMA as our HM Server doesn't have access to the ports itself (except of course RMA's port).
In everyday use HM runs just fine with all these master-dependant relations.
Thanks !
Kasper :O)
> We don't really need copy of exe modules

Hehe - nope, but it's damn easy just to compress the entrire directory

> Unfortunately we cannot reproduce hung/crash problem ...
I can verify your result - now. I just installed HM on another server and overwrote it with the copy I sent to you and on this testserver I am able to connect and work with the tests. I wonder what can be the issue on our main server - only big difference from that one and the test server is that the main server runs with W2K3 without SP1 while the test server has SP1 applied. I'll do some further testing and let you now what the results are.
> ... but we have reproduced high CPU load problem
> So, every 10 sec HostMonitor encrypts 960 test results
> and sends to RCC, RCC must decrypt all this data ...
Would it be possible to make en- and decrypting optional ?
We only connect through either closed networks or through VPN so in this particular scenario en- and decrypting only uses unnecessary CPU time.
Others might of course need it when connecting over the open Internet.
> BTW You have a lot of master-dependant relations - 10164!!.
> Are you really need that much?
Perhaps we don't. In general, all tests performed for a given server (except Ping) is performed by the local RMA which is why all tests for a given server is dependant on the RMA answering on port 3456 (our preferred RMA port). Even TCP port tests are beeing performed by RMA as our HM Server doesn't have access to the ports itself (except of course RMA's port).
In everyday use HM runs just fine with all these master-dependant relations.
Thanks !
Kasper :O)
H'm, strange... Microsoft fixed some problems in SP1 so it should work better, not worseI wonder what can be the issue on our main server - only big difference from that one and the test server is that the main server runs with W2K3 without SP1 while the test server has SP1 applied. I'll do some further testing and let you now what the results are.

Our favorite OS for many years - Windows 2000 (SP4), but next good Windows is Windows 2003 SP1.
What if some guy from next room sniffs your LAN and gets admin passwords?Would it be possible to make en- and decrypting optional ?
We only connect through either closed networks or through VPN so in this particular scenario en- and decrypting only uses unnecessary CPU time.
We have optimized 2 functions, now RCC uses less CPU resources. Update available at www.ks-soft.net/download/rcc109c.zip
Regards
Alex
Alex,
Okay - have done some furher testing now.
After having applied SP1 to our main server I am now able to connect a RCC to 127.0.0.1 and work with it. Generally speaking it reacts OK and with the latest build of RCC the high CPU load is now a thing of the past
However after having worked with RCC as our main GUI for a few days we've discovered a few things that I think should be mentioned to you.
I apologize if some of them have been mentioned by others before:
* When RCC connects to 127.0.0.1 it always takes 16 seconds to get the GUI but I can connect with every value from 8 and up in the timeout field.
* If I enter a value below 8 in the timeout field RCC.exe will crash with the following error:
"Access violation at address 005DC4BA in module 'rcc.exe'. Read of address 00000004 It looks like you are using an illegal registration key or a cracked version of HostMonitor."
- followed by the contact info.
Afterwards RCC.exe can only be killed from Task Manager - If I choose not to reconnect the windows will cycle back and forth between RCC's GUI and the error window and eventually me entire screen will be filled with error windows
* When closing RCC's GUI I get back to the little window with the options. However most of the options (Port, Timeout value etc.) are now gone and replaced with the info from the last connection. Only way to see them again is closing RCC's window and start RCC again.
I suggest bringing back the options on disconnect - and replace the Disconnect button with an Exit button (nothing much to disconnect from anyway)
* When working with RCC's GUI it updates accordingly to the status refresh rate set before connecting. This means that even if I right click on a test and choose "Refresh selected test(s)" I'll have to wait to the next automatic refresh. Would it be possible to force an update for selected tests ?
* When right clicking an existing test and select "Copy..." I can choose destination folder. After having selected a folder I get a "rcc: not implemented yet" window. If the destination folder is the same as the source folder I get another one. The test is copied however and works just fine.
Despite all these comments I'll have to say that you've done a great job with RCC !
I am very surprised to see it work so well already only 0.07 versions after it was introduced in HM 5.60 and I'm sure that within a very short period we won't need HM's "own" GUI anymore.
Thanks !
Kasper :O)
Okay - have done some furher testing now.
After having applied SP1 to our main server I am now able to connect a RCC to 127.0.0.1 and work with it. Generally speaking it reacts OK and with the latest build of RCC the high CPU load is now a thing of the past

However after having worked with RCC as our main GUI for a few days we've discovered a few things that I think should be mentioned to you.
I apologize if some of them have been mentioned by others before:
* When RCC connects to 127.0.0.1 it always takes 16 seconds to get the GUI but I can connect with every value from 8 and up in the timeout field.
* If I enter a value below 8 in the timeout field RCC.exe will crash with the following error:
"Access violation at address 005DC4BA in module 'rcc.exe'. Read of address 00000004 It looks like you are using an illegal registration key or a cracked version of HostMonitor."
- followed by the contact info.
Afterwards RCC.exe can only be killed from Task Manager - If I choose not to reconnect the windows will cycle back and forth between RCC's GUI and the error window and eventually me entire screen will be filled with error windows

* When closing RCC's GUI I get back to the little window with the options. However most of the options (Port, Timeout value etc.) are now gone and replaced with the info from the last connection. Only way to see them again is closing RCC's window and start RCC again.
I suggest bringing back the options on disconnect - and replace the Disconnect button with an Exit button (nothing much to disconnect from anyway)

* When working with RCC's GUI it updates accordingly to the status refresh rate set before connecting. This means that even if I right click on a test and choose "Refresh selected test(s)" I'll have to wait to the next automatic refresh. Would it be possible to force an update for selected tests ?
* When right clicking an existing test and select "Copy..." I can choose destination folder. After having selected a folder I get a "rcc: not implemented yet" window. If the destination folder is the same as the source folder I get another one. The test is copied however and works just fine.
Despite all these comments I'll have to say that you've done a great job with RCC !
I am very surprised to see it work so well already only 0.07 versions after it was introduced in HM 5.60 and I'm sure that within a very short period we won't need HM's "own" GUI anymore.
Thanks !
Kasper :O)
Spend more time (than specified timeout) to load GUI - its not a problem. Timeout defines communication timeout. In order to load GUI, RCC makes many requests.When RCC connects to 127.0.0.1 it always takes 16 seconds to get the GUI but I can connect with every value from 8 and up in the timeout field.
BTW: 8 sec timeout might be not enough in your case. HostMonitor must encrypt over 6,000 folder/test items, I would recommend to use 15-30 sec timeout.
Yes, its by design. But its easy to bring options back - place cursor on Host, Login on Password fields.When closing RCC's GUI I get back to the little window with the options. However most of the options (Port, Timeout value etc.) are now gone and replaced with the info from the last connection. Only way to see them again is closing RCC's window and start RCC again.
Not exactly. You can specify refresh reate in that "little window with the options".When working with RCC's GUI it updates accordingly to the status refresh rate set before connecting. This means that even if I right click on a test and choose "Refresh selected test(s)" I'll have to wait to the next automatic refresh.
Quote from the manual
Status refresh rate
RCC requests HostMonitor in regular intervals of time and retrieves information about new, modified and removed test items or folders. Also RCC retrieves information about HostMonitor's status and the list of recently checked test items. So, you are able to see what HostMonitor is doing in real time. Refresh rate option specifies how often such requests should be made. Define this parameter depending on the network speed, HostMonitor's load and number of operators that may work with HostMonitor simultaneously.
Are you sure you are using HostMonitor 5.66 and RCC 1.09? I cannot reproduce this. "Not implemented" could say old Beta version of RCC.When right clicking an existing test and select "Copy..." I can choose destination folder. After having selected a folder I get a "rcc: not implemented yet" window. If the destination folder is the same as the source folder I get another one. The test is copied however and works just fine.
That's the real problem. But why we cannot reproduce it??If I enter a value below 8 in the timeout field RCC.exe will crash with the following error:
"Access violation at address 005DC4BA in module 'rcc.exe'. Read of address 00000004


I am using your settings, your test list and options and it works fine.
Thank you. Yes, we redesigned a lot of HostMonitor's code to make RCC, now many operators can work with the same HostMonitor at the same time!!Despite all these comments I'll have to say that you've done a great job with RCC !
And some small bug somewhere makes your live painful...
So, are you really using RCC version 1.09?
Regards
Alex
Alex,
> Timeout defines communication timeout.
OK - I thought that it was the total time from click on Connect to the GUI appeared.
> Yes, its by design. But its easy to bring options back - place cursor on
> Host, Login on Password fields.
Ah, yes. Simple idea: How about making two panes, one for communication log and one for options ?
> Not exactly. You can specify refresh reate in that "little window with the
> options".
Yes. We started out by a refresh rate of 30 times per second, which is default. However RCC tends to "blink" when updating the test results and as we have HM's GUI shown by a projector in a 120" picture on a wall it simply distracts people too much. Thus we changed it to only update 2 times every minute but then the problem is that when we need a very current status of a test "Refresh current test(s)" doesn't actually update anything. I'll have to wait until RCC refreshes by itself which in this case means up to 30 seconds.
If the "blinking" could go away I wouldn't have any problems by using a refresh rate of even 60 times every minute.
> Are you sure you are using HostMonitor 5.66 and RCC 1.09? I cannot
> reproduce this. "Not implemented" could say old Beta version of RCC.
I just double checked and downloaded the RCC available from www.ks-soft.net/download/rcc109c.zip - it's a 3.196.416 bytes file from december 12. 3:49 PM.
HM is 5.67, 3.879.912 bytes from december 8., 2:52:18 PM - but running 5.66 doesn't make a difference.
> That's the real problem. But why we cannot reproduce it??
> I am using your settings, your test list and options and it works fine.
Just did some testing to see if it had something to do with Terminal Services, but even from a standard Windows XP SP1 machine I can reproduce it.
Is there anything that I can do to bring you more debug info? Dr. Watson logs, special RCC.exe's creating tons of log files that only you can understand ?
Kasper :O)
> Timeout defines communication timeout.
OK - I thought that it was the total time from click on Connect to the GUI appeared.
> Yes, its by design. But its easy to bring options back - place cursor on
> Host, Login on Password fields.
Ah, yes. Simple idea: How about making two panes, one for communication log and one for options ?
> Not exactly. You can specify refresh reate in that "little window with the
> options".
Yes. We started out by a refresh rate of 30 times per second, which is default. However RCC tends to "blink" when updating the test results and as we have HM's GUI shown by a projector in a 120" picture on a wall it simply distracts people too much. Thus we changed it to only update 2 times every minute but then the problem is that when we need a very current status of a test "Refresh current test(s)" doesn't actually update anything. I'll have to wait until RCC refreshes by itself which in this case means up to 30 seconds.
If the "blinking" could go away I wouldn't have any problems by using a refresh rate of even 60 times every minute.
> Are you sure you are using HostMonitor 5.66 and RCC 1.09? I cannot
> reproduce this. "Not implemented" could say old Beta version of RCC.
I just double checked and downloaded the RCC available from www.ks-soft.net/download/rcc109c.zip - it's a 3.196.416 bytes file from december 12. 3:49 PM.
HM is 5.67, 3.879.912 bytes from december 8., 2:52:18 PM - but running 5.66 doesn't make a difference.
> That's the real problem. But why we cannot reproduce it??
> I am using your settings, your test list and options and it works fine.
Just did some testing to see if it had something to do with Terminal Services, but even from a standard Windows XP SP1 machine I can reproduce it.
Is there anything that I can do to bring you more debug info? Dr. Watson logs, special RCC.exe's creating tons of log files that only you can understand ?
Kasper :O)
Has senseAh, yes. Simple idea: How about making two panes, one for communication log and one for options ?
Looks like we need to create some special "debugging" version...Is there anything that I can do to bring you more debug info? Dr. Watson logs, special RCC.exe's creating tons of log files that only you can understand ?
BTW: Have you increased timeout? If I am using your settings, RCC does not crash but it shows "Cannot read testlist" error.
Regards
Alex
Alex,
> Looks like we need to create some special "debugging" version...
You are very welcome !
>BTW: Have you increased timeout? If I am using your settings, RCC
> does not crash but it shows "Cannot read testlist" error.
Yes, at the moment it's set to 12 (default). I have never seen the "Cannot read testlist" error; when using timeout values between 0 and 7 RCC crashes and when using 8 or above I can connect to HM.
Kasper :O)
> Looks like we need to create some special "debugging" version...
You are very welcome !
>BTW: Have you increased timeout? If I am using your settings, RCC
> does not crash but it shows "Cannot read testlist" error.
Yes, at the moment it's set to 12 (default). I have never seen the "Cannot read testlist" error; when using timeout values between 0 and 7 RCC crashes and when using 8 or above I can connect to HM.
Kasper :O)