tl;dr: upgrading an Ubuntu MATE VirtualBox VM to 19.10 caused it to hang on X startup. Increasing the VM video memory from 16MB to 32MB fixed the problem.
I have an Ubuntu MATE virtual machine which I use to test things before taking the plunge with my main system. (It was my experimental Linux desktop before I switched back to Linux on my PC).
I upgraded it to MATE 19.10, and after the first reboot, it went through the usual system startup, got to the point where it showed a text login, and then briefly flickered and ended up with a black screen and a non-blinking-cursor. I was able to ssh into the machine and reboot it, so it appeared to be a problem with X startup only.
A search came across VirtualBox, 3D acceleration & black screen - Solution. The page pointed to the VirtualBox Display settings tab for the VM, and mentioned disabling 3D acceleration as a possible cause. In my case the problem wasn't 3D graphics (that was already disabled), but after some experimenting with display settings, I discovered that it was because I no longer had enough video memory allocated to the VM.
Which is to say, it had 16MB of video memory before, and increasing it to 32 MB fixed the hang.
My VMs have had 16 MB by default for as long as I can remember. I haven't looked at what's changed to cause Ubuntu 19.10 to need more video memory, or experimented to see what the minimum requirement now is, but at least I could get on with my day.