Skip to content

ConeJoint causes rigid body to disappear with native Bullet on Linux #1135

@stephengold

Description

@stephengold

This issue affects jme3-bullet on Linux but not on Windows. It was reported at the Forum: https://hub.jmonkeyengine.org/t/capsulecolissionshape-not-visible/42030

It can be demonstrated using TestRagdoll. When the issue manifests, the capsule shapes that make up the bones of the ragdoll don't appear in the visualization, probably because their physics locations are NaN.

Replacing the cone joints with 6-DOF joints works around the issue. Recompiling the jme3-bullet-native library with gcc -O3 instead of gcc -Ofast seems to resolve the issue.

Here's how the GCC manual describes -Ofast:

Disregard strict standards compliance. -Ofast enables all -O3 optimizations. It also enables optimizations that are not valid for all standard-compliant programs. It turns on -ffast-math and the Fortran-specific -fstack-arrays, unless -fmax-stack-var-size is specified, and -fno-protect-parens.

Probably we shouldn't be using -Ofast on code not designed for such optimizations.

Metadata

Metadata

Assignees

Labels

PhysicsIssues with all kinds of Physics and their BindingsbugSomething that is supposed to work, but doesn't. More severe than a "defect".

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions