From: Hart's A. <bha...@ya...> - 2006-04-10 16:30:43
|
python bails hard when i do j.setAxis( (0,0,1) ) with a SliderJoint? Using pyode 1.1 and python2.4 on win32. can anyone confirm the code below crashes? from ode import * w = World() j = SliderJoint(w) j.setAxis( (0,0,1) ) # should crash now __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Chris B. <chr...@gm...> - 2006-04-10 16:41:52
|
On 10/04/06, Hart's Antler <bha...@ya...> wrote: > python bails hard when i do j.setAxis( (0,0,1) ) with a SliderJoint? Usi= ng pyode 1.1 and > python2.4 on win32. can anyone confirm the code below crashes? > > from ode import * > w =3D World() > j =3D SliderJoint(w) > j.setAxis( (0,0,1) ) > # should crash now yup, crashes under Linux too. The following doesn't crash. from ode import * w =3D World() b0 =3D Body(w) b1 =3D Body(w) j =3D SliderJoint(w) j.attach(b0, b1) j.setAxis( (0,0,1) ) |
From: Chris B. <chr...@gm...> - 2006-04-10 16:50:30
|
On 10/04/06, Chris Bainbridge <chr...@gm...> wrote: > On 10/04/06, Hart's Antler <bha...@ya...> wrote: > > python bails hard when i do j.setAxis( (0,0,1) ) with a SliderJoint? U= sing pyode 1.1 and > > python2.4 on win32. can anyone confirm the code below crashes? Incidentally, the crash is in dJointSetSliderAxis () from /usr/lib/python2.4/site-packages/ode.so The ode source for this function: extern "C" void dJointSetSliderAxis (dxJointSlider *joint, dReal x, dReal y, dReal z) { int i; dUASSERT(joint,"bad joint argument"); dUASSERT(joint->vtable =3D=3D &__dslider_vtable,"joint is not a slider"); setAxes (joint,x,y,z,joint->axis1,0); // compute initial relative rotation body1 -> body2, or env -> body1 // also compute center of body1 w.r.t body 2 if (joint->node[1].body) { <cut> } else { // set joint->qrel to the transpose of the first body's q joint->qrel[0] =3D joint->node[0].body->q[0]; so if the bodies aren't set, either of those body references are going to cause a lookup of a random or null address, depending on how the pointer is initialised. You might like to report the bug to the ODE project. There should at least be an assert checking that the bodies are set. |
From: Frank B. <fb...@fo...> - 2006-04-10 16:48:54
|
Hallo, Hart's Antler hat gesagt: // Hart's Antler wrote: > python bails hard when i do j.setAxis( (0,0,1) ) with a SliderJoint? Using pyode 1.1 and > python2.4 on win32. can anyone confirm the code below crashes? > > from ode import * > w = World() > j = SliderJoint(w) > j.setAxis( (0,0,1) ) > # should crash now This code crashes on Linux, too, we just call it segfault ;) Python 2.3.5, pyode-CVS from about Feb 19, and libode from Debian, 1:0.5-3 Ciao -- Frank Barknecht _ ______footils.org_ __goto10.org__ |