mojira.dev
MCL-1

Unable to update minecraft: Fatal error occured (4): null

Started it up, coming from the 1.4.1 pre-release I think, but it never gets past the launcher anyway:

$ ./minecraft
java.lang.NullPointerException
at net.minecraft.GameUpdater.downloadJars(GameUpdater.java:520)
at net.minecraft.GameUpdater.run(GameUpdater.java:286)
at net.minecraft.Launcher$1.run(Launcher.java:84)
Fatal error occured (4): null
java.lang.NullPointerException
at net.minecraft.GameUpdater.downloadJars(GameUpdater.java:520)
at net.minecraft.GameUpdater.run(GameUpdater.java:286)
at net.minecraft.Launcher$1.run(Launcher.java:84)

Linked issues

Comments 19

This is an error specific to your install and not a bug. Try deleting your .bin folder and forcing an update. That should fix the problem.

cd ~/.minecraft
mv bin bin-old

<launch minecraft via the launcher jar again>

Same error 😞 ---- Oh wait, I forgot to say force update. (but I don't think that'll fix it)

Nope it didn't.

$ ls ~/.minecraft/bin
md5s  version

Here's a quick screen capture of me trying to launch:

http://www.youtube.com/watch?v=S05hQgWITek

for additional reference

$ java -version
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)

@Ezekiel Elin:

There is no "Library" directory in my home folder, I don't think that will solve anything.

9 more comments

I disagree that it's clear that proxies must not remove these headers. It explicitly states that they must not be modified or added. Think about it for a minute: an ETag is effectively a checksum on the resource being requested/sent. It's very bad if a proxy adds or changes an ETag that the client already has cached, since this could result in an updated file not getting pulled when it should be. But if there's no ETag at all, the worst result is that a new file is sent when not strictly required, since the client doesn't have any cached ETag to check with the server. Extra use of network bandwidth, yes, but the data transferred remains valid.

The RFC does not state that ETag headers must not be removed. That text you quoted also specifically refers to transparent proxies, which does not include application-layer proxies that the client explicitly connects to. Transparent proxies rewrite requests at the network layer, and the client has no way of knowing that such a proxy is even present. (When I tested, I was using an application layer proxy by passing command-line options to the JVM).

But in any case, I'm glad you agree that the fix is trivial. And since you check for the presence of ETag headers later in the very same method anyway, it's clear that someone at some point wrote the code to correctly handle the case where an ETag is not provided. So you will lose nothing by fixing this problem, and gain a few more satisfied users. It really is a no-brainer.

It would be really nice if this were fixed, however. I'm behind some sort of evil proxy magic that I have no control over. There's nothing I can do about it, and so I cannot update minecraft due to a very ugly looking "Error: null"

This is resolved with the new Dev Launcher. The old launcher still borks.

so how can I fix this...i am just regular mom trying to understand this.....any easy way of explaining it?

@Logan Jacobs: Either wait until 1.6 is out or get the new launcher from here: http://mojang.com/2013/05/minecraft-snapshot-13w19a/ - you can play the current version 1.5.2 as well the new snapshots 13wXXy with the new launcher. The files install besides the "old launcher files" so there is no interference.

migrated

(Unassigned)

Unconfirmed

Retrieved