Crash (Application exits) with direct mode on laptop

Continuing the discussion from Oculus Rift Support:

Thanks for the additional info. As of now I don’t have any more ideas about what can be wrong

(Creating a new thread for the issue)

Thanks for the additional info. I’m afraid I don’t have any more ideas. I still think it’s something to do withe combination of platforms since at this point it’s out of our hands and inside the Oculus SDK. It might be that some invalid data is sent from our side, or some memory pointer is wrong.
I’d like to dig into it, but right now I don’t have the time. If I find the time, I know where to start, at least.

Thanks for your effort so far.
Well I will continue searching for it, since I basicly have too. When I find something new, I ll post it here.
I undertstand that you have other things to do, although i hope you find some time in the nearby future :smile:

If you feel like doing some more debugging, check the data that is sent in endFrame.
Like, see that eyeTexture (the headers) and pose contains some plausible data.
After that, I’d see if the problem persists if eyeTextures and poses are instantiated in OculusRiftUtil.configureRendering (static context) instead of in OculusFilter.
It’s really grasping for straws, but memory management might be the issue, somehow.

I am “happy” with every straw I can get my hands on right now.
So I did what you suggested, i placed some more debuglines that printed the pose and eyetexture and i also placed some line to check if pose was instantiated in the OculusFiliter:postFrame method.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mygame.testoculus.oculusvr.post;

import com.jme3.asset.AssetManager;
import com.jme3.material.Material;
import com.jme3.post.Filter;
import com.jme3.renderer.RenderManager;
import com.jme3.renderer.Renderer;
import com.jme3.renderer.ViewPort;
import com.jme3.texture.FrameBuffer;
import com.oculusvr.capi.GLTexture;
import com.oculusvr.capi.Hmd;
import com.oculusvr.capi.OvrSizei;
import com.oculusvr.capi.OvrVector2i;
import com.oculusvr.capi.Posef;
import com.oculusvr.capi.TextureHeader;
import mygame.testoculus.oculusvr.input.OculusRift;

/**
 *
 * @author reden
 */
public class OculusFilter extends Filter {

    private int eyeIndex = 0;
    private Hmd hmd;
    private GLTexture eyeTexture;
    private Posef pose;
    int textureId = -1;
    int eye;
    private static final Posef poses[] = (Posef[]) new Posef().toArray(2);
    private static final GLTexture eyeTextures[] = (GLTexture[]) new GLTexture().toArray(2);
    
    private static int STATE = 0;

    public OculusFilter(Hmd hmd, int eyeIndex) {
        this.hmd = hmd;
        this.eyeIndex = eyeIndex;
        eyeTexture = eyeTextures[eyeIndex];
    }

    @Override
    protected void initFilter(AssetManager manager, RenderManager renderManager, ViewPort vp, int w, int h) {
        material = new Material(manager, "oculusvr/shaders/Oculus.j3md");

    }

    @Override
    protected Material getMaterial() {
        return material;

    }

    public void setEyeTextureSize(OvrSizei size) {
        TextureHeader eth = eyeTexture.ogl.Header;
        eth.TextureSize.w = size.w;
        eth.TextureSize.h = size.h;
        eth.RenderViewport.Size.w = eth.TextureSize.w;
        eth.RenderViewport.Size.h = eth.TextureSize.h;
        eth.RenderViewport.Pos.x = 0;
        eth.RenderViewport.Pos.y = 0;
    }

    @Override
    protected void preFrame(float tpf) {
        super.preFrame(tpf);
        if (textureId == -1) {
            // try to assign the texture id from the material
            if (material.getTextureParam("Texture") != null) {
                com.jme3.texture.Texture t = material.getTextureParam("Texture").getTextureValue();
                int id = t.getImage().getId();
                System.out.println("OculusFilter: preFrame: eyeTexture id");
                eyeTexture.ogl.TexId = id;
                textureId = id;
            }
        }
        System.out.println("OculusFilter: preFrame : before eye");
        eye = hmd.EyeRenderOrder[eyeIndex];
        System.out.println("OculusFilter: preFrame : after eye");
        if (STATE == 0) {
            // anything to do?
            STATE++;
        }
    }

    @Override
    protected void postFrame(RenderManager renderManager, ViewPort viewPort, FrameBuffer prevFilterBuffer, FrameBuffer sceneBuffer) {
        super.postFrame(renderManager, viewPort, prevFilterBuffer, sceneBuffer);
        // for both:
        if (STATE != 0) {
            System.out.println("OculusFilter: postFrame: pose instantiated");
            pose = OculusRift.getEyePoses()[eye];
            poses[eye].Orientation = pose.Orientation;
            poses[eye].Position = pose.Position;
            STATE++;
        }
    }

    @Override
    protected void postFilter(Renderer r, FrameBuffer buffer) {
        super.postFilter(r, buffer);
        STATE++;
        if (STATE == 5) {
            System.out.println("OculusFilter: postFilter : before endframe");
            System.out.println("Poses: " + poses);
            System.out.println("PosesLength : " + poses.length);
            System.out.println("PosesEye: " + poses[eye].toString(true));
            System.out.println("EyeTextures: " + eyeTextures);
            System.out.println("EyeTexturesLength: " + eyeTextures.length);
            System.out.println("EyeTecturesEye: " + eyeTextures[eye].toString(true));
            hmd.endFrame(poses, eyeTextures);
            System.out.println("OculusFilter: postFilter : after endframe");
            STATE = 0;
        }
    }

