{"action":"created","issue":{"url":"https://api.github.com/repos/libunwind/libunwind/issues/9","repository_url":"https://api.github.com/repos/libunwind/libunwind","labels_url":"https://api.github.com/repos/libunwind/libunwind/issues/9/labels{/name}","comments_url":"https://api.github.com/repos/libunwind/libunwind/issues/9/comments","events_url":"https://api.github.com/repos/libunwind/libunwind/issues/9/events","html_url":"https://github.com/libunwind/libunwind/issues/9","id":222454029,"number":9,"title":"per-thread dwarf cache broken","user":{"login":"djwatson","id":1105350,"avatar_url":"https://avatars0.githubusercontent.com/u/1105350?v=3","gravatar_id":"","url":"https://api.github.com/users/djwatson","html_url":"https://github.com/djwatson","followers_url":"https://api.github.com/users/djwatson/followers","following_url":"https://api.github.com/users/djwatson/following{/other_user}","gists_url":"https://api.github.com/users/djwatson/gists{/gist_id}","starred_url":"https://api.github.com/users/djwatson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djwatson/subscriptions","organizations_url":"https://api.github.com/users/djwatson/orgs","repos_url":"https://api.github.com/users/djwatson/repos","events_url":"https://api.github.com/users/djwatson/events{/privacy}","received_events_url":"https://api.github.com/users/djwatson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-04-18T15:24:49Z","updated_at":"2017-04-29T19:40:11Z","closed_at":null,"body":"Has been broken for a long time, currently doesn't use TLS nor locks, and just isn't thread safe. \r\n\r\n#8 is an attempt to fix.\r\n\r\nOne complication here is that TLS, at least in the glibc implementation, allocates memory and sometimes takes locks, making it not thread safe.   For some users this might not matter, but can't be the default."},"comment":{"url":"https://api.github.com/repos/libunwind/libunwind/issues/comments/298190100","html_url":"https://github.com/libunwind/libunwind/issues/9#issuecomment-298190100","issue_url":"https://api.github.com/repos/libunwind/libunwind/issues/9","id":298190100,"user":{"login":"bertwesarg","id":111934,"avatar_url":"https://avatars2.githubusercontent.com/u/111934?v=3","gravatar_id":"","url":"https://api.github.com/users/bertwesarg","html_url":"https://github.com/bertwesarg","followers_url":"https://api.github.com/users/bertwesarg/followers","following_url":"https://api.github.com/users/bertwesarg/following{/other_user}","gists_url":"https://api.github.com/users/bertwesarg/gists{/gist_id}","starred_url":"https://api.github.com/users/bertwesarg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bertwesarg/subscriptions","organizations_url":"https://api.github.com/users/bertwesarg/orgs","repos_url":"https://api.github.com/users/bertwesarg/repos","events_url":"https://api.github.com/users/bertwesarg/events{/privacy}","received_events_url":"https://api.github.com/users/bertwesarg/received_events","type":"User","site_admin":false},"created_at":"2017-04-29T19:40:11Z","updated_at":"2017-04-29T19:40:11Z","body":"I'll repeat: \"the current code does not allow to enable the per-thread cache at all\", i.e,\r\n\r\n```\r\nunw_set_caching_policy (unw_local_addr_space, UNW_CACHE_PER_THREAD);\r\n```\r\n\r\nwill fallback to UNW_CACHE_GLOBAL. Because of this code in libunwind_i.h:\r\n\r\n```\r\n#ifdef HAVE___THREAD\r\n  /* For now, turn off per-thread caching.  It uses up too much TLS\r\n     memory per thread even when the thread never uses libunwind at\r\n     all.  */\r\n# undef HAVE___THREAD\r\n#endif\r\n```"}}
{"actor":{"display_login":"bertwesarg"}}