{"action":"created","issue":{"url":"https://api.github.com/repos/zeromq/libzmq/issues/2158","repository_url":"https://api.github.com/repos/zeromq/libzmq","labels_url":"https://api.github.com/repos/zeromq/libzmq/issues/2158/labels{/name}","comments_url":"https://api.github.com/repos/zeromq/libzmq/issues/2158/comments","events_url":"https://api.github.com/repos/zeromq/libzmq/issues/2158/events","html_url":"https://github.com/zeromq/libzmq/issues/2158","id":182201867,"number":2158,"title":"Socket monitor on TCP sockets uses internal Pair socket from multiple threads","user":{"login":"jens-auer","id":9391718,"avatar_url":"https://avatars.githubusercontent.com/u/9391718?v=3","gravatar_id":"","url":"https://api.github.com/users/jens-auer","html_url":"https://github.com/jens-auer","followers_url":"https://api.github.com/users/jens-auer/followers","following_url":"https://api.github.com/users/jens-auer/following{/other_user}","gists_url":"https://api.github.com/users/jens-auer/gists{/gist_id}","starred_url":"https://api.github.com/users/jens-auer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jens-auer/subscriptions","organizations_url":"https://api.github.com/users/jens-auer/orgs","repos_url":"https://api.github.com/users/jens-auer/repos","events_url":"https://api.github.com/users/jens-auer/events{/privacy}","received_events_url":"https://api.github.com/users/jens-auer/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2016-10-11T08:19:24Z","updated_at":"2016-10-11T13:25:09Z","closed_at":null,"body":"When running a zmq_socket_monitor on TCP connections events are sent from multiple IO threads concurrently on the ZMQ_PAIR socket. This violates the single-thread usage assumption of ZeroMQ sockets and can crash the application (or worse continue with corrupted monitor data or corrupted socket states).\r\n\r\nEach stream_engine instance calls socket_base_t::monitor_event to send monitor events on the ZMQ_PAIR socket. This happens in the thread context of the stream_engine and there is no protection around the Pair socket, so it can be accessed from multiple threads."},"comment":{"url":"https://api.github.com/repos/zeromq/libzmq/issues/comments/252915364","html_url":"https://github.com/zeromq/libzmq/issues/2158#issuecomment-252915364","issue_url":"https://api.github.com/repos/zeromq/libzmq/issues/2158","id":252915364,"user":{"login":"bluca","id":782193,"avatar_url":"https://avatars.githubusercontent.com/u/782193?v=3","gravatar_id":"","url":"https://api.github.com/users/bluca","html_url":"https://github.com/bluca","followers_url":"https://api.github.com/users/bluca/followers","following_url":"https://api.github.com/users/bluca/following{/other_user}","gists_url":"https://api.github.com/users/bluca/gists{/gist_id}","starred_url":"https://api.github.com/users/bluca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bluca/subscriptions","organizations_url":"https://api.github.com/users/bluca/orgs","repos_url":"https://api.github.com/users/bluca/repos","events_url":"https://api.github.com/users/bluca/events{/privacy}","received_events_url":"https://api.github.com/users/bluca/received_events","type":"User","site_admin":false},"created_at":"2016-10-11T13:25:09Z","updated_at":"2016-10-11T13:25:09Z","body":"Ah if the mutex is only for the monitor events then no worries :-)\r\n\r\nFor the function name, perhaps \"zmq_socket_monitor_group\" ?\r\n\r\nFor backporting, we are preparing to release 4.2, so if it becomes too complicated I would say just don't bother with 4.1 and 4.0. If someone faces the issue there they can upgrade. Given we are not breaking API (and ABI still not certain) it will be at most a rebuild.\r\nIf on the other hand it's simple they by all means let's backport it."}}
{"actor":{"display_login":"bluca"}}