explain what causes a volcanic eruption