Ted Ross commented on PROTON-989:

Dispatch has worked around this problem by using a mutex to serialize calls to 
"pn_sasl()".  The issue remains that if an application invokes pn_sasl() in 
multiple threads concurrently, the library can crash.

This is probably worthy of a release note or a mention in the API docs.

> Multi-threaded creation of outgoing connections can crash inside the Cyrus 
> SASL library
> ---------------------------------------------------------------------------------------
>                 Key: PROTON-989
>                 URL: https://issues.apache.org/jira/browse/PROTON-989
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>    Affects Versions: 0.10
>            Reporter: Ted Ross
>            Priority: Critical
> Qpid Dispatch router can be configured to make multiple outgoing connections. 
>  This often results in a crash in the Cyrus sasl library.
> Using the tests/config-6/A.conf configuration file in Dispatch causes this 
> problem.  You don't need to run more than one Dispatch process.
> This configuration attempts to create three outgoing connections 
> simultaneously in different threads.  Apparently there's a thread-safety 
> issue in Cyrus's sasl_client_init.

This message was sent by Atlassian JIRA

Reply via email to