I've only just installed Forge. Vanilla 1.13 works fine, but Forge 1.12.2 and 1.12.1 (figured I'd check) both crash with the same errors.
There's no crash report saved when this happens but here's a bit of the terminal output:
[1105/110749:WARNING:x11_util.cc(1404)] X error received: serial 1569, error_code 170 (GLXBadWindow), request_code 151, minor_code 26 (X_GLXMakeContextCurrent)
[1105/110749:INFO:ClientHandler.cpp(155)] Hiding launcher!
[1105/110749:WARNING:x11_util.cc(1404)] X error received: serial 203, error_code 3 (BadWindow (invalid Window parameter)), request_code 4, minor_code 0 (X_DestroyWindow)
[1105/110749:INFO:GameCallbacks.cpp(199)] game/game () info Exception in thread "main" java.lang.ClassCastException: java.base/jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to java.base/java.net.URLClassLoader
Is this an issue with Java? Does Forge not support the runtime that's installed along with the launcher? If so, does it also not support openjdk? I tried pointing the launcher to that and it doesn't recognize it, just tells me Java wasn't found.
EDIT FOR ANYONE LOOKING TO FIX THIS:
It was indeed an issue with which Java version I was using. You need Oracle's JRE specifically. On Archlinux-based distros like mine you can get it from the AUR with the package "jre8". By default, the filepath for the executable you need to point the launcher to (again, if using this package) should be
/usr/lib/jvm/java-8-jre/jre/bin/java