{"action":"created","issue":{"url":"https://api.github.com/repos/phetsims/graphing-quadratics/issues/49","repository_url":"https://api.github.com/repos/phetsims/graphing-quadratics","labels_url":"https://api.github.com/repos/phetsims/graphing-quadratics/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/phetsims/graphing-quadratics/issues/49/comments","events_url":"https://api.github.com/repos/phetsims/graphing-quadratics/issues/49/events","html_url":"https://github.com/phetsims/graphing-quadratics/issues/49","id":367947938,"node_id":"MDU6SXNzdWUzNjc5NDc5Mzg=","number":49,"title":"test for memory leaks (brand=phet)","user":{"login":"pixelzoom","id":3046552,"node_id":"MDQ6VXNlcjMwNDY1NTI=","avatar_url":"https://avatars1.githubusercontent.com/u/3046552?v=4","gravatar_id":"","url":"https://api.github.com/users/pixelzoom","html_url":"https://github.com/pixelzoom","followers_url":"https://api.github.com/users/pixelzoom/followers","following_url":"https://api.github.com/users/pixelzoom/following{/other_user}","gists_url":"https://api.github.com/users/pixelzoom/gists{/gist_id}","starred_url":"https://api.github.com/users/pixelzoom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pixelzoom/subscriptions","organizations_url":"https://api.github.com/users/pixelzoom/orgs","repos_url":"https://api.github.com/users/pixelzoom/repos","events_url":"https://api.github.com/users/pixelzoom/events{/privacy}","received_events_url":"https://api.github.com/users/pixelzoom/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"pixelzoom","id":3046552,"node_id":"MDQ6VXNlcjMwNDY1NTI=","avatar_url":"https://avatars1.githubusercontent.com/u/3046552?v=4","gravatar_id":"","url":"https://api.github.com/users/pixelzoom","html_url":"https://github.com/pixelzoom","followers_url":"https://api.github.com/users/pixelzoom/followers","following_url":"https://api.github.com/users/pixelzoom/following{/other_user}","gists_url":"https://api.github.com/users/pixelzoom/gists{/gist_id}","starred_url":"https://api.github.com/users/pixelzoom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pixelzoom/subscriptions","organizations_url":"https://api.github.com/users/pixelzoom/orgs","repos_url":"https://api.github.com/users/pixelzoom/repos","events_url":"https://api.github.com/users/pixelzoom/events{/privacy}","received_events_url":"https://api.github.com/users/pixelzoom/received_events","type":"User","site_admin":false},"assignees":[{"login":"pixelzoom","id":3046552,"node_id":"MDQ6VXNlcjMwNDY1NTI=","avatar_url":"https://avatars1.githubusercontent.com/u/3046552?v=4","gravatar_id":"","url":"https://api.github.com/users/pixelzoom","html_url":"https://github.com/pixelzoom","followers_url":"https://api.github.com/users/pixelzoom/followers","following_url":"https://api.github.com/users/pixelzoom/following{/other_user}","gists_url":"https://api.github.com/users/pixelzoom/gists{/gist_id}","starred_url":"https://api.github.com/users/pixelzoom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pixelzoom/subscriptions","organizations_url":"https://api.github.com/users/pixelzoom/orgs","repos_url":"https://api.github.com/users/pixelzoom/repos","events_url":"https://api.github.com/users/pixelzoom/events{/privacy}","received_events_url":"https://api.github.com/users/pixelzoom/received_events","type":"User","site_admin":false}],"milestone":null,"comments":7,"created_at":"2018-10-08T20:49:54Z","updated_at":"2018-10-11T16:56:41Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Do memory profiling and test for leaks, similar to what was done in https://github.com/phetsims/equality-explorer/issues/64.  \r\n\r\nUse a built version."},"comment":{"url":"https://api.github.com/repos/phetsims/graphing-quadratics/issues/comments/429034454","html_url":"https://github.com/phetsims/graphing-quadratics/issues/49#issuecomment-429034454","issue_url":"https://api.github.com/repos/phetsims/graphing-quadratics/issues/49","id":429034454,"node_id":"MDEyOklzc3VlQ29tbWVudDQyOTAzNDQ1NA==","user":{"login":"pixelzoom","id":3046552,"node_id":"MDQ6VXNlcjMwNDY1NTI=","avatar_url":"https://avatars1.githubusercontent.com/u/3046552?v=4","gravatar_id":"","url":"https://api.github.com/users/pixelzoom","html_url":"https://github.com/pixelzoom","followers_url":"https://api.github.com/users/pixelzoom/followers","following_url":"https://api.github.com/users/pixelzoom/following{/other_user}","gists_url":"https://api.github.com/users/pixelzoom/gists{/gist_id}","starred_url":"https://api.github.com/users/pixelzoom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pixelzoom/subscriptions","organizations_url":"https://api.github.com/users/pixelzoom/orgs","repos_url":"https://api.github.com/users/pixelzoom/repos","events_url":"https://api.github.com/users/pixelzoom/events{/privacy}","received_events_url":"https://api.github.com/users/pixelzoom/received_events","type":"User","site_admin":false},"created_at":"2018-10-11T16:56:41Z","updated_at":"2018-10-11T16:56:41Z","author_association":"CONTRIBUTOR","body":"There is apparently a memory leak in scenery that could be responsible for the leak observed here. \r\n\r\nSlack conversation with @chrisklus and @jonathanolson:\r\n\r\nChris Malley [2:25 PM]\r\nGraphing Quadratics memory leak testing is revealing a slow memory leak.  While chatting with Ariel about this, he said to ping you guys about a potential scenery leak that was recently discovered during work on sun buttons.  Does that ring any bells?\r\n\r\nChris Klusendorf [2:26 PM]\r\nYeah, if the memory profile shows Colors or Emitters leaking, that’s related to the scenery issue\r\n\r\nChris Malley [2:27 PM]\r\nI can’t tell exactly what’s leaking. Under what conditions do Colors and Emitters leak?\r\nOr is there a GitHub issue that describes this?\r\n\r\nChris Klusendorf [2:29 PM]\r\nIn snapshot comparisons, the deltas should give some information, right? The leak is from Colors uses in gradients, like buttons\r\nThere should be a github issue but\r\nI don’t think there is one yet, we had just finished finding the source of the problem yesterday\r\n\r\nChris Malley [4:20 PM]\r\nOne of the things that shows up as in heap comparison as “# Deleted = 0” is SVGGradientStop.  Related? (edited)\r\nAh, my bad… “# Delta = 0”, so looks like it’s cleaned up.\r\nComparing 2 heap snapshots taken 20 minutes apart, Emitter and Color are both towards the top of of the list based on #Delta and Alloc. Size.\r\n\r\nDoes this look indicative of the Color/Emitter leak?\r\n\r\n![screenshot_114](https://user-images.githubusercontent.com/3046552/46820813-50b04680-cd44-11e8-98ec-5f981682d4f0.jpg)\r\n\r\nJonathan Olson [4:35 PM]\r\nPotentially looks like it yes\r\n\r\nChris Malley [4:37 PM]\r\nGraphing Quadratics creates all of its buttons at startup, and does not explicitly create any Colors or Emitters.  Can you summarize the problem?\r\n\r\nJonathan Olson [4:39 PM]\r\nEssentially an internal array keeps growing when a specific case of a gradient with two color stops using the same color Property (when the value changes AND it is displayed, and then later not displayed)\r\n\r\nChris Malley [4:40 PM]\r\nI’m still trying to parse that :)\r\nIs that something that can happen with a plain old sun pseudo-3D button that exists for the lifetime of the sim?\r\n\r\nJonathan Olson [4:43 PM]\r\nIt presumably can as long as it goes back and forth between having drawables and not (like getting removed, maybe screen switches) and one of the gradients changes colors dynamically\r\n\r\nChris Malley [4:44 PM]\r\nNo buttons are removed from the scenegraph.  No colors are changed explicitly.\r\nBut I don’t know what sun buttons are doing internally with colors and gradients.\r\n\r\nChris Klusendorf [4:53 PM]\r\nI’m not sure how the buttons work either but could something like clicking reset all or the visibility button cause it? Those both have gradients and are changing color on press\r\n\r\nChris Malley [4:53 PM]\r\nthat’s what I was wondering."}}
{"actor":{"display_login":"pixelzoom"}}