[ODE] Framework for reproducing bugs

Russ Smith russ at q12.org
Sun Nov 4 19:08:01 MST 2001


nlin at nlin.net wrote:
> I noticed a question earlier about a random LCP solver error which
> caused things to blow up intermittently. In my engine I have a
> reproducible framework built in so that I can replay any sequence of
> events for debugging.
> 
> Would it be a good idea to build something like this into ODE? I.e.
> if you seem to have a problematic configuration which blows up, then
> you turn on some logging facility in ODE before calling any other ODE
> functions.

per-timestep ODE errors (e.g. spontaneous instability, factorizer or
LCP errors) could be found with a simple function that logs the state
of all bodies and joints in a system. a basic binary dump would be good
enough if you don't want cross-platform portability. there is no need
to record *every* timestep for this.

hmmmm, stability can be caused by the user of ODE too - for these
problems it is often not enough to log the ODE state at all timesteps,
the user's own code needs to be examined to see how force/constraint
inputs are dependent on the ODE state variables. this is because the
user's code and ODE form a big "control-loop" that may only be
unstable because of the presence of bad parameters in the user code.
these kinds of problems may look like ODE errors when they're not
really ("it's not *my* code, let's blame the library!"). :)

russ.

--
Russell Smith
http://www.q12.org




More information about the ODE mailing list