[ODE] Fwd: AMD x86_64 dMassCheck() and bNormalizationResult errors

Bram Stolk b.stolk at gmail.com
Mon Nov 19 08:22:34 MST 2007


On Nov 19, 2007 12:18 AM, Funky Fred <funkyfredmale at hotmail.com> wrote:

>
> Ok, narrowed it down a bit more. Looks like the body->avel value in
> dxStepBody is NaN.
> I stepped through things a little bit more and narrowed it down to the
> dxQuickStepper call @868 in quickstep.cpp
> If I'm reading the gdb output right (it's getting late). It looks like the
> dMULTIPLYADD0_331 macro/function is doing it.


Looking at the code, a logical cause for this would be a zero mass, causing
a NaN body_invMass;

I expect that if you do an...
ASSERT(!dIsNan(body[i]->invMass));
...in that code, it will be triggered.

  Bram


        // compute the velocity update:
        // add stepsize * invM * fe to the body velocity

        IFTIMING (dTimerNow ("compute velocity update");)
        for (i=0; i<nb; i++) {
                dReal body_invMass = body[i]->invMass;
                for (j=0; j<3; j++) body[i]->lvel[j] += stepsize *
body_invMass * body[i]->facc[j];
                for (j=0; j<3; j++) body[i]->tacc[j] *= stepsize;
                dMULTIPLYADD0_331 (body[i]->avel,invI + i*12,body[i]->tacc);
        }


-- 
Zapp: Captain's log, stardate...er..
Kif: Ohhh. April 13th.
Zapp: April 13th. Point 2.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ode.org/pipermail/ode/attachments/20071119/2b4a4851/attachment.htm


More information about the ODE mailing list