What are causes of a kernel execution hanging?

I had a S1070 to myself, but as I’m about to leave others have started to use it and now the code I need to run that ran fine before other users used all devices does not run. It hangs in the largest kernel.

So what are causes of hanging (other than infinite loops), and how can they be rectified?