{"action":"created","issue":{"url":"https://api.github.com/repos/dyninst/dyninst/issues/396","repository_url":"https://api.github.com/repos/dyninst/dyninst","labels_url":"https://api.github.com/repos/dyninst/dyninst/issues/396/labels{/name}","comments_url":"https://api.github.com/repos/dyninst/dyninst/issues/396/comments","events_url":"https://api.github.com/repos/dyninst/dyninst/issues/396/events","html_url":"https://github.com/dyninst/dyninst/issues/396","id":246225710,"number":396,"title":"getFirstSymbol()->getMangledName SIGSEGV in PLT stub processing","user":{"login":"stanfordcox","id":18171344,"avatar_url":"https://avatars0.githubusercontent.com/u/18171344?v=4","gravatar_id":"","url":"https://api.github.com/users/stanfordcox","html_url":"https://github.com/stanfordcox","followers_url":"https://api.github.com/users/stanfordcox/followers","following_url":"https://api.github.com/users/stanfordcox/following{/other_user}","gists_url":"https://api.github.com/users/stanfordcox/gists{/gist_id}","starred_url":"https://api.github.com/users/stanfordcox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stanfordcox/subscriptions","organizations_url":"https://api.github.com/users/stanfordcox/orgs","repos_url":"https://api.github.com/users/stanfordcox/repos","events_url":"https://api.github.com/users/stanfordcox/events{/privacy}","received_events_url":"https://api.github.com/users/stanfordcox/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":15,"created_at":"2017-07-28T03:09:21Z","updated_at":"2018-03-08T02:13:28Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"This sounds vaguely like #390 but occurs in a different part of the code; in the plt stub processing.  A call is made to  parse_func(stf, pdmod,_img,obj,reg,isrc,src);  where stf->getFirstSymbol() returns null which causes a SIGSEGV when getFirstSymbol()->getMangledName() is refeerenced.  This occurs every time processCreate is called on a recent linux kernel.\r\n\r\nThis fixes or at least bypasses the problem:\r\n \r\n    index 3ca06f0..4b04ea2 100644\r\n    --- a/root/brew-rpms/dyninst-9.3.2-1/BUILD/dyninst-9.3.2/dyninst-9.3.2/dyninstAPI/src/Parsing.C\r\n    +++ b/root/Parsing.C\r\n    @@ -161,13 +161,10 @@ DynCFGFactory::mkfunc(\r\n                     break;\r\n                 }\r\n             }\r\n    -       if (stf->getFirstSymbol() != 0)\r\n    -         {\r\n             ret = new parse_func(stf, pdmod,_img,obj,reg,isrc,src);\r\n             ret->isPLTFunction_ = true;\r\n             return ret;\r\n         }\r\n    -    }\r\n         if(!st->findFuncByEntryOffset(stf,addr)) {\r\n             pdmod = _img->getOrCreateModule(st->getDefaultModule());\r\n             stf = st->createFunction(\r\n"},"comment":{"url":"https://api.github.com/repos/dyninst/dyninst/issues/comments/371354692","html_url":"https://github.com/dyninst/dyninst/issues/396#issuecomment-371354692","issue_url":"https://api.github.com/repos/dyninst/dyninst/issues/396","id":371354692,"user":{"login":"stanfordcox","id":18171344,"avatar_url":"https://avatars0.githubusercontent.com/u/18171344?v=4","gravatar_id":"","url":"https://api.github.com/users/stanfordcox","html_url":"https://github.com/stanfordcox","followers_url":"https://api.github.com/users/stanfordcox/followers","following_url":"https://api.github.com/users/stanfordcox/following{/other_user}","gists_url":"https://api.github.com/users/stanfordcox/gists{/gist_id}","starred_url":"https://api.github.com/users/stanfordcox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stanfordcox/subscriptions","organizations_url":"https://api.github.com/users/stanfordcox/orgs","repos_url":"https://api.github.com/users/stanfordcox/repos","events_url":"https://api.github.com/users/stanfordcox/events{/privacy}","received_events_url":"https://api.github.com/users/stanfordcox/received_events","type":"User","site_admin":false},"created_at":"2018-03-08T02:13:28Z","updated_at":"2018-03-08T02:13:28Z","author_association":"CONTRIBUTOR","body":"That is the change to symtabAPI/src/Object-elf.C that is at:\r\n  if (type == R_X86_64_IRELATIVE) { ... }\r\nI added that locally and it has been running fine.\r\nIs there something else that is needed from my end?\r\n"}}
{"actor":{"display_login":"stanfordcox"}}