I have not experienced this myself but apparently Spark can get in trouble when the compass gets confused due to metal objects in its proximity.
The issue appears to be that if compass and GPS disagree GPS gets disabled and that then leads to unpredictable behaviour.
Hope that helps.