If the empty pointer happens at game start:
A function/action trys to access a pointer which is not set yet.
This happens, because some entities are created before others.
So lets say the enemie accesses the player pointer in his action while loop.
But because he is created earlier (for any reason) he gets an empty pointer and you as a developer an empty pointer error.
This can be sorted out by simply adding another while loop _before_ the main while loop in the entities action.
If we use the example from above, we would change our enemies action to something like this:
Code:

action enemie_act
{
while(!player) { wait(1); } //waits until the player pointer is none zero (!=0)
while(my.health > 0)
{
...