Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SystemError on attempt to publish to the topic exchange in kombu #558

Closed
narun4sk opened this issue Jan 9, 2016 · 1 comment
Closed

Comments

@narun4sk
Copy link

narun4sk commented Jan 9, 2016

The following code:

from kombu.transport import librabbitmq
from kombu import Connection, Exchange

transport = librabbitmq
virtual_host = '/'
hostname = '127.0.0.1'
port = '5672'
userid = 'guest'
password = 'guest'

conn = Connection(virtual_host=virtual_host, hostname=hostname, port=port, userid=userid, password=password)
chan = conn.channel()

exchange = Exchange(name='ami_exch', type='topic', channel=chan, durable=True, auto_delete=True, delivery_mode='persistent')
exchange.declare(nowait=False)

msg = exchange.Message("Test MQ message.")
exchange.publish(message=msg, routing_key='ami.ctl')

Throw SystemError exception:

---------------------------------------------------------------------------
SystemError                               Traceback (most recent call last)
<ipython-input-1-c6421245d2d6> in <module>()
     19 
     20 msg = exchange.Message("Test MQ message.")
---> 21 exchange.publish(message=msg, routing_key='ami.ctl')

/usr/local/lib/python2.7/dist-packages/kombu/entity.pyc in publish(self, message, routing_key, mandatory, immediate, exchange)
    257                                           routing_key=routing_key,
    258                                           mandatory=mandatory,
--> 259                                           immediate=immediate)
    260 
    261     def delete(self, if_unused=False, nowait=False):

/usr/local/lib/python2.7/dist-packages/librabbitmq/__init__.pyc in basic_publish(self, body, exchange, routing_key, mandatory, immediate, **properties)
    115         return self.connection._basic_publish(
    116             self.channel_id, body, exchange, routing_key, properties,
--> 117             mandatory or False, immediate or False,
    118         )
    119 

SystemError: ../Objects/dictobject.c:1674: bad argument to internal function

Any thoughts why, please?

There are my python packages, maybe I've forgotten to install one?

# pip freeze
amqp==1.4.8
anyjson==0.3.3
argparse==1.2.1
cffi==0.8.6
chardet==2.3.0
colorama==0.3.2
cryptography==0.6.1
decorator==3.4.0
gevent==1.0.2
greenlet==0.4.9
html5lib==0.999
ipython==2.3.0
kombu==3.0.32
librabbitmq==1.6.1
ndg-httpsclient==0.3.2
pexpect==3.2
pika==0.10.0
ply==3.4
pyOpenSSL==0.14
pyasn1==0.1.7
pycparser==2.10
requests==2.4.3
simplegeneric==0.8.1
six==1.8.0
urllib3==1.9.1
wheel==0.24.0
wsgiref==0.1.2

RabbitMQ:

rabbitmq-server                                3.3.5-1.1

System:

# uname -a
Linux rootfs 4.3.3-2-ARCH #1 SMP PREEMPT Wed Dec 23 20:09:18 CET 2015 x86_64 GNU/Linux
@ask
Copy link
Contributor

ask commented Jun 23, 2016

I'm not sure, but probably an issue with librabbitmq so I suggest trying pyamqp://

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants