[
https://issues.apache.org/jira/browse/QPID-6107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14143609#comment-14143609
]
Alan Conway commented on QPID-6107:
-----------------------------------
Fatal Python error: deallocating None
This sounds like a reference counting bug in some C-python extension code that
has DECREF'ed the python None object too many times. However I don't see any
obvious place where such a mistake could occur. qpid_messaging.i is fairly
simple swig without any inline C or C++ code where such a bug could hide.
Stack trace shows this is indeed blowing up in "print msg" spout line 128, it
gets as far as calling _get_content and explodes while trying to deallocate the
python stack frame for that call.
> Python Swig wrapped bindings consistently fail with spout and drain
> -------------------------------------------------------------------
>
> Key: QPID-6107
> URL: https://issues.apache.org/jira/browse/QPID-6107
> Project: Qpid
> Issue Type: Bug
> Components: Python Client (Wrapped)
> Reporter: Darryl L. Pierce
> Assignee: Darryl L. Pierce
>
> In testing the packages [1] I have come across an interesting situation.
> It first came up on Ubuntu trusty but then I was able to reproduce it on
> F20.
> If I send less than 2272 messages using the spout tool then things
> success. But at 2273 then the Python bindings fail with:
> Fatal Python error: deallocating None
> Aborted (core dumped)
> using the following command line:
> $ python /usr/share/doc/python-qpid-messaging/examples/python/spout --count
> 2272 "my-queue;{create:always,delete:receiver}"
> I'm not sure why 2273 is the magic number. On Fedora the number seems to
> be a little bit lower at 2269 before it starts to fail as on Debian.
> On the other side, when I then drain the queue with:
> $ python /usr/share/doc/python-qpid-messaging/examples/python/drain "my-queue"
> I can't receive more than 1505 messages on Debian and 1503 on Fedora
> before the same error occurs. To verify this I ran very specific spout
> and drain situations with Python. On Debian I did:
> $ sudo service qpidd stop; sudo service qpidd start; python
> /usr/share/doc/python-qpid-messaging/examples/python/spout --count 1505
> "my-queue;{create:always,delete:receiver}"
> $ python /usr/share/doc/python-qpid-messaging/examples/python/drain "my-queue"
> $ sudo service qpidd stop; sudo service qpidd start; python
> /usr/share/doc/python-qpid-messaging/examples/python/spout --count 1506
> "my-queue;{create:always,delete:receiver}"
> $ python /usr/share/doc/python-qpid-messaging/examples/python/drain
> "my-queue" > output.txtFatal Python error: deallocating None
> Aborted (core dumped)
> On Fedora I changed 1505/1506 to 1503/1504 and the output was
> consistently the same.
> [1] https://launchpad.net/~mcpierce/+archive/ubuntu/qpid-testing/+packages
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]