{"action":"created","issue":{"url":"https://api.github.com/repos/containerd/containerd/issues/954","repository_url":"https://api.github.com/repos/containerd/containerd","labels_url":"https://api.github.com/repos/containerd/containerd/issues/954/labels{/name}","comments_url":"https://api.github.com/repos/containerd/containerd/issues/954/comments","events_url":"https://api.github.com/repos/containerd/containerd/issues/954/events","html_url":"https://github.com/containerd/containerd/pull/954","id":233621512,"number":954,"title":"Copy byte slices contained in bolt db objects","user":{"login":"ijc25","id":12985729,"avatar_url":"https://avatars3.githubusercontent.com/u/12985729?v=3","gravatar_id":"","url":"https://api.github.com/users/ijc25","html_url":"https://github.com/ijc25","followers_url":"https://api.github.com/users/ijc25/followers","following_url":"https://api.github.com/users/ijc25/following{/other_user}","gists_url":"https://api.github.com/users/ijc25/gists{/gist_id}","starred_url":"https://api.github.com/users/ijc25/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ijc25/subscriptions","organizations_url":"https://api.github.com/users/ijc25/orgs","repos_url":"https://api.github.com/users/ijc25/repos","events_url":"https://api.github.com/users/ijc25/events{/privacy}","received_events_url":"https://api.github.com/users/ijc25/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-06-05T15:16:41Z","updated_at":"2017-06-05T15:17:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/containerd/containerd/pulls/954","html_url":"https://github.com/containerd/containerd/pull/954","diff_url":"https://github.com/containerd/containerd/pull/954.diff","patch_url":"https://github.com/containerd/containerd/pull/954.patch"},"body":"In `execution.Create()` I was seeing `opts.Spec` unexpectedly becoming a slice\r\nfull of nulls instead of the expected data (often this occurred at the\r\n`s.mu.Lock()`)\r\n\r\nhttps://github.com/boltdb/bolt#caveats--limitations says:\r\n\r\n> Byte slices returned from Bolt are only valid during a transaction. Once the\r\n> transaction has been committed or rolled back then the memory they point to\r\n> can be reused by a new page or can be unmapped from virtual memory and you'll\r\n> see an unexpected fault address panic when accessing it.\r\n\r\nSince `opts.Spec` = `container.Spec` where the latter is a byte slice returned\r\nfrom Bolt we must copy it.\r\n\r\nSigned-off-by: Ian Campbell <ian.campbell@docker.com>"},"comment":{"url":"https://api.github.com/repos/containerd/containerd/issues/comments/306215204","html_url":"https://github.com/containerd/containerd/pull/954#issuecomment-306215204","issue_url":"https://api.github.com/repos/containerd/containerd/issues/954","id":306215204,"user":{"login":"ijc25","id":12985729,"avatar_url":"https://avatars3.githubusercontent.com/u/12985729?v=3","gravatar_id":"","url":"https://api.github.com/users/ijc25","html_url":"https://github.com/ijc25","followers_url":"https://api.github.com/users/ijc25/followers","following_url":"https://api.github.com/users/ijc25/following{/other_user}","gists_url":"https://api.github.com/users/ijc25/gists{/gist_id}","starred_url":"https://api.github.com/users/ijc25/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ijc25/subscriptions","organizations_url":"https://api.github.com/users/ijc25/orgs","repos_url":"https://api.github.com/users/ijc25/repos","events_url":"https://api.github.com/users/ijc25/events{/privacy}","received_events_url":"https://api.github.com/users/ijc25/received_events","type":"User","site_admin":false},"created_at":"2017-06-05T15:17:29Z","updated_at":"2017-06-05T15:17:29Z","body":"cc @stevvooe @dmcgowan.\r\n\r\nI'm going to spend a few moments doing a pass over the other uses of `View` to see if I can spot anything amiss."}}
{"actor":{"display_login":"ijc25"}}