    public GLTexture getEyeTexture() {
        return eyeTexture;
    }

}

As far as I can find from the output everything looks fine:

run:
Oculus Rift initialized: HMDInfo [HResolution = 1920, VResolution = 1080, HScreenSize = 0.0, VScreenSize = 0.0, VScreenCenter = 0.0, EyeToScreenDistance = 0.0, LensSeparationDistance = 0.0, InterpupillaryDistance = 0.064, DistortionK = [0.0, 0.0, 0.0, 0.0] , DesktopX = 0, DesktopY = 0, DisplayDeviceName = , DisplayId = 0]
jan 31, 2015 3:10:33 PM com.jme3.system.JmeDesktopSystem initialize
INFO: Running on jMonkeyEngine 3.1.0 (snapshot-github)
jan 31, 2015 3:10:33 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Lwjgl 2.9.1 context running on thread LWJGL Renderer Thread
jan 31, 2015 3:10:33 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Adapter: igdumdim64
jan 31, 2015 3:10:33 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Driver Version: 10.18.10.3574
jan 31, 2015 3:10:33 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Vendor: Intel
jan 31, 2015 3:10:33 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: OpenGL Version: 4.2.0 - Build 10.18.10.3574
jan 31, 2015 3:10:33 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Renderer: Intel(R) HD Graphics 4600
jan 31, 2015 3:10:33 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: GLSL Ver: 4.20 - Build 10.18.10.3574
jan 31, 2015 3:10:33 PM com.jme3.renderer.opengl.TextureUtil initialize
INFO: Supported texture formats: 
	Alpha8 (Linear)
	Luminance8 (Linear/sRGB)
	Luminance16F (Linear)
	Luminance32F (Linear)
	Luminance8Alpha8 (Linear/sRGB)
	Luminance16FAlpha16F (Linear)
	BGR8 (Linear/sRGB)
	RGB8 (Linear/sRGB)
	RGB565 (Linear/sRGB)
	RGB5A1 (Linear/sRGB)
	RGBA8 (Linear/sRGB)
	ABGR8 (Linear/sRGB)
	ARGB8 (Linear/sRGB)
	BGRA8 (Linear/sRGB)
	DXT1 (Linear/sRGB)
	DXT1A (Linear/sRGB)
	DXT3 (Linear/sRGB)
	DXT5 (Linear/sRGB)
	Depth (Linear)
	Depth16 (Linear)
	Depth24 (Linear)
	Depth32F (Linear)
	RGB16F_to_RGB111110F (Linear)
	RGB111110F (Linear)
	RGB16F_to_RGB9E5 (Linear)
	RGB9E5 (Linear)
	RGB16F (Linear)
	RGBA16F (Linear)
	RGB32F (Linear)
	RGBA32F (Linear)
	Depth24Stencil8 (Linear)

