Comments (5)
After removing the -XX:+UseG1GC
runtime option, the stack trace becomes:
Current thread (0x00007f7275188800): JavaThread "jME3 Main" [_thread_in_native, id=48997, stack(0x00007f7244e91000,0x00007f7244f92000)]
Stack: [0x00007f7244e91000,0x00007f7244f92000], sp=0x00007f7244f8ec98, free space=1015k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libbulletjme.so+0x10b9e1] Java_com_jme3_bullet_collision_PhysicsCollisionObject_findInstance+0x11
j com.jme3.bullet.collision.PhysicsCollisionObject.cloneIgnoreList(Lcom/jme3/util/clone/Cloner;Lcom/jme3/bullet/collision/PhysicsCollisionObject;)V+32
j com.jme3.bullet.objects.PhysicsRigidBody.cloneFields(Lcom/jme3/util/clone/Cloner;Ljava/lang/Object;)V+18
J 4152 c2 com.jme3.util.clone.Cloner.clone(Ljava/lang/Object;Z)Ljava/lang/Object; (615 bytes) @ 0x00007f72640ed56c [0x00007f72640ecb00+0x0000000000000a6c]
J 4008 c2 com.jme3.util.clone.Cloner.clone(Ljava/lang/Object;)Ljava/lang/Object; (7 bytes) @ 0x00007f72640c6c58 [0x00007f72640c6c20+0x0000000000000038]
j maud.model.cgm.CgmPhysics.cloneFields(Lcom/jme3/util/clone/Cloner;Ljava/lang/Object;)V+69
J 4152 c2 com.jme3.util.clone.Cloner.clone(Ljava/lang/Object;Z)Ljava/lang/Object; (615 bytes) @ 0x00007f72640ed56c [0x00007f72640ecb00+0x0000000000000a6c]
J 4008 c2 com.jme3.util.clone.Cloner.clone(Ljava/lang/Object;)Ljava/lang/Object; (7 bytes) @ 0x00007f72640c6c58 [0x00007f72640c6c20+0x0000000000000038]
j maud.model.cgm.Cgm.clone()Lmaud/model/cgm/Cgm;+22
j maud.model.cgm.LoadedCgm.clone()Lmaud/model/cgm/LoadedCgm;+1
j maud.model.cgm.EditableCgm.clone()Lmaud/model/cgm/EditableCgm;+1
j maud.model.EditorModel.<init>(Lmaud/model/EditorModel;)V+20
j maud.model.Checkpoint.<init>(Ljava/util/List;)V+29
j maud.model.History.addCheckpoint()I+67
j maud.model.History.autoAdd()V+6
j maud.model.cgm.EditableCgm.linkBone(Ljava/lang/String;)Z+17
from maud.
I re-tested using the "Minie-5.0.0+debug" library and got the following console output:
> Task :run
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.jme3.util.ReflectionAllocator (file:/home/sgold/.gradle/caches/modules-2/files-2.1/org.jmonkeyengine/jme3-core/3.5.2-stable/fe2b20c9d088d1d2bcbe08abba9311df2f2dee7a/jme3-core-3.5.2-stable.jar) to method sun.nio.ch.DirectBuffer.cleaner()
WARNING: Please consider reporting this to the maintainers of com.jme3.util.ReflectionAllocator
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
warning btCollisionDispatcher::needsCollision: static-static collision!
Jul 13, 2022 1:05:29 PM jme3utilities.nifty.BasicScreenController perform
SEVERE: Caught unexpected throwable:
java.lang.NullPointerException: The PhysicsCollisionObject does not exist.
at com.jme3.bullet.collision.PhysicsCollisionObject.findInstance(Native Method)
at com.jme3.bullet.collision.PhysicsCollisionObject.cloneIgnoreList(PhysicsCollisionObject.java:1249)
at com.jme3.bullet.objects.PhysicsRigidBody.cloneFields(PhysicsRigidBody.java:1161)
at com.jme3.util.clone.Cloner.clone(Cloner.java:269)
at com.jme3.util.clone.Cloner.clone(Cloner.java:168)
at com.jme3.bullet.joints.PhysicsJoint.cloneFields(PhysicsJoint.java:276)
at com.jme3.bullet.joints.Constraint.cloneFields(Constraint.java:481)
at com.jme3.bullet.joints.SixDofJoint.cloneFields(SixDofJoint.java:494)
at com.jme3.util.clone.Cloner.clone(Cloner.java:269)
at com.jme3.util.clone.Cloner.clone(Cloner.java:168)
at com.jme3.bullet.animation.PhysicsLink.cloneFields(PhysicsLink.java:677)
at com.jme3.bullet.animation.BoneLink.cloneFields(BoneLink.java:473)
at com.jme3.util.clone.Cloner.clone(Cloner.java:269)
at com.jme3.util.clone.Cloner.clone(Cloner.java:168)
at com.jme3.util.clone.ListCloneFunction.cloneFields(ListCloneFunction.java:68)
at com.jme3.util.clone.ListCloneFunction.cloneFields(ListCloneFunction.java:43)
at com.jme3.util.clone.Cloner.clone(Cloner.java:242)
at com.jme3.util.clone.Cloner.clone(Cloner.java:168)
at com.jme3.bullet.animation.DacLinks.cloneFields(DacLinks.java:722)
at com.jme3.bullet.animation.DynamicAnimControl.cloneFields(DynamicAnimControl.java:897)
at com.jme3.util.clone.Cloner.clone(Cloner.java:269)
at com.jme3.util.clone.Cloner.clone(Cloner.java:168)
at com.jme3.bullet.animation.PhysicsLink.cloneFields(PhysicsLink.java:674)
at com.jme3.bullet.animation.BoneLink.cloneFields(BoneLink.java:473)
at com.jme3.util.clone.Cloner.clone(Cloner.java:269)
at com.jme3.util.clone.Cloner.clone(Cloner.java:168)
at com.jme3.bullet.collision.PhysicsCollisionObject.cloneFields(PhysicsCollisionObject.java:1398)
at com.jme3.bullet.objects.PhysicsRigidBody.cloneFields(PhysicsRigidBody.java:1157)
at com.jme3.util.clone.Cloner.clone(Cloner.java:269)
at com.jme3.util.clone.Cloner.clone(Cloner.java:168)
at maud.model.cgm.CgmPhysics.cloneFields(CgmPhysics.java:642)
at com.jme3.util.clone.Cloner.clone(Cloner.java:269)
at com.jme3.util.clone.Cloner.clone(Cloner.java:168)
at maud.model.cgm.Cgm.clone(Cgm.java:1255)
at maud.model.cgm.LoadedCgm.clone(LoadedCgm.java:346)
at maud.model.cgm.EditableCgm.clone(EditableCgm.java:1765)
at maud.model.EditorModel.<init>(EditorModel.java:148)
at maud.model.Checkpoint.<init>(Checkpoint.java:78)
at maud.model.History.addCheckpoint(History.java:98)
at maud.model.History.autoAdd(History.java:132)
at maud.model.cgm.EditableCgm.linkBone(EditableCgm.java:722)
at maud.model.cgm.SelectedLink.createBoneLink(SelectedLink.java:194)
at maud.action.NewAction.process(NewAction.java:115)
at maud.action.EditorInputMode.onAction(EditorInputMode.java:180)
at jme3utilities.nifty.BasicScreenController.perform(BasicScreenController.java:267)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at de.lessvoid.nifty.NiftyMethodInvoker.callMethod(NiftyMethodInvoker.java:157)
from maud.
Perhaps there should be a check in listIgnoredIds()
to make sure all the ids returned by getObjectWithoutCollision()
are non-zero.
from maud.
Upgrading Minie to v5.0.1 appears to solve this issue. Perhaps it had to do with ignore lists becoming garbled during a rigid-body rebuild.
I'll keep this issue open until I'm more confident.
from maud.
I can't reproduce this with top-of-tree, so I believe it's solved.
from maud.
Related Issues (5)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maud.