This is the code causing the error:
ALC10.alcGetInteger(AL.getDevice(), ALC10.ALC_MAJOR_VERSION, ib);
My best guess is that AL.getDevice() (or the getDevice() call inside of ALC10.alcGetInteger()) is returning a null (zero).
No idea why that might happen, or how to check it (since its in the init of OpenAL), but there you go.

Maybe someone else will know.

EDIT:
The code for ALC10.alcGetInteger() is:
public static void alcGetInteger(ALCdevice device, int pname, IntBuffer integerdata) {
BufferChecks.checkDirect(integerdata);
nalcGetIntegerv(getDevice(device), pname, integerdata.remaining(), integerdata, integerdata.position());
Util.checkALCError();
}
static long getDevice(ALCdevice device) {
if(device != null) {
return device.device;
}
return 0L;
}
The getDevice() call there is the other call I was talking about.