If you start to sync a chain with the --rpc parameter and you get different error messages, like:
"Error starting protocol stack: listen tcp 127.0.0.1:8545: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted." or simply memory null pointer exception that does not say too much, than check if something is running as well that blocks the 8545 port, or any other ports that you were using for geth. For me the problem was that Parity was installed in that machine as well, configured as starting automatically and was using exactly the same port.