Chris Froome survived the Pyrenees still in the Tour de France's yellow jersey, but endured a day of ferocious attacks from his general classification rivals.