Python

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.

Pablo Baenas

Recent Posts

Cómo crear un sistema de popups en Magento 2: Simple Popup Widget

Cómo crear popups personalizados en Magento 2 con widgets. Guía paso a paso. SimplePopupWidget para…

3 años ago

Entorno de desarrollo Magento 2 con Docker en menos de 10 minutos

Configura tu entorno de desarrollo de Magento 2 con Docker en menos de 10 minutos.

3 años ago

Ajustar en Centos la zona horaria (time zone)

Tips para sysadmins: ¿Cómo configuro en Centos la zona horaria? ¿Por qué es importante configurar…

5 años ago

Asignar o cambiar el hostname en Centos 7

Tip para sysadmins: ¿Qué es el hostname de un equipo? ¿Qué tipos de hostname hay?…

5 años ago

Cheat Sheet MySQL: privilegios de usuario

Cuando creamos una base de datos MySQL es una buena medida de seguridad crear diferentes…

11 años ago