jan 31, 2015 3:10:33 PM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.blender.BlenderModelLoader
jan 31, 2015 3:10:33 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: Audio Device: OpenAL Soft
jan 31, 2015 3:10:33 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: Audio Vendor: OpenAL Community
jan 31, 2015 3:10:33 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: Audio Renderer: OpenAL Soft
jan 31, 2015 3:10:33 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: Audio Version: 1.1 ALSOFT 1.15.1
jan 31, 2015 3:10:33 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: ALC extensions: ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE ALC_EXT_DEDICATED ALC_EXT_disconnect ALC_EXT_EFX ALC_EXT_thread_local_context ALC_SOFT_loopback
jan 31, 2015 3:10:33 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: AL extensions: AL_EXT_ALAW AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_LOKI_quadriphonic AL_SOFT_buffer_samples AL_SOFT_buffer_sub_data AL_SOFTX_deferred_updates AL_SOFT_direct_channels AL_SOFT_loop_points AL_SOFT_source_latency
jan 31, 2015 3:10:33 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: AudioRenderer supports 64 channels
jan 31, 2015 3:10:33 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
WARNING: Pausing audio device not supported.
jan 31, 2015 3:10:33 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: Audio effect extension version: 1.0
jan 31, 2015 3:10:33 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: Audio max auxilary sends: 4
Enter OVRAppState initialize
EyeRenderDesc(allocated@0xf2db6a0 (56 bytes) (shared from auto-allocated@0xf2db6a0 (112 bytes))) {
  int Eye@0=0
  FovPort Fov@4=FovPort(allocated@0xf2db6a4 (16 bytes) (shared from allocated@0xf2db6a0 (56 bytes) (shared from auto-allocated@0xf2db6a0 (112 bytes)))) {
    float UpTan@0=1.3292863
    float DownTan@4=1.3292863
    float LeftTan@8=1.0586576
    float RightTan@c=1.092368
  }
  OvrRecti DistortedViewport@14=OvrRecti(allocated@0xf2db6b4 (16 bytes) (shared from allocated@0xf2db6a0 (56 bytes) (shared from auto-allocated@0xf2db6a0 (112 bytes)))) {
    OvrVector2i Pos@0=OvrVector2i(allocated@0xf2db6b4 (8 bytes) (shared from allocated@0xf2db6b4 (16 bytes) (shared from allocated@0xf2db6a0 (56 bytes) (shared from auto-allocated@0xf2db6a0 (112 bytes))))) {
      int x@0=0
      int y@4=0
    }
    OvrSizei Size@8=OvrSizei(allocated@0xf2db6bc (8 bytes) (shared from allocated@0xf2db6b4 (16 bytes) (shared from allocated@0xf2db6a0 (56 bytes) (shared from auto-allocated@0xf2db6a0 (112 bytes))))) {
      int w@0=3c0
      int h@4=438
    }
  }
  OvrVector2f PixelsPerTanAngleAtCenter@24=OvrVector2f(allocated@0xf2db6c4 (8 bytes) (shared from allocated@0xf2db6a0 (56 bytes) (shared from auto-allocated@0xf2db6a0 (112 bytes)))) {
    float x@0=549.6183
    float y@4=549.6183
  }
  OvrVector3f HmdToEyeViewOffset@2c=OvrVector3f(allocated@0xf2db6cc (12 bytes) (shared from allocated@0xf2db6a0 (56 bytes) (shared from auto-allocated@0xf2db6a0 (112 bytes)))) {
    float x@0=0.032
    float y@4=0.0
    float z@8=0.0
  }
}
FovPort(native@0xcf928c) (16 bytes) {
  float UpTan@0=1.3292863
  float DownTan@4=1.3292863
  float LeftTan@8=1.0586576
  float RightTan@c=1.092368
}
Before autoflush
Exit OVRAppState Initialize
Enter OVRAppState: Update
Exit OVRAppState: Update
SimpleUpdate
Exit SimpleUpdate
OculusFilter: preFrame : before eye
OculusFilter: preFrame : after eye
OculusFilter: postFrame: pose instantiated
OculusFilter: preFrame : before eye
OculusFilter: preFrame : after eye
OculusFilter: postFrame: pose instantiated
OculusFilter: postFilter : before endframe
Poses: [Lcom.oculusvr.capi.Posef;@56aa657d
PosesLength : 2
PosesEye: Posef(allocated@0xf2dbb30 (28 bytes) (shared from auto-allocated@0xf2dbb30 (56 bytes))) {
  OvrQuaternionf Orientation@0=OvrQuaternionf(allocated@0xf2dbe10 (16 bytes) (shared from allocated@0xf2dbe10 (28 bytes) (shared from auto-allocated@0xf2dbe10 (56 bytes)))) {
    float x@0=-0.009421667
    float y@4=-0.424476
    float z@8=-0.0025818183
    float w@c=0.9053865
  }
  OvrVector3f Position@10=OvrVector3f(allocated@0xf2dbe20 (12 bytes) (shared from allocated@0xf2dbe10 (28 bytes) (shared from auto-allocated@0xf2dbe10 (56 bytes)))) {
    float x@0=0.042353027
    float y@4=0.07333046
    float z@8=-0.0771894
  }
}
memory dump
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
EyeTextures: [Lcom.oculusvr.capi.GLTexture;@4ced1dfe
EyeTexturesLength: 2
EyeTecturesEye: GLTexture(allocated@0xf2dbbe0 (96 bytes) (shared from auto-allocated@0xf2dbbe0 (192 bytes))) {
  Texture texture@0=Texture(native@0x0) (96 bytes) {
    TextureHeader Header@0=TextureHeader(native@0x0) (32 bytes) {
      int API@0=1
      OvrSizei TextureSize@4=OvrSizei(native@0x0) (8 bytes) {
        int w@0=0
        int h@4=0
      }
      OvrRecti RenderViewport@c=OvrRecti(native@0x0) (16 bytes) {
        OvrVector2i Pos@0=OvrVector2i(native@0x0) (8 bytes) {
          int x@0=0
          int y@4=0
        }
        OvrSizei Size@8=OvrSizei(native@0x0) (8 bytes) {
          int w@0=0
          int h@4=0
        }
      }
      int _PAD0_@1c=0
    }
    Pointer PlatformData[8]@20=[Lcom.sun.jna.Pointer;@634c3626
  }
  GLTextureData ogl@0=GLTextureData(native@0x0) (36 bytes) {
    TextureHeader Header@0=TextureHeader(native@0x0) (32 bytes) {
      int API@0=1
      OvrSizei TextureSize@4=OvrSizei(native@0x0) (8 bytes) {
        int w@0=600
        int h@4=5b5
      }
      OvrRecti RenderViewport@c=OvrRecti(native@0x0) (16 bytes) {
        OvrVector2i Pos@0=OvrVector2i(native@0x0) (8 bytes) {
          int x@0=0
          int y@4=0
        }
        OvrSizei Size@8=OvrSizei(native@0x0) (8 bytes) {
          int w@0=600
          int h@4=5b5
        }
      }
      int _PAD0_@1c=0
    }
    int TexId@20=0
  }
}
memory dump
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
[00000000]
AL lib: (EE) alc_cleanup: 1 device not closed
OVRCreateDXGIFactory2 result 0x0
OVRCreateDXGIFactory2 result 0x0
OVRCreateDXGIFactory2 result 0x0
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)

I might have missed something in their though.

I also looked deeper in to the GPU and driver stuff. I found out that there are two grafical processors that can be selected. The default one has been used so far, thats the one with chrah without output in direct mode we have been discussing. Again I note that Tuscany does work perfectly (in direct).
When I change to the second option, the “powerful NVIDEA-processor”, the Tuscany map still works in direct mode. But when I run my game it chrashes earlier then in the standard option and now a chrashreport is shown:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007fff93ea6239, pid=4748, tid=2888
#
# JRE version: Java(TM) SE Runtime Environment (7.0_51-b13) (build 1.7.0_51-b13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  [OVRDisplay64.dll+0x6239]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  T H R E A D  ---------------

Current thread (0x000000000d191800):  JavaThread "LWJGL Renderer Thread" [_thread_in_native, id=2888, stack(0x000000000f760000,0x000000000f860000)]

siginfo: ExceptionCode=0xc0000005, reading address 0xffffffffffffffff

Registers:
RAX=0x000000001038a960, RBX=0x00000000120af700, RCX=0x0000000000b58d00, RDX=0x73656c6946206e6f
RSP=0x000000000f85e7f8, RBP=0x0000000000000000, RSI=0x00000000120f8dc0, RDI=0x00000000120fa1d0
R8 =0x0000000000b58d00, R9 =0x0000000000000000, R10=0x00007fff945a7008, R11=0x00000000120af700
R12=0x000000000fc873e8, R13=0x00000000120dcf78, R14=0x000000000fc879c0, R15=0x0000000000b61cf0
RIP=0x00007fff93ea6239, EFLAGS=0x0000000000010246

Top of Stack: (sp=0x000000000f85e7f8)
0x000000000f85e7f8:   00007fff9459a295 0000000000000000
0x000000000f85e808:   0000000000b58ec0 00000000120af440
0x000000000f85e818:   00000000120f8dc0 00000000120af700
0x000000000f85e828:   00007fff00000003 000000000f85e840
0x000000000f85e838:   00000000120af700 000000000fc873e8
0x000000000f85e848:   fffffffffffffffe 00000000120fa1d0
0x000000000f85e858:   000000000fc873e8 00000c1951708b3f
0x000000000f85e868:   0000000000000000 000000000f85ef00
0x000000000f85e878:   0000000000000000 0000000000000000
0x000000000f85e888:   0000000000b61cf0 000000000f85e9a0
0x000000000f85e898:   00007fff945958fc 00007fff945a2540
0x000000000f85e8a8:   00007fff945a23c0 00000000120fa1d0
0x000000000f85e8b8:   0000000000008000 00000000010003fc
0x000000000f85e8c8:   000000000fc879c0 00000000120af6c0
0x000000000f85e8d8:   00000000120f8dc0 00000000120fa1d0
0x000000000f85e8e8:   0000000000000000 00000000120f77e0 

Instructions: (pc=0x00007fff93ea6239)
0x00007fff93ea6219:   48 8b 00 48 8b 50 28 48 85 d2 74 73 4c 8b 05 64
0x00007fff93ea6229:   c9 00 00 49 8b c8 49 8b 40 08 44 38 48 19 75 2f
0x00007fff93ea6239:   48 8b 52 18 0f 1f 00 48 39 50 20 73 06 48 8b 40
0x00007fff93ea6249:   10 eb 06 48 8b c8 48 8b 00 44 38 48 19 74 e8 49 


Register to memory mapping:

RAX=0x000000001038a960 is an unknown value
RBX=0x00000000120af700 is an unknown value
RCX=0x0000000000b58d00 is an unknown value
RDX=0x73656c6946206e6f is an unknown value
RSP=0x000000000f85e7f8 is pointing into the stack for thread: 0x000000000d191800
RBP=0x0000000000000000 is an unknown value
RSI=0x00000000120f8dc0 is an unknown value
RDI=0x00000000120fa1d0 is an unknown value
R8 =0x0000000000b58d00 is an unknown value
R9 =0x0000000000000000 is an unknown value
R10=0x00007fff945a7008 is an unknown value
R11=0x00000000120af700 is an unknown value
R12=0x000000000fc873e8 is an unknown value
R13=0x00000000120dcf78 is an unknown value
R14=0x000000000fc879c0 is an unknown value
R15=0x0000000000b61cf0 is an unknown value


Stack: [0x000000000f760000,0x000000000f860000],  sp=0x000000000f85e7f8,  free space=1017k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [OVRDisplay64.dll+0x6239]

[error occurred during error reporting (printing native stack), id 0xc0000005]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
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.ContextGL.(Lorg/lwjgl/opengl/PeerInfo;Lorg/lwjgl/opengl/ContextAttribs;Lorg/lwjgl/opengl/ContextGL;)V+103
j  org.lwjgl.opengl.Display.create(Lorg/lwjgl/opengl/PixelFormat;Lorg/lwjgl/opengl/Drawable;Lorg/lwjgl/opengl/ContextAttribs;)V+102
j  org.lwjgl.opengl.Display.create(Lorg/lwjgl/opengl/PixelFormat;)V+12
j  com.jme3.system.lwjgl.LwjglDisplay.createContext(Lcom/jme3/system/AppSettings;)V+375
j  com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread()Z+25
j  com.jme3.system.lwjgl.LwjglAbstractDisplay.run()V+36
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x000000000d195800 JavaThread "DestroyJavaVM" [_thread_blocked, id=4488, stack(0x0000000002630000,0x0000000002730000)]
=>0x000000000d191800 JavaThread "LWJGL Renderer Thread" [_thread_in_native, id=2888, stack(0x000000000f760000,0x000000000f860000)]
  0x000000000d194800 JavaThread "AWT-Windows" daemon [_thread_in_native, id=5680, stack(0x000000000dbe0000,0x000000000dce0000)]
  0x000000000d191000 JavaThread "AWT-Shutdown" [_thread_blocked, id=6408, stack(0x000000000dae0000,0x000000000dbe0000)]
  0x000000000d192800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=1128, stack(0x000000000d9e0000,0x000000000dae0000)]
  0x0000000002828800 JavaThread "Service Thread" daemon [_thread_blocked, id=3492, stack(0x000000000d6e0000,0x000000000d7e0000)]
  0x0000000002820000 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=5396, stack(0x000000000d5e0000,0x000000000d6e0000)]
  0x000000000cf00800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=5736, stack(0x000000000d4e0000,0x000000000d5e0000)]
  0x000000000281f000 JavaThread "Attach Listener" daemon [_thread_blocked, id=7036, stack(0x000000000d3e0000,0x000000000d4e0000)]
  0x000000000aefe000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3068, stack(0x000000000d2e0000,0x000000000d3e0000)]
  0x000000000aeef000 JavaThread "Finalizer" daemon [_thread_blocked, id=6512, stack(0x000000000cde0000,0x000000000cee0000)]
  0x000000000aee6800 JavaThread "Reference Handler" daemon [_thread_blocked, id=5804, stack(0x000000000cce0000,0x000000000cde0000)]

Other Threads:
  0x000000000aee5800 VMThread [stack: 0x000000000cbe0000,0x000000000cce0000] [id=5212]
  0x000000000282c800 WatcherThread [stack: 0x000000000d7e0000,0x000000000d8e0000] [id=2548]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 PSYoungGen      total 38400K, used 10690K [0x00000007d5e80000, 0x00000007d8900000, 0x0000000800000000)
  eden space 33280K, 32% used [0x00000007d5e80000,0x00000007d68f08d8,0x00000007d7f00000)
  from space 5120K, 0% used [0x00000007d8400000,0x00000007d8400000,0x00000007d8900000)
  to   space 5120K, 0% used [0x00000007d7f00000,0x00000007d7f00000,0x00000007d8400000)
 ParOldGen       total 86016K, used 0K [0x0000000781c00000, 0x0000000787000000, 0x00000007d5e80000)
  object space 86016K, 0% used [0x0000000781c00000,0x0000000781c00000,0x0000000787000000)
 PSPermGen       total 21504K, used 8005K [0x000000077ca00000, 0x000000077df00000, 0x0000000781c00000)
  object space 21504K, 37% used [0x000000077ca00000,0x000000077d1d1400,0x000000077df00000)

Card table byte_map: [0x0000000005830000,0x0000000005c50000] byte_map_base: 0x0000000001c4b000

