long story short, I upgraded from 16.04 to 17.10, and when I try to login I get a black screen for a second then I'm back to the login screen again. After inspecting .xsession-errors I found this line
/etc/X11/Xsession.d/99x11-common_start: line 5: /sbin/upstart: No such file or directory
The referenced file has only one line - except for the comments
exec $STARTUP
but there's another file in the same directory named 99upstart that has this line
STARTUP="/sbin/upstart --user
I tried searching how to fix this, but all I could find is that systemd is replacing upstart, with no way mentioned of how to fix this