{"action":"created","issue":{"url":"https://api.github.com/repos/golang/go/issues/25756","repository_url":"https://api.github.com/repos/golang/go","labels_url":"https://api.github.com/repos/golang/go/issues/25756/labels{/name}","comments_url":"https://api.github.com/repos/golang/go/issues/25756/comments","events_url":"https://api.github.com/repos/golang/go/issues/25756/events","html_url":"https://github.com/golang/go/issues/25756","id":329935240,"node_id":"MDU6SXNzdWUzMjk5MzUyNDA=","number":25756,"title":"plugin: segv occurs intermittently when running program with plugins that use cgo on ppc64le","user":{"login":"laboger","id":9433228,"node_id":"MDQ6VXNlcjk0MzMyMjg=","avatar_url":"https://avatars1.githubusercontent.com/u/9433228?v=4","gravatar_id":"","url":"https://api.github.com/users/laboger","html_url":"https://github.com/laboger","followers_url":"https://api.github.com/users/laboger/followers","following_url":"https://api.github.com/users/laboger/following{/other_user}","gists_url":"https://api.github.com/users/laboger/gists{/gist_id}","starred_url":"https://api.github.com/users/laboger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/laboger/subscriptions","organizations_url":"https://api.github.com/users/laboger/orgs","repos_url":"https://api.github.com/users/laboger/repos","events_url":"https://api.github.com/users/laboger/events{/privacy}","received_events_url":"https://api.github.com/users/laboger/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-06-06T16:07:08Z","updated_at":"2018-06-07T18:23:05Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"### What version of Go are you using (`go version`)?\r\ntip, go 1.10 latest\r\n\r\n### Does this issue reproduce with the latest release?\r\nyes\r\n\r\n### What operating system and processor architecture are you using (`go env`)?\r\nppc64le\r\n\r\nA problem was reported to me by someone trying to build an application that uses plugins which call C code through cgo. They were building and running in a container with many other dependencies but I was able to reproduce it in a smaller program. Their application works on x86 and also if they replace some of their Go code with C code instead of using plugins on ppc64le.\r\n\r\nBased on panic traces and objdumps of other plugin objects, I can tell the segv occurs when trying to access data based on r2 within the plugin object. I am still debugging but at this point but it appears that on some path the wrong value of r2 is being restored, possibly after switching a goroutine or thread. I've been trying to debug this using gdb but that seems to also introduce some random behavior.\r\n\r\nI will keep debugging my reproducer testcase and will post more information later, but wanted to open this in case there is any ideas on what might be happening.\r\n\r\nI think my testcase is correct because it runs successfully on x86."},"comment":{"url":"https://api.github.com/repos/golang/go/issues/comments/395518002","html_url":"https://github.com/golang/go/issues/25756#issuecomment-395518002","issue_url":"https://api.github.com/repos/golang/go/issues/25756","id":395518002,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NTUxODAwMg==","user":{"login":"bcmills","id":5200974,"node_id":"MDQ6VXNlcjUyMDA5NzQ=","avatar_url":"https://avatars3.githubusercontent.com/u/5200974?v=4","gravatar_id":"","url":"https://api.github.com/users/bcmills","html_url":"https://github.com/bcmills","followers_url":"https://api.github.com/users/bcmills/followers","following_url":"https://api.github.com/users/bcmills/following{/other_user}","gists_url":"https://api.github.com/users/bcmills/gists{/gist_id}","starred_url":"https://api.github.com/users/bcmills/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bcmills/subscriptions","organizations_url":"https://api.github.com/users/bcmills/orgs","repos_url":"https://api.github.com/users/bcmills/repos","events_url":"https://api.github.com/users/bcmills/events{/privacy}","received_events_url":"https://api.github.com/users/bcmills/received_events","type":"User","site_admin":false},"created_at":"2018-06-07T18:23:05Z","updated_at":"2018-06-07T18:23:05Z","author_association":"MEMBER","body":"CC: @laboger and @ceseo for PPC64, and @ianlancetaylor and @cherrymui for plugin.\r\n\r\nMore precise details would certainly be helpful.  🙂"}}
{"actor":{"display_login":"bcmills"}}