celery worker启动时”Segmentation fault” (core dumped)

在我的Ubuntu 14.04 上, 使用”celery worker”命令启动celery worker时,遇到”Segmentation fault” (core dumped),如下:

jay@jay-linux:~/workspace/aew$ celery -A aew worker
 
 -------------- celery@jay-linux v3.1.13 (Cipater)
---- **** ----- 
--- * ***  * -- Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty
-- * - **** --- 
- ** ---------- [config]
- ** ---------- .> app:         aew:0x7fd4b547af90
- ** ---------- .> transport:   amqp://aew:**@192.168.217.188:5672/aew
- ** ---------- .> results:     amqp
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ---- 
--- ***** ----- [queues]
 -------------- .> celery           exchange=celery(direct) key=celery
                

Segmentation fault (core dumped)

后来发现时系统中的 python-librabbitmq的问题,遇到这个错误的系统中的python-librabbitmq版本为1.0.3-0ubuntu1,可用命令:dpkg -l | grep python-librabbitmq 来查询.
解决方案有2个:
1. 升级python-librabbitmq到新的版本,如 1.5.2 ,可以用通过.deb包或apt-get命令来升级,也可以用pip来安装.我用pip安装默认就到1.5.2版本了,如下:

jay@jay-linux:~$ sudo apt-get remove  python-librabbitmq    #删除原来的包
jay@jay-linux:~$ sudo pip install librabbitmq 

2. 直接删除python-librabbitmq包,这样celery会回到使用python-amqp包,这样也时可以的.

其他人也发现过这个问题,见:
https://bugs.launchpad.net/ubuntu/+source/python-librabbitmq/+bug/1353269

master

Stay hungry, stay foolish.

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

*