{"action":"closed","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/14499","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/14499/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/14499/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/14499/events","html_url":"https://github.com/JuliaLang/julia/issues/14499","id":124184971,"number":14499,"title":"Generated code memory leak (real cases)","user":{"login":"tmptrash","id":1142545,"avatar_url":"https://avatars.githubusercontent.com/u/1142545?v=3","gravatar_id":"","url":"https://api.github.com/users/tmptrash","html_url":"https://github.com/tmptrash","followers_url":"https://api.github.com/users/tmptrash/followers","following_url":"https://api.github.com/users/tmptrash/following{/other_user}","gists_url":"https://api.github.com/users/tmptrash/gists{/gist_id}","starred_url":"https://api.github.com/users/tmptrash/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmptrash/subscriptions","organizations_url":"https://api.github.com/users/tmptrash/orgs","repos_url":"https://api.github.com/users/tmptrash/repos","events_url":"https://api.github.com/users/tmptrash/events{/privacy}","received_events_url":"https://api.github.com/users/tmptrash/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-12-29T09:12:39Z","updated_at":"2015-12-29T15:45:41Z","closed_at":"2015-12-29T15:45:41Z","body":"Good morning everyone.\r\n\r\nSorry for this reopening. But i have two real cases of `eval()` related memory leaks in my application. I wrote a comment to [closed](https://github.com/JuliaLang/julia/issues/14495) issue, but no answer, so i decided to open another one.\r\n\r\nIn two words: i have a biology research, where i need to generate a lot of different code. This is something like self modified aplication. So, here are the cases:\r\n- First is code evaluation from AST. I have something like AST modificator module, which changes AST all the time. I have to call `eval(my_ast)` every time, when new/modified AST appears. And this is quite offten action (~ once per 0.5 of a second). The ability to generate and change AST in Julia is a great feature. It was a one of few criterias why i chose this language.\r\n- Second - code evaluation from string. I have a string representation of Julia code. Some special module changes this string all the time. Like a result i have different code to run. I call `eval(parse(code_str))` for every of these strings and run them. This is real time process and i need a lot of this. So, after 20min of working, depending on configuration, my app may eat ~6Gb of memory :)\r\n\r\nIn both cases memory leaks appears.\r\n\r\nThanks for help."}}