{"action":"created","issue":{"url":"https://api.github.com/repos/scalaz/scalaz-zio/issues/267","repository_url":"https://api.github.com/repos/scalaz/scalaz-zio","labels_url":"https://api.github.com/repos/scalaz/scalaz-zio/issues/267/labels{/name}","comments_url":"https://api.github.com/repos/scalaz/scalaz-zio/issues/267/comments","events_url":"https://api.github.com/repos/scalaz/scalaz-zio/issues/267/events","html_url":"https://github.com/scalaz/scalaz-zio/pull/267","id":363536584,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE3OTQ5MzEz","number":267,"title":"WIP cats-effect Concurrent instance","user":{"login":"kaishh","id":450507,"node_id":"MDQ6VXNlcjQ1MDUwNw==","avatar_url":"https://avatars1.githubusercontent.com/u/450507?v=4","gravatar_id":"","url":"https://api.github.com/users/kaishh","html_url":"https://github.com/kaishh","followers_url":"https://api.github.com/users/kaishh/followers","following_url":"https://api.github.com/users/kaishh/following{/other_user}","gists_url":"https://api.github.com/users/kaishh/gists{/gist_id}","starred_url":"https://api.github.com/users/kaishh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaishh/subscriptions","organizations_url":"https://api.github.com/users/kaishh/orgs","repos_url":"https://api.github.com/users/kaishh/repos","events_url":"https://api.github.com/users/kaishh/events{/privacy}","received_events_url":"https://api.github.com/users/kaishh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-09-25T11:43:17Z","updated_at":"2018-09-25T12:16:06Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/scalaz/scalaz-zio/pulls/267","html_url":"https://github.com/scalaz/scalaz-zio/pull/267","diff_url":"https://github.com/scalaz/scalaz-zio/pull/267.diff","patch_url":"https://github.com/scalaz/scalaz-zio/pull/267.patch"},"body":"There are several issues\r\n* [\"acquire of bracket is uninterruptible\"](https://github.com/typelevel/cats-effect/blob/master/laws/shared/src/main/scala/cats/effect/laws/ConcurrentLaws.scala#L117) deadlocks – Fiber.cancel blocks forever\r\n  * – it passes if `Fiber.cancel` implementation is changed from `fiber.interrupt` to `fiber.interrupt.fork.void`\r\n  * – I guess it's the correct implementation given the test code – `mvar.put` blocks and is uninterruptible, so waiting on it can't work. @alexandru I guess `cancel` docs should mention that it should be 'fire-and-forget'.\r\n* next deadlock is in [\"asyncF registration can be canceled\"](https://github.com/typelevel/cats-effect/blob/master/laws/shared/src/main/scala/cats/effect/laws/ConcurrentLaws.scala#L73), same test ported to ZIO primitives works correctly\r\n* [\"async cancelable receives cancel signal\"](https://github.com/typelevel/cats-effect/blob/master/laws/shared/src/main/scala/cats/effect/laws/ConcurrentLaws.scala#L59) is flaky, though when ported to ZIO primitives it works correctly"},"comment":{"url":"https://api.github.com/repos/scalaz/scalaz-zio/issues/comments/424318918","html_url":"https://github.com/scalaz/scalaz-zio/pull/267#issuecomment-424318918","issue_url":"https://api.github.com/repos/scalaz/scalaz-zio/issues/267","id":424318918,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNDMxODkxOA==","user":{"login":"alexandru","id":11753,"node_id":"MDQ6VXNlcjExNzUz","avatar_url":"https://avatars2.githubusercontent.com/u/11753?v=4","gravatar_id":"","url":"https://api.github.com/users/alexandru","html_url":"https://github.com/alexandru","followers_url":"https://api.github.com/users/alexandru/followers","following_url":"https://api.github.com/users/alexandru/following{/other_user}","gists_url":"https://api.github.com/users/alexandru/gists{/gist_id}","starred_url":"https://api.github.com/users/alexandru/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexandru/subscriptions","organizations_url":"https://api.github.com/users/alexandru/orgs","repos_url":"https://api.github.com/users/alexandru/repos","events_url":"https://api.github.com/users/alexandru/events{/privacy}","received_events_url":"https://api.github.com/users/alexandru/received_events","type":"User","site_admin":false},"created_at":"2018-09-25T12:16:06Z","updated_at":"2018-09-25T12:16:06Z","author_association":"NONE","body":"For now I would implement `.cancel` as `fiber.interrupt.fork.void`.\r\n\r\nI'll open a ticket on the Cats-Effect side and maybe fix that law for the next release."}}
{"actor":{"display_login":"alexandru"}}