We just discovered that glm breaks on a very simple model (1 categorical feature) when we turn off the intercept. We can't see a mathematical reason for it, since one can easily write down the design matrix. But of course we might be wrong. Please see the attached file for an example.
Note: Yes there is a bug. If you run with single categorical variable and no intercept and IRLSM solver you get AIOOB.
I am gonna fix that. In the meantime, they can use solver='COORDINATE_DESCENT' to get around it (or add extra column).