My car developed a random stall that only happens when I park my car outside in the rain. It'll stall cruising to a stop and sometimes have trouble starting back up (dies right away). It runs just fine after warming up. I don't have a problem driving it through rainstorm but afterwards if I stop at a stoplight I can feel it isn't running as smooth as it should be. No specific codes, just P1599 (random or near stall detected). This problem is also accompanied with a traction code TCS 1225 (driverside wheel excessive speed) and TCS 1232 (driverside wheel speed sensor open or short circuit). The wheel bearing is new and the ABS/Traction light only comes on when it's raining, it shows up even if the car's stationary so again it is probably an electrical issue.
I figure I should check the fusebox under the hood since my problem seems to be associated with my car being wet, but in the process I encountered this...
This is the fusebox under the hood with its cover removed. Not sure why GM decided to put it there since it isn't completely sealed all around and all kinds of dirt/water can get inside.
Found these two relays with some ugly water corrosion, one is so bad that half of one of its connections broke inside the socket.
The relay in question
I don't know if this has anything to do with my engine dying randomly in rain but I want to replace them, any ideas on how can I go about getting the broken piece out? The local auto store said one of these relays are $17.