[ODE] SIGSEGV in dSolveLCP() at ode/src/lcp.cpp:1137

Michael Lacher michael.lacher at hlw.co.at
Fri Feb 13 13:28:53 MST 2004


Adam D. Moss wrote:
> The fixed block would still have to be apportioned to those who
> want it -- the 'solving' process is a noodle soup of little
> subsolvers who all (justifiably) really dig ALLOCA.  Really you're
> probably going to struggle to come up with a more attractive and
> fast paradigm (alloca() just comes down to moving the stack pointer,
> and cleanup is both implicit and 'free') -- alloca() rocks, but it's
> also not really a standard and it's simply dangerous (no easy
> accounting and no reliable failure mode) when you might
> potentially want to allocate a LOT of data, which many uses
> of ODE do.
> 
> --Adam

I agree that alloca is fast and suited to the task, but as I am using 
ODE for game development I would actually prefer a method that is safer 
and more controllable (ie: max memory usage) even if i have to limit the 
  size of the LCP matrix (which is easy in games because you can better 
control the possible number of contacts/joints to solve at any given time).
I have to say though, that so far I didn't run into problems with stack 
overflows, even on windows, except when doing really "stupid" things 
like failing to initialize object positions before activating physics 
(when the whole scene is located at the origin you get *lots* of 
contacts :) )

mucki



More information about the ODE mailing list