This ENTIRE THREAD is a gigantic cautionary tale for developers. This is why trying to minimize the amount of information present in your error messages is NOT helpful.
The Microsoft paradigm of "don't show technical details in error messages because it will scare the users" is bullshit. But to be fair, at least most Windows applications with useless error messages have a button that you can click to get more details. Of course, that can't happen when you're writing error text to stderr and aborting. In those cases, whatever you write, that's it. That's all the user gets. A stack trace showing WHERE an error occurs is only useful for you, the developer. It's not useful for the end user. The end user needs to know WHAT went wrong, and to the extent possible, WHY it went wrong. If you can't open a file, don't just say "can't open file". Give the NAME of the file, and the operating system's reason why the file couldn't be opened. If you can['t listen on a port, don't just say "can't listen on my port". Ssy WHAT PORT you're trying to listen on. ... Now, let's try to accomplish something. I did a Google search for "jabref documentation", but that was a non-starter. The documentation is written for end users who are not experiencing trouble just *running* the thing. It's full of pretty pictures that I'm sure are helpful for someone else. Next, I did a Google search for "net.sf.jabref.logic.remote.server.Remote port number". This led me to <https://github.com/JabRef/jabref/issues/2282> which discusses this issue, or at least a very similar issue. One of the comments on that page says: Quick fix would be not to define 6050 as hard coded port as default but using defaults.put(REMOTE_SERVER_PORT, 6000+((int) Math.random()*1000); for a range between port 6000 and 6999 So maybe it's trying to use port 6050. I'd advise the OP to read that page, or at least skim it. The issue that the bug reporter was experiencing was caused by attempts to run multiple instances of jabref on the same computer (by multiple users). This raises the possibility that the OP is also trying to run multiple simultaneous instances of jabref, possibly without knowing it. Of course it's also possible that something else, totally unrelated to jabref, is using the port in question. <https://www.speedguide.net/port.php?port=6050> tells us that thie port is also (possibly) used by "ARCserve agent", "Brightstor Arcserve Backup" and "Nortel Software" in addition to a possible use by X11, if for some reason you've got over 50 displays opened.