-
Notifications
You must be signed in to change notification settings - Fork 287
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug Report: Assertion Failure in ODE dSolveLCP #1899
Comments
Sorry, I don't have the capacity to debug the entire test, but the error message indicates that the linear constraints for x in the LCP formulation do not satisfy the restrictions ( You might want to investigate how the value ended up being set this way. The issue could stem from an invalid constraint setup (e.g., a negative friction coefficient can make |
Thank you for your reply, I will continue to explore this issue |
hey, I narrowed down the error to the timeStep value of CollisionOfPrescribedJoints in test_Collision.cpp. It is set to 0.0/0.0 and it triggers the error. I also tried other cases, if it is defined as 1e308 * 1e308 or 1.0 / 0.0, it will be forced to 0. It is surprising that 0.0/0.0 does not trigger this protection. |
This is the protection prompt mentioned above, but 0.0/0.0 does not appear
|
Apologies, I’m a bit confused. The line you mentioned sets the time step to 1e-3, which is a valid value—it’s neither 0.0/0.0 nor 0. Are you saying that a NaN occurs when using 0.0/0.0 (which is already undefined behavior due to division by zero)? Or are you concerned that dart/dart/simulation/World.cpp Lines 135 to 139 in 88069f8
Adding such checks would be a good improvement. |
Bug Report
Environment
Expected Behavior
The test code can successfully execute the test
Current Behavior
During fuzz testing, when running Collision_CollisionOfPrescribedJoints_Test, the program triggered an internal error, specifically an assertion failure in the ODE (Open Dynamics Engine) solver dSolveLCP(). The core of the issue is that a non-zero command (-1.5708) was attempted to be set for a joint marked as "PASSIVE" (joint 1), which violates the internal assertion condition in ODE.
Below is the call stack that triggered the bug.
Steps to Reproduce
1.Compile test_Collision.cpp
2.Compile FuzzArgsProfile.pb.cc
3.Compile fuzz_entry.cc
4.Link
5.Reproduce the bug
Code to Reproduce
Test_code_and_Reproduction_File.tar.gz
The text was updated successfully, but these errors were encountered: