{"action":"created","issue":{"url":"https://api.github.com/repos/jMonkeyEngine/jmonkeyengine/issues/291","labels_url":"https://api.github.com/repos/jMonkeyEngine/jmonkeyengine/issues/291/labels{/name}","comments_url":"https://api.github.com/repos/jMonkeyEngine/jmonkeyengine/issues/291/comments","events_url":"https://api.github.com/repos/jMonkeyEngine/jmonkeyengine/issues/291/events","html_url":"https://github.com/jMonkeyEngine/jmonkeyengine/issues/291","id":91527784,"number":291,"title":"Unclear error in BIHTree","user":{"login":"noncom","id":2920144,"avatar_url":"https://avatars.githubusercontent.com/u/2920144?v=3","gravatar_id":"","url":"https://api.github.com/users/noncom","html_url":"https://github.com/noncom","followers_url":"https://api.github.com/users/noncom/followers","following_url":"https://api.github.com/users/noncom/following{/other_user}","gists_url":"https://api.github.com/users/noncom/gists{/gist_id}","starred_url":"https://api.github.com/users/noncom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noncom/subscriptions","organizations_url":"https://api.github.com/users/noncom/orgs","repos_url":"https://api.github.com/users/noncom/repos","events_url":"https://api.github.com/users/noncom/events{/privacy}","received_events_url":"https://api.github.com/users/noncom/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-06-27T23:17:06Z","updated_at":"2015-06-30T22:35:47Z","closed_at":null,"body":"On [this line](https://github.com/jMonkeyEngine/jmonkeyengine/blob/e2d8fe829359dd6028d6810efddbf671d9980231/jme3-core/src/main/java/com/jme3/collision/bih/BIHTree.java#L117)  in BIHTree.java if the mesh does not have the `Position` buffer set up, the error is\r\n\r\n    java.lang.NullPointerException\r\n\tat com.jme3.collision.bih.BIHTree.<init>(BIHTree.java:117)\r\n\tat com.jme3.collision.bih.BIHTree.<init>(BIHTree.java:130)\r\n\tat com.jme3.scene.Mesh.createCollisionData(Mesh.java:885)\r\n\tat com.jme3.scene.Mesh.collideWith(Mesh.java:905)\r\n\tat com.jme3.scene.Geometry.collideWith(Geometry.java:408)\r\n\tat com.jme3.scene.Node.collideWith(Node.java:494)\r\n\tat com.simsilica.lemur.event.PickEventSession.cursorMoved(PickEventSession.java:367)\r\n\tat com.simsilica.lemur.event.MouseAppState.update(MouseAppState.java:171)\r\n\tat com.jme3.app.state.AppStateManager.update(AppStateManager.java:287)\r\n\tat com.jme3.app.SimpleApplication.update(SimpleApplication.java:239)\r\n\tat com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:151)\r\n\tat com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:185)\r\n\tat com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:228)\r\n\tat java.lang.Thread.run(Unknown Source)\r\n\r\nIf a mesh is forced to have the Position buffer to be valid, won't a more clear message here or somewhere else suggest that prior coming to this NPE in runtime? The stack trace which is strictly within the bounds of the platform itself looks like it is an unexpected situation, and probably a bug..?"},"comment":{"url":"https://api.github.com/repos/jMonkeyEngine/jmonkeyengine/issues/comments/117363314","html_url":"https://github.com/jMonkeyEngine/jmonkeyengine/issues/291#issuecomment-117363314","issue_url":"https://api.github.com/repos/jMonkeyEngine/jmonkeyengine/issues/291","id":117363314,"user":{"login":"afonsolage","id":1176452,"avatar_url":"https://avatars.githubusercontent.com/u/1176452?v=3","gravatar_id":"","url":"https://api.github.com/users/afonsolage","html_url":"https://github.com/afonsolage","followers_url":"https://api.github.com/users/afonsolage/followers","following_url":"https://api.github.com/users/afonsolage/following{/other_user}","gists_url":"https://api.github.com/users/afonsolage/gists{/gist_id}","starred_url":"https://api.github.com/users/afonsolage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/afonsolage/subscriptions","organizations_url":"https://api.github.com/users/afonsolage/orgs","repos_url":"https://api.github.com/users/afonsolage/repos","events_url":"https://api.github.com/users/afonsolage/events{/privacy}","received_events_url":"https://api.github.com/users/afonsolage/received_events","type":"User","site_admin":false},"created_at":"2015-06-30T22:35:47Z","updated_at":"2015-06-30T22:35:47Z","body":"But by adding those kind of checks, will slow down the performance...Since JME3 is focused on performance rather than trivial checks, I think this isn't much necessary."}}