async drawImage shouldn't throw, yet it does