GM recalls nearly 600,000 Cadillac, Chevrolet and GMC cars due to engine failure risks