[Jde-dev] Segmentation fault en introrob
Eduardo Perdices
eperdices en gsyc.es
Mar Mar 1 17:38:49 CET 2011
Hola,
acabo de probar la última actualización de introrob y nada más arrancar
se produce un segmentation fault, lo más curioso es que cuando compilo
con el Makefile de julio directamente funciona, pero cuando compilo con
el que genera el Makefile.am falla, aunque todo tiene una explicación.
El fallo se produce en navegación.cpp:119, en la llamada:
this->navega = new Navega (this->controller, this, this->view->world);
que está dentro de Navegación::run.
El problema está en que dependiendo del procesador o de cómo se compile
introbot la variable this->view (que es privada, y que nunca se
inicializa...) apunta a un sitio u a otro, y dependiendo de la zona de
memoria en la que esté, al acceder a ella, puede que se acceda a un
sitio que no le guste al procesador y salte al pensar que se está
haciendo un buffer overflow.
De hecho con el supuesto "world" que se pasa a Navega, luego no se hace
nada (o por lo menos yo no lo veo) y por eso no vuelve a pegar al
acceder a él, sino fallaría igualmente con cualquier Makefile.
Yo lo he solucionado de momento cambiando la llamada a new Navega
(this->controller, this, NULL), y con eso ya funciona, pero habría que
arreglarlo porque ahí hay algo raro.
Saludos.
More information about the Jde-developers
mailing list