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