That message simply means the command thread was too busy to acknowledge your request within its allotted time. That timeout is fixed. That does not mean the action did not happen. It means you didn’t get an acknowledgement that it happened.
It is for this reason that I prefer to place threads that I will be stopping and starting from a script within its own process. When you call hcienginestop, if the engine does not stop within a certain time, the hcienginestop script will kick it to death.
Also, you may wish to change that time. By default, it can take up to 300 seconds (5 minutes) for an engine to shut down if it is hung.
All you need to do is edit the hcienginestop script in the $HCIROOT/bin directory. Look for the following subroutine:
sub waitForIt {
local( $name ) = @_;
local( $tries ) = 30;
while( ($pid = &getHciEnginePid( $name )) && $tries– ) {
sleep 10;
}
return $pid;
}
Change the number of tries and or sleep time to whatever you like. For example, if you change number of tries to 9, it would take at most 90 seconds.
I hope this helps