Let's look at what is happening: Minecraft is trying to do something which returns 0xc0000005
.
In ntstatus.h
, a list of error code definitions, 0xc0000005
is STATUS_ACCESS_VIOLATION
.
MSDN - Analyze Crashes to Find Security Vulnerabilities in Your Apps reports:
Access violation exceptions (STATUS_ACCESS_VIOLATION) are generated by modern processors when a memory access caused by an instruction or program execution does not satisfy certain conditions defined by the processor architecture or memory management unit structures.
So, we now know that Minecraft does something that causes invalid memory access.
But, what exactly is Minecraft doing?
j org.lwjgl.opengl.WindowsContextImplementation.nCreate(Ljava/nio/ByteBuffer;Ljava/nio/IntBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;+0
j org.lwjgl.opengl.WindowsContextImplementation.create(Lorg/lwjgl/opengl/PeerInfo;Ljava/nio/IntBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;+10
j org.lwjgl.opengl.Context.<init>(Lorg/lwjgl/opengl/PeerInfo;Lorg/lwjgl/opengl/ContextAttribs;Lorg/lwjgl/opengl/Context;)V+104
j org.lwjgl.opengl.Display.create(Lorg/lwjgl/opengl/PixelFormat;Lorg/lwjgl/opengl/Drawable;Lorg/lwjgl/opengl/ContextAttribs;)V+88
Here we see, Minecraft tries to allocate an OpenGL Device Context buffer in memory.
The thread mentioned by Ben Blank has a different stack trace and thus is irrelevant.
We first have to get more knowledge about your memory, which you gave:
I noticed that the command that the minecraft.jar file is being run with says that it can have up to 1024mb of ram. I only have ~500mb of ram, so it would be referencing pointers in an unknown location. I also notice a gl issue, which I'm not really sure how to fix.
Given that low amount of memory, I'm going to guess that your graphics card uses 128 MB shared memory which means that it uses RAM memory to operate. I'm guessing that your Windows uses another 100 MB. There is only 250 MB of memory remaining for Minecraft, and your page file.
Minecraft uses from 512 MB to 1 GB, consider that playing Minecraft will cause disk trashing.
VM Arguments:
jvm_args: -Xms512m -Xmx1024m
So, now, where does the problem lie?
"so it would be referencing pointers in an unknown location" -- no. Just because you tell it it's allowed to use 1024 MB doesn't mean it ignores allocation errors when it runs out of space and creates invalid addresses out of thin air to reference. For all I know it wouldn't even matter, Windows would just give it space in the page file. - Matthew Read
This comment on the question is not 100% correct, there are exceptions that don't use the page file.
Exactly, OpenGL Device Context buffers must be in RAM; the solution is to buy more RAM.
I doubt if 1 GB will do the job given that Minecraft can use up to 1 GB; better to be safe than sorry and get 2 GB to avoid future problems. This also makes sure you don't experience disk trashing to the page file, which can have a great impact on the performance...
Or well, I could be all wrong and it could be a driver problem. But seriously, 512 MB isn't enough...
When you download Minecraft for Mac, you download an application file which you then place in your Applications folder. But that's just a wrapper for the "real" Minecraft binary files (a set of JAR files), which gets downloaded into your Application Support
folder.
So when you delete and redownload the Minecraft application, you haven't done anything about the actual binaries already downloaded and being used. If these are corrupted (as they appear to be in your situation), they won't be fixed by redownloading the Minecraft application.
While "Force update" should do something about these files, you can do something about it yourself by manually deleting the downloaded JAR files.
To do this, you'll need to navigate to the path described in the error. In Finder, go to the Go menu and select Go to Folder... Type in the following:
~/Library/Application Support/minecraft
and click the Go button. Finder will open a new folder with a few subfolders, including one labeled bin
. Throw the bin
folder in the Trash and empty it.
Now go back into your Applications folder and open Minecraft. Minecraft will then redownload its binaries and the problem should be resolved.
Best Answer
"fixing" a corrupt file for the purpose of minecraft is near impossible.
If you wish to try and salvage your save and read what is left:
.dat
if NBT cannot read anything legible, the file may be beyond repair.
if NBT can read it, you can copy information from it to a new save (such as inventory items / settings)
I know this isn't excactly what you want to hear but I hope it helps, Good luck :)