Polling page: 0x0000000000ce0000

Code Cache  [0x0000000002830000, 0x0000000002aa0000, 0x0000000005830000)
 total_blobs=388 nmethods=32 adapters=308 free_code_cache=48619Kb largest_free_block=49769536

Compilation events (10 events):
Event: 0.529 Thread 0x000000000cf00800   28             java.io.Win32FileSystem::normalize (231 bytes)
Event: 0.540 Thread 0x000000000cf00800 nmethod 28 0x00000000028b4290 code [0x00000000028b44c0, 0x00000000028b5b68]
Event: 0.547 Thread 0x0000000002820000   29             java.util.HashMap::hash (55 bytes)
Event: 0.548 Thread 0x0000000002820000 nmethod 29 0x00000000028ad2d0 code [0x00000000028ad420, 0x00000000028ad568]
Event: 0.557 Thread 0x000000000cf00800   30             java.lang.Character::toLowerCase (9 bytes)
Event: 0.557 Thread 0x0000000002820000   31             java.lang.CharacterDataLatin1::toLowerCase (39 bytes)
Event: 0.558 Thread 0x0000000002820000 nmethod 31 0x00000000028b1350 code [0x00000000028b1480, 0x00000000028b1538]
Event: 0.558 Thread 0x000000000cf00800 nmethod 30 0x00000000028afa10 code [0x00000000028afb60, 0x00000000028afc98]
Event: 0.672 Thread 0x0000000002820000   32             java.util.ArrayList::size (5 bytes)
Event: 0.672 Thread 0x0000000002820000 nmethod 32 0x00000000028b2010 code [0x00000000028b2140, 0x00000000028b2198]

GC Heap History (0 events):
No events

Deoptimization events (0 events):
No events

Internal exceptions (10 events):
Event: 0.661 Thread 0x000000000d191800 Threw 0x00000007d685c730 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 0.662 Thread 0x000000000d191800 Threw 0x00000007d6860a10 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 0.662 Thread 0x000000000d191800 Threw 0x00000007d68675b0 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 0.663 Thread 0x000000000d191800 Threw 0x00000007d686d2d0 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 0.664 Thread 0x000000000d191800 Threw 0x00000007d6872280 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 0.667 Thread 0x000000000d191800 Threw 0x00000007d68891b8 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 0.667 Thread 0x000000000d191800 Threw 0x00000007d688cce0 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 0.672 Thread 0x000000000d191800 Threw 0x00000007d6893a40 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 0.672 Thread 0x000000000d191800 Threw 0x00000007d689a560 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 0.673 Thread 0x000000000d191800 Threw 0x00000007d689d3c0 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244

