[Jde-dev] Segmentation fault en introrob

Eduardo Perdices eperdices en gsyc.es
Vie Mar 4 10:55:05 CET 2011


Hola,

la verdad que lo que es raro es que funcione a veces cuando yo creo que 
debería fallar siempre, el compilador creo que estaba sin el -Wall, por 
eso tampoco daba ningún mensaje de warning.

En cualquier caso ha pasado esto porque ha habido que desarrollar el 
componente con cuenta atrás para que lo pudiesen utilizar en las 
prácticas de robótica, así que hasta que esto esté depurado pasará un 
tiempo.

Saludos.

lo que no se es como puede funcionar en algunas ocasiones,

On 03/03/11 10:34, David Lobato wrote:
> Hola,
>
> Sin haber mirado el código, lo único que veo es que si view no está 
> inicializado, no se puede esperar que funcione. Además supongo que si 
> se compila con -Wall saldrá un warning como una catedral de grande, 
> que muy probablemente haya sido ignorado....
>
> Saludetes,
> David.
>
> 2011/3/1 Eduardo Perdices <eperdices en gsyc.es <mailto:eperdices en gsyc.es>>
>
>     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.
>     _______________________________________________
>     Jde-developers mailing list
>     Jde-developers en gsyc.es <mailto:Jde-developers en gsyc.es>
>     http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
>
>
>
> -- 
> David Lobato Bravo
> http://es.linkedin.com/in/davidlobato
>

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20110304/de3fb6ee/attachment.htm 


More information about the Jde-developers mailing list