Minecraft crashes after logging in: A fatal error has been detected by the Java Runtime Environment

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...


Have you successfully run Minecraft with a previous version of the JRE? There is a nasty bug in Java 7 that is not patched that can cause some pretty terrible things to happen. See what happens if you uninstall JRE7 and use JRE6 instead


From the stack trace it looks like it crashes when OpenGL tries to create something. So I would guess it's a problem with your video drivers. Try uninstalling them, rebooting, then installing the latest version for your video card model from the manufacturer's website.


Looking at the DLL which is triggering the access violation, I was able to find a thread on the JogAmp forum which appears to be discussing the same issue. (JogAmp is a multimedia library similar to JLWGL, which Minecraft uses.)

It looks like the root problem is that ATI's XP drivers make incorrect assumptions about the capabilities of "older" cards. (They don't mention how "old" is too old.) ATI doesn't appear to have fixed the problem, so the JogAmp devs worked around it themselves. Presumably, the JLWGL folks could do the same, but that wouldn't get you playing Minecraft very soon.

There are a few other options, however. Not great options, but you might find them workable:

  1. As it sounds like you've played Minecraft on this computer before, it may well only be newer video drivers that cause the problem. Downgrading your drivers (though again, it isn't clear how "old" they would need to be) may work as well.
  2. The problem does not appear to occur on Windows 7.
  3. Only certain video chipsets are affected. Getting a new card (or even just a different card, as long as it isn't the same model) should work.

NOTE: Before you read this, just to let you know, I am not that good with all the techy, codey, error stuff shown above. This is just the way I fixed my problems with this error, and it might apply to others, too.

But Seriously, I was able to fix this by changing options in my antivirus software. I have avast! Antivirus, and they came out with an update for internet surfing protection and you could get a 1 month trial for free. So I was using that and Java just happens to spaz out on me and not work. Just recently, I realized that my antivirus wasn't giving Java the enough access to my computer: This picture was taken after I fixed the settings.

So pretty much just check your firewall or antivirus and see if it gives Java full privileges.

I'm not sure if this is your fix as this error has many different problem sources.

PS: I'm using the online version of Java