{"action":"opened","number":270,"pull_request":{"url":"https://api.github.com/repos/PBSPro/pbspro/pulls/270","id":112128770,"html_url":"https://github.com/PBSPro/pbspro/pull/270","diff_url":"https://github.com/PBSPro/pbspro/pull/270.diff","patch_url":"https://github.com/PBSPro/pbspro/pull/270.patch","issue_url":"https://api.github.com/repos/PBSPro/pbspro/issues/270","number":270,"state":"open","locked":false,"title":"PP-512: Memory leak in server when writing 'E' accounting record","user":{"login":"anamikau","id":17330444,"avatar_url":"https://avatars0.githubusercontent.com/u/17330444?v=3","gravatar_id":"","url":"https://api.github.com/users/anamikau","html_url":"https://github.com/anamikau","followers_url":"https://api.github.com/users/anamikau/followers","following_url":"https://api.github.com/users/anamikau/following{/other_user}","gists_url":"https://api.github.com/users/anamikau/gists{/gist_id}","starred_url":"https://api.github.com/users/anamikau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anamikau/subscriptions","organizations_url":"https://api.github.com/users/anamikau/orgs","repos_url":"https://api.github.com/users/anamikau/repos","events_url":"https://api.github.com/users/anamikau/events{/privacy}","received_events_url":"https://api.github.com/users/anamikau/received_events","type":"User","site_admin":false},"body":"<!--- Please review your changes in preview mode -->\r\n<!--- Provide a general summary of your changes in the Title above -->\r\n\r\n#### Issue-ID\r\n<!--- Replace XXXX below (2 places) with the actual JIRA id -->\r\n* **[PP-512 Memory leak in server when writing 'E' accounting record](https://pbspro.atlassian.net/browse/PP-512)**\r\n\r\n#### Problem description\r\nWhen the server processes end of job accounting, it leaks the resources_used information \r\n\r\n#### Cause / Analysis\r\nThe server collects together all the resources_used information into a string in job_obit(). It attaches that to the job. In account_jobend() (which actually prints the accounting record), the server would re-collect the resources_used information and assign it to the job. By assigning it to the job the second time, it leaks the original string.\r\n\r\n#### Solution description\r\nThis bug comes in two parts. The first part is where we re-collect all the resources_used information. We shouldn't be doing this if we already did it before. There is faulty logic that causes us to do this. The second part is to free the original string just in case there was something there before making the second assignment.\r\n\r\nI did not write a PTL test because there isn't a great way to write automated tests to check for memory leaks. There are existing tests for testing this.\r\n\r\n#### Checklist:\r\n<!--- Use the preview button to see the checkboxes/links properly. -->\r\n<!--- Go over the following points, and put an `x` (without spaces around it) in the boxes that apply. -->\r\n<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->\r\n- [x] I have joined the **[pbspro community forum](http://community.pbspro.org/)**.\r\n- [x] My pull request contains a **single, signed** commit. See **[setting up gpg signature](https://pbspro.atlassian.net/wiki/display/DG/Signing+Your+Git+Commits)**.\r\n- [x] My code follows the **[coding style](https://pbspro.atlassian.net/wiki/display/DG/Coding+Standards)** of this project.\r\n- [ ] My change requires project documentation. See **[required documentation checklist](https://pbspro.atlassian.net/wiki/display/DG/Checklist+for+Developing+Features+and+Bug+Fixes)** for details.\r\n- [ ] I have added documentation in the **[project documentation area](https://pbspro.atlassian.net/wiki/display/PD)**.\r\n- [ ] I have added new **PTL test(s) to my commit**. (See **[using PTL for testing](https://pbspro.atlassian.net/wiki/display/DG/Using+PTL+for+Testing)**) *(or)*\r\n- [ ] I have added  **manual test(s) to the Jira ticket and explained why PTL is not appropriate** for this case.\r\n- [ ] All new and existing automated tests have passed. (See **[running automated PTL tests](https://pbspro.atlassian.net/wiki/display/DG/PTL+Quick+Start+Guide)**).\r\n- [ ] I have attached **test logs to the Jira ticket** as evidence of testing/verification.\r\n\r\n\r\n__***For further information please visit the [Developer Guide Home](https://pbspro.atlassian.net/wiki/display/DG/Developer+Guide+Home).***__\r\n","created_at":"2017-03-22T22:54:35Z","updated_at":"2017-03-22T22:54:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/PBSPro/pbspro/pulls/270/commits","review_comments_url":"https://api.github.com/repos/PBSPro/pbspro/pulls/270/comments","review_comment_url":"https://api.github.com/repos/PBSPro/pbspro/pulls/comments{/number}","comments_url":"https://api.github.com/repos/PBSPro/pbspro/issues/270/comments","statuses_url":"https://api.github.com/repos/PBSPro/pbspro/statuses/455c295bc7f5cc5e719cb705d24338ea3ed6d5c0","head":{"label":"anamikau:pp-512","ref":"pp-512","sha":"455c295bc7f5cc5e719cb705d24338ea3ed6d5c0","user":{"login":"anamikau","id":17330444,"avatar_url":"https://avatars0.githubusercontent.com/u/17330444?v=3","gravatar_id":"","url":"https://api.github.com/users/anamikau","html_url":"https://github.com/anamikau","followers_url":"https://api.github.com/users/anamikau/followers","following_url":"https://api.github.com/users/anamikau/following{/other_user}","gists_url":"https://api.github.com/users/anamikau/gists{/gist_id}","starred_url":"https://api.github.com/users/anamikau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anamikau/subscriptions","organizations_url":"https://api.github.com/users/anamikau/orgs","repos_url":"https://api.github.com/users/anamikau/repos","events_url":"https://api.github.com/users/anamikau/events{/privacy}","received_events_url":"https://api.github.com/users/anamikau/received_events","type":"User","site_admin":false},"repo":{"id":61910033,"name":"pbspro","full_name":"anamikau/pbspro","owner":{"login":"anamikau","id":17330444,"avatar_url":"https://avatars0.githubusercontent.com/u/17330444?v=3","gravatar_id":"","url":"https://api.github.com/users/anamikau","html_url":"https://github.com/anamikau","followers_url":"https://api.github.com/users/anamikau/followers","following_url":"https://api.github.com/users/anamikau/following{/other_user}","gists_url":"https://api.github.com/users/anamikau/gists{/gist_id}","starred_url":"https://api.github.com/users/anamikau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anamikau/subscriptions","organizations_url":"https://api.github.com/users/anamikau/orgs","repos_url":"https://api.github.com/users/anamikau/repos","events_url":"https://api.github.com/users/anamikau/events{/privacy}","received_events_url":"https://api.github.com/users/anamikau/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/anamikau/pbspro","description":"An HPC workload manager and job scheduler for desktops, clusters, and clouds.","fork":true,"url":"https://api.github.com/repos/anamikau/pbspro","forks_url":"https://api.github.com/repos/anamikau/pbspro/forks","keys_url":"https://api.github.com/repos/anamikau/pbspro/keys{/key_id}","collaborators_url":"https://api.github.com/repos/anamikau/pbspro/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/anamikau/pbspro/teams","hooks_url":"https://api.github.com/repos/anamikau/pbspro/hooks","issue_events_url":"https://api.github.com/repos/anamikau/pbspro/issues/events{/number}","events_url":"https://api.github.com/repos/anamikau/pbspro/events","assignees_url":"https://api.github.com/repos/anamikau/pbspro/assignees{/user}","branches_url":"https://api.github.com/repos/anamikau/pbspro/branches{/branch}","tags_url":"https://api.github.com/repos/anamikau/pbspro/tags","blobs_url":"https://api.github.com/repos/anamikau/pbspro/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/anamikau/pbspro/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/anamikau/pbspro/git/refs{/sha}","trees_url":"https://api.github.com/repos/anamikau/pbspro/git/trees{/sha}","statuses_url":"https://api.github.com/repos/anamikau/pbspro/statuses/{sha}","languages_url":"https://api.github.com/repos/anamikau/pbspro/languages","stargazers_url":"https://api.github.com/repos/anamikau/pbspro/stargazers","contributors_url":"https://api.github.com/repos/anamikau/pbspro/contributors","subscribers_url":"https://api.github.com/repos/anamikau/pbspro/subscribers","subscription_url":"https://api.github.com/repos/anamikau/pbspro/subscription","commits_url":"https://api.github.com/repos/anamikau/pbspro/commits{/sha}","git_commits_url":"https://api.github.com/repos/anamikau/pbspro/git/commits{/sha}","comments_url":"https://api.github.com/repos/anamikau/pbspro/comments{/number}","issue_comment_url":"https://api.github.com/repos/anamikau/pbspro/issues/comments{/number}","contents_url":"https://api.github.com/repos/anamikau/pbspro/contents/{+path}","compare_url":"https://api.github.com/repos/anamikau/pbspro/compare/{base}...{head}","merges_url":"https://api.github.com/repos/anamikau/pbspro/merges","archive_url":"https://api.github.com/repos/anamikau/pbspro/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/anamikau/pbspro/downloads","issues_url":"https://api.github.com/repos/anamikau/pbspro/issues{/number}","pulls_url":"https://api.github.com/repos/anamikau/pbspro/pulls{/number}","milestones_url":"https://api.github.com/repos/anamikau/pbspro/milestones{/number}","notifications_url":"https://api.github.com/repos/anamikau/pbspro/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/anamikau/pbspro/labels{/name}","releases_url":"https://api.github.com/repos/anamikau/pbspro/releases{/id}","deployments_url":"https://api.github.com/repos/anamikau/pbspro/deployments","created_at":"2016-06-24T20:14:17Z","updated_at":"2016-06-24T20:14:22Z","pushed_at":"2017-03-21T21:29:43Z","git_url":"git://github.com/anamikau/pbspro.git","ssh_url":"git@github.com:anamikau/pbspro.git","clone_url":"https://github.com/anamikau/pbspro.git","svn_url":"https://github.com/anamikau/pbspro","homepage":"www.pbspro.org","size":5804,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"PBSPro:master","ref":"master","sha":"ded681dbd77d7f0d84866da188bbbe9f4e58a6d8","user":{"login":"PBSPro","id":19280436,"avatar_url":"https://avatars1.githubusercontent.com/u/19280436?v=3","gravatar_id":"","url":"https://api.github.com/users/PBSPro","html_url":"https://github.com/PBSPro","followers_url":"https://api.github.com/users/PBSPro/followers","following_url":"https://api.github.com/users/PBSPro/following{/other_user}","gists_url":"https://api.github.com/users/PBSPro/gists{/gist_id}","starred_url":"https://api.github.com/users/PBSPro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PBSPro/subscriptions","organizations_url":"https://api.github.com/users/PBSPro/orgs","repos_url":"https://api.github.com/users/PBSPro/repos","events_url":"https://api.github.com/users/PBSPro/events{/privacy}","received_events_url":"https://api.github.com/users/PBSPro/received_events","type":"Organization","site_admin":false},"repo":{"id":59082072,"name":"pbspro","full_name":"PBSPro/pbspro","owner":{"login":"PBSPro","id":19280436,"avatar_url":"https://avatars1.githubusercontent.com/u/19280436?v=3","gravatar_id":"","url":"https://api.github.com/users/PBSPro","html_url":"https://github.com/PBSPro","followers_url":"https://api.github.com/users/PBSPro/followers","following_url":"https://api.github.com/users/PBSPro/following{/other_user}","gists_url":"https://api.github.com/users/PBSPro/gists{/gist_id}","starred_url":"https://api.github.com/users/PBSPro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PBSPro/subscriptions","organizations_url":"https://api.github.com/users/PBSPro/orgs","repos_url":"https://api.github.com/users/PBSPro/repos","events_url":"https://api.github.com/users/PBSPro/events{/privacy}","received_events_url":"https://api.github.com/users/PBSPro/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PBSPro/pbspro","description":"An HPC workload manager and job scheduler for desktops, clusters, and clouds.","fork":false,"url":"https://api.github.com/repos/PBSPro/pbspro","forks_url":"https://api.github.com/repos/PBSPro/pbspro/forks","keys_url":"https://api.github.com/repos/PBSPro/pbspro/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PBSPro/pbspro/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PBSPro/pbspro/teams","hooks_url":"https://api.github.com/repos/PBSPro/pbspro/hooks","issue_events_url":"https://api.github.com/repos/PBSPro/pbspro/issues/events{/number}","events_url":"https://api.github.com/repos/PBSPro/pbspro/events","assignees_url":"https://api.github.com/repos/PBSPro/pbspro/assignees{/user}","branches_url":"https://api.github.com/repos/PBSPro/pbspro/branches{/branch}","tags_url":"https://api.github.com/repos/PBSPro/pbspro/tags","blobs_url":"https://api.github.com/repos/PBSPro/pbspro/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PBSPro/pbspro/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PBSPro/pbspro/git/refs{/sha}","trees_url":"https://api.github.com/repos/PBSPro/pbspro/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PBSPro/pbspro/statuses/{sha}","languages_url":"https://api.github.com/repos/PBSPro/pbspro/languages","stargazers_url":"https://api.github.com/repos/PBSPro/pbspro/stargazers","contributors_url":"https://api.github.com/repos/PBSPro/pbspro/contributors","subscribers_url":"https://api.github.com/repos/PBSPro/pbspro/subscribers","subscription_url":"https://api.github.com/repos/PBSPro/pbspro/subscription","commits_url":"https://api.github.com/repos/PBSPro/pbspro/commits{/sha}","git_commits_url":"https://api.github.com/repos/PBSPro/pbspro/git/commits{/sha}","comments_url":"https://api.github.com/repos/PBSPro/pbspro/comments{/number}","issue_comment_url":"https://api.github.com/repos/PBSPro/pbspro/issues/comments{/number}","contents_url":"https://api.github.com/repos/PBSPro/pbspro/contents/{+path}","compare_url":"https://api.github.com/repos/PBSPro/pbspro/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PBSPro/pbspro/merges","archive_url":"https://api.github.com/repos/PBSPro/pbspro/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PBSPro/pbspro/downloads","issues_url":"https://api.github.com/repos/PBSPro/pbspro/issues{/number}","pulls_url":"https://api.github.com/repos/PBSPro/pbspro/pulls{/number}","milestones_url":"https://api.github.com/repos/PBSPro/pbspro/milestones{/number}","notifications_url":"https://api.github.com/repos/PBSPro/pbspro/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PBSPro/pbspro/labels{/name}","releases_url":"https://api.github.com/repos/PBSPro/pbspro/releases{/id}","deployments_url":"https://api.github.com/repos/PBSPro/pbspro/deployments","created_at":"2016-05-18T04:31:29Z","updated_at":"2017-03-15T00:08:06Z","pushed_at":"2017-03-21T16:56:53Z","git_url":"git://github.com/PBSPro/pbspro.git","ssh_url":"git@github.com:PBSPro/pbspro.git","clone_url":"https://github.com/PBSPro/pbspro.git","svn_url":"https://github.com/PBSPro/pbspro","homepage":"www.pbspro.org","size":5802,"stargazers_count":80,"watchers_count":80,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":81,"mirror_url":null,"open_issues_count":5,"forks":81,"open_issues":5,"watchers":80,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/PBSPro/pbspro/pulls/270"},"html":{"href":"https://github.com/PBSPro/pbspro/pull/270"},"issue":{"href":"https://api.github.com/repos/PBSPro/pbspro/issues/270"},"comments":{"href":"https://api.github.com/repos/PBSPro/pbspro/issues/270/comments"},"review_comments":{"href":"https://api.github.com/repos/PBSPro/pbspro/pulls/270/comments"},"review_comment":{"href":"https://api.github.com/repos/PBSPro/pbspro/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/PBSPro/pbspro/pulls/270/commits"},"statuses":{"href":"https://api.github.com/repos/PBSPro/pbspro/statuses/455c295bc7f5cc5e719cb705d24338ea3ed6d5c0"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":49,"deletions":45,"changed_files":1}}
{"actor":{"display_login":"anamikau"}}