I am dealing with this now. The system goes through a cycle to check for leaks in the system. It will do this cycle if your gas tank is less then 3/4 full and more then 1/4 full. The way GM does this, it sucks in air and checks that their is a vacuum in the system through the evap cannister. If there is a leak no vacuum can be created.
My issue is that at some point when the cycle took place I had the opening of the "vacuum" covered in mud/muck and sucked some in. It throws out the same code because it can not get air through that vacuum opening.
Eventually the system tries again (when tank is between 1/4 and 3/4) and code stays unless it gets different results. I can clear it but within a day it comes back.
Dealer said that some people have had luck taking off the unit (sits under the B pillar by the rocker panels) and clean out the intake then reinstall. I have not had the time to try this yet.
So my question for you is were you wheeling in mud recently? if so you may not have a leak but more of a plugged up "test" system from taking in mud to the cannister.
Here is a link on how to "fix"
http://www.hummerknowledgebase.com/fuel/canister_vent_solenoid.pdf