M
MatthewRoberts
Howdy All,
I have a Windows Service that often stops in its tracks with no
exception and no explanation on our QA system.
During testing on the development machine, it can handle any workload,
and complete with no problems. Even during testing on another test
machine, it can handle any workload, and complete with no problems.
This behavior has been tested multiple times.
However, when installed on our QA system, it often stops with no
exception and no explanation. This behavior has recurred multiple
times, albeit at different points in the code each time. It never
recurs at the same point twice.
I have seen this behavior if it were trying to write an event log
message when the Event Log is full. However, that is not the case here.
1) It is not trying to write any event log messages. 2) The Event Log
is not full.
I have also seen this behavior when certain errors occur outside of an
error handler, such as trying to access a nonexistent file. However,
again, that is not the case here. 1) All code that could possibly cause
an error is within an error handler. Further, there is one primary
error handler in the timer event that the service operates with. If any
error were to occur, it should bubble up to this error handler if not
caught by any other error handler. 2) I am not trying to access a
nonexistent file or any other code that I have seen cause unexplained
halting.
Whenever I have seen service halting before, such as when the Event Log
is full, I can use the Task Manager to view running processes. Doing so
reveals that the memory footprint of the halted service process is
almost 0. However, in this case, the memory footprint is normal.
I should add that the QA machine where this halting behavior occurs is
severely bogged down with other processes. Specifically, it is running
SQL Server, and the SQL Server process is consuming 98% or 99% of the
processor. It seems like no other processes are being given a time
slice. The Windows UI is barely responsive, but it eventually does
respond to mouse and keyboard commands.
In production, it is unlikely that the service machine or the database
machine will be this highly utilized. However, I cannot be certain of
this, and without being able to catch this unexplained error, I cannot
make the service degrade gracefully. This is preventing the QA team
from signing off, which is preventing the application from being put
into production.
Can anyone shed any light on this topic? Why would a Windows Service
halt for no reason and not throw an exception?
Thanks in advance,
Matthew
I have a Windows Service that often stops in its tracks with no
exception and no explanation on our QA system.
During testing on the development machine, it can handle any workload,
and complete with no problems. Even during testing on another test
machine, it can handle any workload, and complete with no problems.
This behavior has been tested multiple times.
However, when installed on our QA system, it often stops with no
exception and no explanation. This behavior has recurred multiple
times, albeit at different points in the code each time. It never
recurs at the same point twice.
I have seen this behavior if it were trying to write an event log
message when the Event Log is full. However, that is not the case here.
1) It is not trying to write any event log messages. 2) The Event Log
is not full.
I have also seen this behavior when certain errors occur outside of an
error handler, such as trying to access a nonexistent file. However,
again, that is not the case here. 1) All code that could possibly cause
an error is within an error handler. Further, there is one primary
error handler in the timer event that the service operates with. If any
error were to occur, it should bubble up to this error handler if not
caught by any other error handler. 2) I am not trying to access a
nonexistent file or any other code that I have seen cause unexplained
halting.
Whenever I have seen service halting before, such as when the Event Log
is full, I can use the Task Manager to view running processes. Doing so
reveals that the memory footprint of the halted service process is
almost 0. However, in this case, the memory footprint is normal.
I should add that the QA machine where this halting behavior occurs is
severely bogged down with other processes. Specifically, it is running
SQL Server, and the SQL Server process is consuming 98% or 99% of the
processor. It seems like no other processes are being given a time
slice. The Windows UI is barely responsive, but it eventually does
respond to mouse and keyboard commands.
In production, it is unlikely that the service machine or the database
machine will be this highly utilized. However, I cannot be certain of
this, and without being able to catch this unexplained error, I cannot
make the service degrade gracefully. This is preventing the QA team
from signing off, which is preventing the application from being put
into production.
Can anyone shed any light on this topic? Why would a Windows Service
halt for no reason and not throw an exception?
Thanks in advance,
Matthew