[ODE] SIGSEGV in dSolveLCP() at ode/src/lcp.cpp:1137
Michael Lacher
michael.lacher at hlw.co.at
Fri Feb 13 12:10:54 MST 2004
Adam D. Moss wrote:
> We're getting a bit off-track.
>
> This discussion is simply about macroizing the solver's
> alloca() (strictly stack-based) usage to optionally allow
> a fake-stack solution for platforms and situations that
> want it. What alloca() gets replaced with is just a detail,
> and since it's just a stack it doesn't need the grand unified
> theory of memory management overengineering thrown at it.
>
> Abstracting away ALL of ODE's memory management is something
> good to work towards, but that's a pretty orthogonal discussion
> that doesn't have much bearing on the alloca()-wrapper (the
> latter would simply optionally be layered whatever heap
> abstraction the app ends up adopting, which in the long
> term I think needs more careful ODE-specific analysis w.r.t.
> object grouping and lifetime if we're going to see efficiency
> wins as well as convenience).
>
> Regards,
> --Adam
good point :)
Just one last question before i stop going further OT:
The main memory problem seems to be the LCP solver in ODE. Are these
allocations even in a stack ? Or is the LCP solver just called a few
times per dWordStep() (once for each island) in a serial manner anyway ?
Because in the latter case one could just skip the whole allocation part
totally and provide a constant, fixed memory block to be used by the LCP
solver which is resused without allocation stuff going on.
mucki
More information about the ODE
mailing list