{"action":"created","issue":{"url":"https://api.github.com/repos/eclipse/openj9/issues/2001","repository_url":"https://api.github.com/repos/eclipse/openj9","labels_url":"https://api.github.com/repos/eclipse/openj9/issues/2001/labels{/name}","comments_url":"https://api.github.com/repos/eclipse/openj9/issues/2001/comments","events_url":"https://api.github.com/repos/eclipse/openj9/issues/2001/events","html_url":"https://github.com/eclipse/openj9/issues/2001","id":327050058,"number":2001,"title":"Iprofiling data of a callsite contains a class loaded by classloader different than the one that loaded the callsite/caller class","user":{"login":"liqunl","id":19654275,"avatar_url":"https://avatars1.githubusercontent.com/u/19654275?v=4","gravatar_id":"","url":"https://api.github.com/users/liqunl","html_url":"https://github.com/liqunl","followers_url":"https://api.github.com/users/liqunl/followers","following_url":"https://api.github.com/users/liqunl/following{/other_user}","gists_url":"https://api.github.com/users/liqunl/gists{/gist_id}","starred_url":"https://api.github.com/users/liqunl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liqunl/subscriptions","organizations_url":"https://api.github.com/users/liqunl/orgs","repos_url":"https://api.github.com/users/liqunl/repos","events_url":"https://api.github.com/users/liqunl/events{/privacy}","received_events_url":"https://api.github.com/users/liqunl/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-05-28T14:46:44Z","updated_at":"2018-05-28T15:30:07Z","closed_at":"2018-05-28T15:29:57Z","author_association":"CONTRIBUTOR","body":"This problem is found in a core dump which is generated by a crash in the JIT when it was trying to compile a method using bad iprofiling data.\r\n\r\nI have a change in the JIT  https://github.com/eclipse/openj9/pull/1980 to avoid the crash. However, the real problem is in the iprofiler. \r\n\r\nI suspect ROM class sharing is causing the problem.\r\n\r\nDuring the crash, we have\r\n`A.foo -> A.bar`, and `B.bar` overrides `A.bar`\r\n\r\nClass files of A and B are loaded again by a different classloader, resulting \r\n`A'.foo -> A'.bar`, `B'.bar` overrides `A'.bar`\r\n\r\n`A` and `A'` share the same ROM class, same for `B` and `B'`\r\n\r\nThe iprofiling data for callsite `A.bar` in `A.foo` contains class `B'`. We don't expect that since `A`, `B` and `A'`, `B'` are in different class hierarchies (their superclasses/interfaces don't share the same ROM class).\r\n\r\nUnfortunately, we don't have a test case. I can provide more info from the core dump if you need. "},"comment":{"url":"https://api.github.com/repos/eclipse/openj9/issues/comments/392555578","html_url":"https://github.com/eclipse/openj9/issues/2001#issuecomment-392555578","issue_url":"https://api.github.com/repos/eclipse/openj9/issues/2001","id":392555578,"user":{"login":"liqunl","id":19654275,"avatar_url":"https://avatars1.githubusercontent.com/u/19654275?v=4","gravatar_id":"","url":"https://api.github.com/users/liqunl","html_url":"https://github.com/liqunl","followers_url":"https://api.github.com/users/liqunl/followers","following_url":"https://api.github.com/users/liqunl/following{/other_user}","gists_url":"https://api.github.com/users/liqunl/gists{/gist_id}","starred_url":"https://api.github.com/users/liqunl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liqunl/subscriptions","organizations_url":"https://api.github.com/users/liqunl/orgs","repos_url":"https://api.github.com/users/liqunl/repos","events_url":"https://api.github.com/users/liqunl/events{/privacy}","received_events_url":"https://api.github.com/users/liqunl/received_events","type":"User","site_admin":false},"created_at":"2018-05-28T15:30:07Z","updated_at":"2018-05-28T15:30:07Z","author_association":"CONTRIBUTOR","body":"Closed the issue as working as designed."}}
{"actor":{"display_login":"liqunl"}}