Engine idles rough and sometimes dies. on 2003 GMC Yukon XL 1500

When the car is at an idle it is rough and sometimes just will die. The engine light is one and we have already replaced the mass air flo sensor twice and still having the same problem.

The heater motor one day just decided to not turn off. It continuously runs on high and the only way to turn it off is to take the fuse out or unplug the battery.

Asked by for the 2003 GMC Yukon XL 1500