I think in the "stuck chef-client" case we can't do anything at this level. We need to build a self-destruct mechanism into chef-client to suicide if he runs for a long amount of time to overcome it. And that would create other problems. 

If you have a stuck chef-client run for a long amount of time, I think we can assume someone needs to intervene on that node.