{"action":"created","issue":{"url":"https://api.github.com/repos/dyninst/dyninst/issues/113","repository_url":"https://api.github.com/repos/dyninst/dyninst","labels_url":"https://api.github.com/repos/dyninst/dyninst/issues/113/labels{/name}","comments_url":"https://api.github.com/repos/dyninst/dyninst/issues/113/comments","events_url":"https://api.github.com/repos/dyninst/dyninst/issues/113/events","html_url":"https://github.com/dyninst/dyninst/issues/113","id":163001703,"number":113,"title":"Segfault during traversal of slice generated in StackMod","user":{"login":"morehouse","id":19176026,"avatar_url":"https://avatars.githubusercontent.com/u/19176026?v=3","gravatar_id":"","url":"https://api.github.com/users/morehouse","html_url":"https://github.com/morehouse","followers_url":"https://api.github.com/users/morehouse/followers","following_url":"https://api.github.com/users/morehouse/following{/other_user}","gists_url":"https://api.github.com/users/morehouse/gists{/gist_id}","starred_url":"https://api.github.com/users/morehouse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/morehouse/subscriptions","organizations_url":"https://api.github.com/users/morehouse/orgs","repos_url":"https://api.github.com/users/morehouse/repos","events_url":"https://api.github.com/users/morehouse/events{/privacy}","received_events_url":"https://api.github.com/users/morehouse/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dyninst/dyninst/labels/bug","name":"bug","color":"ee0701"}],"state":"open","locked":false,"assignee":{"login":"morehouse","id":19176026,"avatar_url":"https://avatars.githubusercontent.com/u/19176026?v=3","gravatar_id":"","url":"https://api.github.com/users/morehouse","html_url":"https://github.com/morehouse","followers_url":"https://api.github.com/users/morehouse/followers","following_url":"https://api.github.com/users/morehouse/following{/other_user}","gists_url":"https://api.github.com/users/morehouse/gists{/gist_id}","starred_url":"https://api.github.com/users/morehouse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/morehouse/subscriptions","organizations_url":"https://api.github.com/users/morehouse/orgs","repos_url":"https://api.github.com/users/morehouse/repos","events_url":"https://api.github.com/users/morehouse/events{/privacy}","received_events_url":"https://api.github.com/users/morehouse/received_events","type":"User","site_admin":false},"assignees":[{"login":"morehouse","id":19176026,"avatar_url":"https://avatars.githubusercontent.com/u/19176026?v=3","gravatar_id":"","url":"https://api.github.com/users/morehouse","html_url":"https://github.com/morehouse","followers_url":"https://api.github.com/users/morehouse/followers","following_url":"https://api.github.com/users/morehouse/following{/other_user}","gists_url":"https://api.github.com/users/morehouse/gists{/gist_id}","starred_url":"https://api.github.com/users/morehouse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/morehouse/subscriptions","organizations_url":"https://api.github.com/users/morehouse/orgs","repos_url":"https://api.github.com/users/morehouse/repos","events_url":"https://api.github.com/users/morehouse/events{/privacy}","received_events_url":"https://api.github.com/users/morehouse/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2016-06-29T19:02:54Z","updated_at":"2016-07-05T19:50:40Z","closed_at":null,"body":"On some binaries in SPEC CPU2006 (e.g., Xalan), the backwards slicing check for skipRegs gets a slice of size 1 and segfaults.  We need to determine whether the backwards slicing check even makes sense in the first place.  If it does, we need to handle the case where we get a slice of size 1.  Otherwise, we should replace the check with something more appropriate."},"comment":{"url":"https://api.github.com/repos/dyninst/dyninst/issues/comments/230583399","html_url":"https://github.com/dyninst/dyninst/issues/113#issuecomment-230583399","issue_url":"https://api.github.com/repos/dyninst/dyninst/issues/113","id":230583399,"user":{"login":"morehouse","id":19176026,"avatar_url":"https://avatars.githubusercontent.com/u/19176026?v=3","gravatar_id":"","url":"https://api.github.com/users/morehouse","html_url":"https://github.com/morehouse","followers_url":"https://api.github.com/users/morehouse/followers","following_url":"https://api.github.com/users/morehouse/following{/other_user}","gists_url":"https://api.github.com/users/morehouse/gists{/gist_id}","starred_url":"https://api.github.com/users/morehouse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/morehouse/subscriptions","organizations_url":"https://api.github.com/users/morehouse/orgs","repos_url":"https://api.github.com/users/morehouse/repos","events_url":"https://api.github.com/users/morehouse/events{/privacy}","received_events_url":"https://api.github.com/users/morehouse/received_events","type":"User","site_admin":false},"created_at":"2016-07-05T19:50:40Z","updated_at":"2016-07-05T19:50:40Z","body":"@jdetter Nope, right now this looks like either a StackMod issue or a slicing issue.\r\n\r\nThe backwards slice is being used to check for registers with dependence graphs that are linear chains (i.e. no matter what path is followed through the CFG, the contents of the register will always be the same value relative to the registers it depends upon).  My current understanding is that such registers are marked as \"skipRegs\" since we only need to update the stack height of the first register in the chain in order to safely move the stack object being referenced by the registers in the chain (assuming other safety checks pass, of course).\r\n\r\nAfter a little more investigation, I should have a fix for this issue."}}
{"actor":{"display_login":"morehouse"}}