AraDaen, sysadmin notes Blog sobre administración de sistemas operativos, análisis de nuevas tecnologías, diseño y desarrollo de software a medida (Java, .NET, Android) y otras noticias

Core Dumped: Centos 6, Python e IF anidados

Estos días estoy realizando pruebas con OpenERP: un ERP open source basado en Python que día a día va ganando terreno a otros ERP más conocidos como OpenBravo.

Durante la instalación de OpenERP en un servidor Centos 6 limpio, con Python 2.6.6, al arrancar OpenERP me encontré con esto:

-bash-4.1$ ./openerp-server
2012-03-17 12:00:05,432 1395 INFO ? openerp: OpenERP version 6.1-1
2012-03-17 12:00:05,433 1395 INFO ? openerp: addons paths: /opt/openerp/server/openerp/addons
2012-03-17 12:00:05,433 1395 INFO ? openerp: database hostname: localhost
2012-03-17 12:00:05,434 1395 INFO ? openerp: database port: 5432
2012-03-17 12:00:05,434 1395 INFO ? openerp: database user: openerp
2012-03-17 12:00:05,457 1395 INFO ? openerp.service.netrpc_server: starting NET-RPC service on 0.0.0.0:8070
2012-03-17 12:00:05,458 1395 INFO ? openerp.netsvc: Starting 1 services
2012-03-17 12:00:05,675 1395 INFO ? openerp.wsgi.core: HTTP service (werkzeug) running on 0.0.0.0:8069
2012-03-17 12:00:06,003 1395 INFO ? openerp.addons.web: embedded mode
python: Python/compile.c:3437: stackdepth_walk: Assertion `depth >= 0' failed.
Abortado

Investigando, el error está reportado en el tracker de OpenERP, aunque realmente no es un bug de OpenERP, si no de Python: el problema viene cuando en código anidas más de 4 if consecutivos, y es facilmente reproducible:

$python -c "[1 for x in () if 1 if 1 if 1 if 1]"python: Python/compile.c:3437: stackdepth_walk: Assertion `depth >= 0' failed.
Abortado

Este bug solventado en la versión de Python 2.6.7, pero en CentOS 6, la versión disponible vía repositorios oficiales es la 2.6.6. Está reportado, pero mientras no realicen la actualización, solo nos queda realizar una instalación de Python 2.6.7 manual desde el código fuente y utilizar make altinstall o alernatives para poder tener ambas versiones.

Leave a Reply

Your email address will not be published. Required fields are marked *