Events (10 events):
Event: 0.667 loading class 0x000000000ea78cc0
Event: 0.667 loading class 0x000000000ea78cc0 done
Event: 0.667 loading class 0x000000000ea7b900
Event: 0.667 loading class 0x000000000ea7b900 done
Event: 0.672 loading class 0x000000000ea7f150
Event: 0.672 loading class 0x000000000ea7f150 done
Event: 0.672 loading class 0x000000000ea78840
Event: 0.672 loading class 0x000000000ea78840 done
Event: 0.673 loading class 0x000000000ea78a80
Event: 0.673 loading class 0x000000000ea78a80 done


Dynamic libraries:
0x00007ff7f6c00000 - 0x00007ff7f6c33000 	C:\Program Files\jmonkeyplatform\jdk\bin\java.exe
0x00007fffabab0000 - 0x00007fffabc56000 	C:\Windows\SYSTEM32\ntdll.dll
0x00007fffa9980000 - 0x00007fffa9aba000 	C:\Windows\system32\KERNEL32.DLL
0x00007fffa8ff0000 - 0x00007fffa90ff000 	C:\Windows\system32\KERNELBASE.dll
0x00007fffa71f0000 - 0x00007fffa7278000 	C:\Windows\system32\apphelp.dll
0x00007fff96550000 - 0x00007fff9659f000 	C:\Windows\AppPatch\AppPatch64\AcGenral.DLL
0x00007fffa9650000 - 0x00007fffa96f7000 	C:\Windows\system32\msvcrt.dll
0x00007fffa8c60000 - 0x00007fffa8c8b000 	C:\Windows\SYSTEM32\SspiCli.dll
0x00007fffa9b80000 - 0x00007fffa9bd1000 	C:\Windows\system32\SHLWAPI.dll
0x00007fffa9be0000 - 0x00007fffa9d51000 	C:\Windows\system32\USER32.dll
0x00007fffaa210000 - 0x00007fffaa388000 	C:\Windows\system32\ole32.dll
0x00007fffaa3f0000 - 0x00007fffab7ff000 	C:\Windows\system32\SHELL32.dll
0x00007fffa8120000 - 0x00007fffa813e000 	C:\Windows\SYSTEM32\USERENV.dll
0x00007fffaa150000 - 0x00007fffaa1f5000 	C:\Windows\system32\ADVAPI32.dll
0x00007fff96330000 - 0x00007fff9634b000 	C:\Windows\SYSTEM32\MPR.dll
0x00007fffa9330000 - 0x00007fffa9467000 	C:\Windows\system32\RPCRT4.dll
0x00007fffab9b0000 - 0x00007fffaba07000 	C:\Windows\SYSTEM32\sechost.dll
0x00007fffa9470000 - 0x00007fffa9646000 	C:\Windows\SYSTEM32\combase.dll
0x00007fffaa000000 - 0x00007fffaa144000 	C:\Windows\system32\GDI32.dll
0x00007fffa8e20000 - 0x00007fffa8e34000 	C:\Windows\SYSTEM32\profapi.dll
0x00007fffa7da0000 - 0x00007fffa7e3f000 	C:\Windows\SYSTEM32\SHCORE.dll
0x00007fffa9fc0000 - 0x00007fffa9ff4000 	C:\Windows\system32\IMM32.DLL
0x00007fffab870000 - 0x00007fffab9a9000 	C:\Windows\system32\MSCTF.dll
0x00007fffa83d0000 - 0x00007fffa862a000 	C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.17031_none_6242a4b3ecbb55a1\COMCTL32.dll
0x0000000065bc0000 - 0x0000000065c92000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\msvcr100.dll
0x0000000065000000 - 0x00000000657c9000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\server\jvm.dll
0x00007fff874a0000 - 0x00007fff874a9000 	C:\Windows\SYSTEM32\WSOCK32.dll
0x00007fffa6bc0000 - 0x00007fffa6bdf000 	C:\Windows\SYSTEM32\WINMM.dll
0x00007fffa9970000 - 0x00007fffa9977000 	C:\Windows\system32\PSAPI.DLL
0x00007fffa9d60000 - 0x00007fffa9db8000 	C:\Windows\system32\WS2_32.dll
0x00007fffa6b80000 - 0x00007fffa6baa000 	C:\Windows\SYSTEM32\WINMMBASE.dll
0x00007fffaa200000 - 0x00007fffaa209000 	C:\Windows\system32\NSI.dll
0x00007fffa9100000 - 0x00007fffa914a000 	C:\Windows\SYSTEM32\cfgmgr32.dll
0x00007fffa7450000 - 0x00007fffa7476000 	C:\Windows\SYSTEM32\DEVOBJ.dll
0x0000000066030000 - 0x000000006603f000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\verify.dll
0x0000000066000000 - 0x0000000066028000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\java.dll
0x0000000065fe0000 - 0x0000000065ff5000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\zip.dll
0x0000000065dc0000 - 0x0000000065f55000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\awt.dll
0x00007fffa9700000 - 0x00007fffa97c1000 	C:\Windows\system32\OLEAUT32.dll
0x00007fffa72b0000 - 0x00007fffa73d1000 	C:\Windows\system32\uxtheme.dll
0x00007fffa6bf0000 - 0x00007fffa6c10000 	C:\Windows\system32\dwmapi.dll
0x00007fffa71c0000 - 0x00007fffa71ca000 	C:\Windows\SYSTEM32\kernel.appcore.dll
0x00007fffa8cf0000 - 0x00007fffa8cfa000 	C:\Windows\SYSTEM32\CRYPTBASE.dll
0x00007fffa8c90000 - 0x00007fffa8cf0000 	C:\Windows\SYSTEM32\bcryptPrimitives.dll
0x00007fffa8630000 - 0x00007fffa864e000 	C:\Windows\SYSTEM32\CRYPTSP.dll
0x00007fffa8010000 - 0x00007fffa8045000 	C:\Windows\system32\rsaenh.dll
0x00007fffa8900000 - 0x00007fffa8926000 	C:\Windows\SYSTEM32\bcrypt.dll
0x0000000065fc0000 - 0x0000000065fd9000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\net.dll
0x00007fffa8370000 - 0x00007fffa83c8000 	C:\Windows\system32\mswsock.dll
0x00007fff98400000 - 0x00007fff98414000 	C:\Windows\system32\napinsp.dll
0x00007fff98420000 - 0x00007fff98439000 	C:\Windows\system32\pnrpnsp.dll
0x00007fffa4bd0000 - 0x00007fffa4beb000 	C:\Windows\system32\NLAapi.dll
0x00007fffa8180000 - 0x00007fffa8223000 	C:\Windows\SYSTEM32\DNSAPI.dll
0x00007fff9fcd0000 - 0x00007fff9fcdc000 	C:\Windows\System32\winrnr.dll
0x00007fff9f960000 - 0x00007fff9f973000 	C:\Windows\system32\wshbth.dll
0x00007fffa7f30000 - 0x00007fffa7f39000 	C:\Windows\System32\rasadhlp.dll
0x00007fffa37a0000 - 0x00007fffa37c9000 	C:\Windows\SYSTEM32\IPHLPAPI.DLL
0x00007fffa3770000 - 0x00007fffa377a000 	C:\Windows\SYSTEM32\WINNSI.DLL
0x00007fffa0620000 - 0x00007fffa0688000 	C:\Windows\System32\fwpuclnt.dll
0x0000000065f60000 - 0x0000000065f71000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\nio.dll
0x0000000180000000 - 0x0000000180038000 	C:\Users\Tom\AppData\Local\Temp\jna-84274\jna4478299752546417089.dll
0x00007fff87f30000 - 0x00007fff87ff0000 	\\?\C:\Users\Tom\AppData\Local\Temp\JNA-84~1\JNA548~1.DLL
0x00007fffa9de0000 - 0x00007fffa9fb4000 	C:\Windows\system32\SETUPAPI.dll
0x00007fff8fcf0000 - 0x00007fff8fe11000 	C:\Windows\SYSTEM32\OPENGL32.dll
0x00007fffa6be0000 - 0x00007fffa6bea000 	C:\Windows\SYSTEM32\VERSION.dll
0x00007fff8fb60000 - 0x00007fff8fce8000 	C:\Windows\SYSTEM32\dbghelp.dll
0x00007fff8fb30000 - 0x00007fff8fb5c000 	C:\Windows\SYSTEM32\GLU32.dll
0x00007fff8fa30000 - 0x00007fff8fb24000 	C:\Windows\SYSTEM32\DDRAW.dll
0x00007fff8fa20000 - 0x00007fff8fa29000 	C:\Windows\SYSTEM32\DCIMAN32.dll
0x00007fff82270000 - 0x00007fff82330000 	\\?\C:\Users\Tom\AppData\Local\Temp\JNA-84~1\JNA821~1.DLL
0x00007fffa4830000 - 0x00007fffa48af000 	C:\Windows\SYSTEM32\dxgi.dll
0x00007fffa4e00000 - 0x00007fffa5008000 	C:\Windows\SYSTEM32\d3d9.dll
0x00007fffa4480000 - 0x00007fffa4688000 	C:\Windows\SYSTEM32\d3d11.dll
0x00007fff854d0000 - 0x00007fff85525000 	C:\Windows\SYSTEM32\d3d10core.dll
0x00007fff803a0000 - 0x00007fff804d6000 	C:\Windows\SYSTEM32\d3d10.dll
0x00007fff94590000 - 0x00007fff945ab000 	C:\Windows\SYSTEM32\OVRDisplayRT64.dll
0x00007fff821c0000 - 0x00007fff82266000 	C:\Windows\SYSTEM32\MSVCP120.dll
0x00007fff7f940000 - 0x00007fff7fa2f000 	C:\Windows\SYSTEM32\MSVCR120.dll
0x000000000f860000 - 0x000000000f8c4000 	C:\Users\Tom\Documents\jmeprojects\MazeGame\OpenAL64.dll
0x000000000f910000 - 0x000000000f960000 	C:\Users\Tom\Documents\jmeprojects\MazeGame\lwjgl64.dll
0x00007fff93ea0000 - 0x00007fff93eb6000 	C:\Windows\SYSTEM32\OVRDisplay64.dll
0x0000000063120000 - 0x0000000064ff9000 	C:\Windows\SYSTEM32\nvoglv64.DLL
0x00007fffa71d0000 - 0x00007fffa71e1000 	C:\Windows\SYSTEM32\WTSAPI32.dll
0x00007fffa8fa0000 - 0x00007fffa8fec000 	C:\Windows\system32\WINTRUST.dll
0x00007fffa9150000 - 0x00007fffa932f000 	C:\Windows\system32\CRYPT32.dll
0x00007fffa8ed0000 - 0x00007fffa8ee2000 	C:\Windows\system32\MSASN1.dll
0x00007fff9ff70000 - 0x00007fff9ffa0000 	C:\Windows\SYSTEM32\ntmarta.dll
0x00007fffa8dc0000 - 0x00007fffa8e05000 	C:\Windows\SYSTEM32\powrprof.dll
0x00007fffa8b80000 - 0x00007fffa8bd7000 	C:\Windows\SYSTEM32\WINSTA.dll
0x00007fffa6c10000 - 0x00007fffa6c9d000 	C:\Windows\SYSTEM32\mscms.dll
0x00007fff864e0000 - 0x00007fff86521000 	C:\Windows\SYSTEM32\icm32.dll
0x00007fff7c7c0000 - 0x00007fff7d96a000 	C:\Windows\SYSTEM32\nvwgf2umx.dll
0x00000000114f0000 - 0x0000000011669000 	C:\Windows\system32\nvspcap64.dll
0x00007fffa1380000 - 0x00007fffa2d88000 	C:\Windows\SYSTEM32\igd10iumd64.dll
0x00007fffa88d0000 - 0x00007fffa88f4000 	C:\Windows\SYSTEM32\ncrypt.dll
0x00007fffa8890000 - 0x00007fffa88ca000 	C:\Windows\SYSTEM32\NTASN1.dll
0x00007fffa3a70000 - 0x00007fffa3ed0000 	C:\Windows\SYSTEM32\igdusc64.dll

