On my 1200 Sport, when new, would not idle for 30 sec to a minute when setting in the heat, 95* F, and starting from cold. I would have to hold the throttle open to keep it running. After that time period, it would run and idle fine. I believe the thermal expansion of fuel gasses pushing into the canister was over riching the fuel, possibly confusing the ECU until the extra fuel was burnt up. This was my logic and I, of course, believe it to be correct.
Anyway, as a test I just pulled the hoses off the intake fittings, plugged hoses and fittings and the problem went away. I eventually removed the canister, running the tank vent straight to the check valve that runs down to swing arm. Basically followed the schematic of Euro bikes that do not have the cannister. I think the Euro hose routing was in the service manual I had been given as a CD when I bought the bike from MI.
When I traded for the Stelvio, I had the idle issue once and immediately disconnected and plugged the canister hoses to the intakes, and ran a hose between the two intake fittings, connecting them together (I had hose but no caps to fit them, so that was easier at the time).
Never had a negative issue again. Hope this helps.