You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Lorenz Quack (JIRA)" <ji...@apache.org> on 2016/10/18 14:23:58 UTC
[jira] [Created] (QPID-7463) [Python Client for AMQP 0-8,0-9] Race
condition when creating session
Lorenz Quack created QPID-7463:
----------------------------------
Summary: [Python Client for AMQP 0-8,0-9] Race condition when creating session
Key: QPID-7463
URL: https://issues.apache.org/jira/browse/QPID-7463
Project: Qpid
Issue Type: Bug
Components: Python Client
Affects Versions: qpid-python-1.35.0
Reporter: Lorenz Quack
Fix For: qpid-python-1.36.0
It seems that {{Client.session()}} is not thread safe. There seems to be a race condition that means two concurrent calls can actually share the same underlying session.
{{Client.session()}} acquires {{self.lock}} and determines a free session id. It then releases the lock before calling {{self.channel(id)}} which acquires the lock again and allocates the id and creates the session.
If a second call to {{Client.session()}} happens in the moment the lock is released but before {{self.channel(id)}} reacquires it the second call will find the same free {{id}} and will then subsequently return the same session object from {{self.channel(id)}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org