VM Arguments:
jvm_args: -Dfile.encoding=UTF-8 
java_command: mygame.multiplayer.client.OculusClientMain
Launcher Type: SUN_STANDARD

Environment Variables:
PATH=C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT
USERNAME=Tom
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 60 Stepping 3, GenuineIntel



---------------  S Y S T E M  ---------------

OS: Windows 8 , 64 bit Build 9200 

CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 60 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, erms, ht, tsc, tscinvbit

Memory: 4k page, physical 8268732k(5919084k free), swap 16657340k(13411692k free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (24.51-b03) for windows-amd64 JRE (1.7.0_51-b13), built on Dec 18 2013 18:40:56 by "java_re" with unknown MS VC++:1600

time: Sat Jan 31 14:37:04 2015
elapsed time: 0 seconds

This is al the new info I have collected for now

Yeah, seems like it crashes on startup this time.
I remembered there’s one more thing to try (unsure whether it works on a laptop). Can you set the Oculus Rift as the main display in the windows properties?

Edit: The interesting thing with the heap dump is tat it complains about PixelFormat. Maybe jme is trying to set up a window which is not supported based on the Oculus Rift settings.

I m not sure what you mean? In direct mode, I don’t think you can put the Oculus as main window it that option. Only when you use the extended mode you can choose to use oculus display as main window, but doesn’t give a good result.

I see what you mean about the pixelformay, how every i have no idea what can cause that. It is just a normal display that is generated…

I mean in the windows screen properties. On a desktop you can choose which display is the main display. I don’t know if that is possible on a laptop.

On another note:
What does it look like when you start the application?
Do you get the pop up window with scrambled text? Can you somehow make sure that full screen is selected and not windowed mode? I guess that’s what you tried out before going with extended + windowed mode, however.

Well after some time searching, i found that option. However it doesn’t solve the chrashing.

When i run the game without the oculus rift plugged it, it just pops up a screen and the first thing you see is the health and safety warning form oculus. When i run it with the default graphical processor it just shows a black screen for a second and that exits.
If you mean the pop up window from jmonkey, i don’t get that. That’s because my project consists of multiple files (client - server) that i have to run. So I just run the files i need to and not the project. But that doesn’t influence this problem.
I did tried running fullscreen by forcing jmonkey to produce a fullscreen display by using

settings.setFullscreen(true)

However this doesn’t change anything

Just as a a general note laptops do not seem to be very well supported at the moment from Oculus’ side. I’ve tried on three different laptops and gotten three slightly different results, however they all have one thing in common; direct mode does NOT work.

I think it is more hardware (aka graphical card) related and not really about the laptops. I have a laptop where direct mode does work. I suspect the issue is the fact that most recent computers contain dual-gpu setups and oculus had serious problems with that in the past, and they have never stated that those issues were resolved.

Many laptops actually have a dual GPU setup, an integrated GPU for daily use and a discrete GPU for gaming. In many cases, the monitor VGA port is actually provided by the integrated GPU, so the frame data has to be copied over to the integrated GPU. This may be incompatible with the way the oculus rift direct mode was designed.