A method of performing software diagnostic on a vehicle, the method comprising: performing a particular task by a data processor; determining if resource consumption of the data processor for the respective particular task exceeds a threshold amount of resource consumption, whereby the threshold amount of resource consumption relates to one or more of the following: (a) a measure of the processing throughput of the data processor consumed for performance of a corresponding particular task, (b) measuring of the processing capacity of the data processor consumed for performance of a corresponding particular task, and (c) measuring of the percentage of total processing capacity consumed for performance of a corresponding particular task; wherein the threshold amount of resource consumption indicates a higher than mean historic consumption or higher than median historic consumption of the processing throughput of the data processor or the processing capacity of the data processor for a corresponding task or a substantially similar task; incrementing a loop counter in a data storage device associated with the data processor if the resource consumption for the respective particular task exceeds the threshold amount; rebooting the data processor if the resource consumption for the respective particular task exceeds the threshold amount; if the resource consumption for the respective particular task equals or does not exceed the threshold amount of resource consumption, determining if a watchdog timer expires without being cleared during a timeout period, the watchdog timer tracking the performance of the particular task; and incrementing the loop counter in the data storage device if the watchdog timer expires without being cleared during the timeout period; rebooting the data processor if the watchdog timer expires without being cleared during the timeout period; designating the particular task as a poison message that may consume excessive computational resources or cause the data processor to become bogged down in a repetitive loop or causes the data processor to stop running software or certain software instructions or contributes to another unwanted process if the data processor has been rebooted a maximum number of times as indicated by the loop counter; and (a) segregating the poison message in the data storage device to prevent reading or writing to one or more application programs or (b) deleting the files or data records or file fragments associated with the poison message or poison task, either after segregation for some time period or in lieu of segregation or (c) relieving the data processor of processing of poison data messages that consume greater than target levels of processing resources performing a particular task by a data processor; determining if resource consumption of the data processor for the respective particular task exceeds a threshold amount of resource consumption, whereby the threshold amount of resource consumption relates to one or more of the following: (a) a measure of the processing throughput of the data processor consumed for performance of a corresponding particular task, (b) measuring of the processing capacity of the data processor consumed for performance of a corresponding particular task, and (c) measuring of the percentage of total processing capacity consumed for performance of a corresponding particular task; wherein the threshold amount of resource consumption indicates a higher than mean historic consumption or higher than median historic consumption of the processing throughput of the data processor or the processing capacity of the data processor for a corresponding task or a substantially similar task; incrementing a loop counter in a data storage device associated with the data processor if the resource consumption for the respective particular task exceeds the threshold amount; rebooting the data processor if the resource consumption for the respective particular task exceeds the threshold amount; if the resource consumption for the respective particular task equals or does not exceed the threshold amount of resource consumption, determining if a watchdog timer expires without being cleared during a timeout period, the watchdog timer tracking the performance of the particular task; and incrementing the loop counter in the data storage device if the watchdog timer expires without being cleared during the timeout period; rebooting the data processor if the watchdog timer expires without being cleared during the timeout period; designating the particular task as a poison message that may consume excessive computational resources or cause the data processor to become bogged down in a repetitive loop or causes the data processor to stop running software or certain software instructions or contributes to another unwanted process if the data processor has been rebooted a maximum number of times as indicated by the loop counter; and (a) segregating the poison message in the data storage device to prevent reading or writing to one or more application programs or (b) deleting the files or data records or file fragments associated with the poison message or poison task, either after segregation for some time period or in lieu of segregation or (c) relieving the data processor of processing of poison data messages that consume greater than target levels of processing resources