{"action":"created","issue":{"url":"https://api.github.com/repos/MobiDevelop/robovm/issues/21","repository_url":"https://api.github.com/repos/MobiDevelop/robovm","labels_url":"https://api.github.com/repos/MobiDevelop/robovm/issues/21/labels{/name}","comments_url":"https://api.github.com/repos/MobiDevelop/robovm/issues/21/comments","events_url":"https://api.github.com/repos/MobiDevelop/robovm/issues/21/events","html_url":"https://github.com/MobiDevelop/robovm/pull/21","id":161086063,"number":21,"title":"Bring back linenumbers in stack traces","user":{"login":"florianf","id":396450,"avatar_url":"https://avatars.githubusercontent.com/u/396450?v=3","gravatar_id":"","url":"https://api.github.com/users/florianf","html_url":"https://github.com/florianf","followers_url":"https://api.github.com/users/florianf/followers","following_url":"https://api.github.com/users/florianf/following{/other_user}","gists_url":"https://api.github.com/users/florianf/gists{/gist_id}","starred_url":"https://api.github.com/users/florianf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/florianf/subscriptions","organizations_url":"https://api.github.com/users/florianf/orgs","repos_url":"https://api.github.com/users/florianf/repos","events_url":"https://api.github.com/users/florianf/events{/privacy}","received_events_url":"https://api.github.com/users/florianf/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2016-06-19T18:45:22Z","updated_at":"2016-06-25T10:59:34Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/MobiDevelop/robovm/pulls/21","html_url":"https://github.com/MobiDevelop/robovm/pull/21","diff_url":"https://github.com/MobiDevelop/robovm/pull/21.diff","patch_url":"https://github.com/MobiDevelop/robovm/pull/21.patch"},"body":"Hi folks,\r\n\r\nso after fighting quite a bit with LLVM and DWARF this patch should bring back line numbers to stacktraces. It generates all the necessary LLVM debug metadata. With a bit of work it should be possible to finish the generation of the debugging info also for local variables etc., potentially needed for real debugging (don't know yet).\r\n\r\nWould be great if someone of the maintainers could give it a spin, I tested it on 64bit console projects.\r\n\r\nFlorian"},"comment":{"url":"https://api.github.com/repos/MobiDevelop/robovm/issues/comments/228532409","html_url":"https://github.com/MobiDevelop/robovm/pull/21#issuecomment-228532409","issue_url":"https://api.github.com/repos/MobiDevelop/robovm/issues/21","id":228532409,"user":{"login":"florianf","id":396450,"avatar_url":"https://avatars.githubusercontent.com/u/396450?v=3","gravatar_id":"","url":"https://api.github.com/users/florianf","html_url":"https://github.com/florianf","followers_url":"https://api.github.com/users/florianf/followers","following_url":"https://api.github.com/users/florianf/following{/other_user}","gists_url":"https://api.github.com/users/florianf/gists{/gist_id}","starred_url":"https://api.github.com/users/florianf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/florianf/subscriptions","organizations_url":"https://api.github.com/users/florianf/orgs","repos_url":"https://api.github.com/users/florianf/repos","events_url":"https://api.github.com/users/florianf/events{/privacy}","received_events_url":"https://api.github.com/users/florianf/received_events","type":"User","site_admin":false},"created_at":"2016-06-25T10:59:34Z","updated_at":"2016-06-25T10:59:34Z","body":"You were right, we need to allocate the frames on the heap. I had a working implementation with per method global vars, but this approach doesn't work for recursive function calls - same frame is reused, which results in a circular reference.\r\nI'm now allocating memory with rvmAllocateMemory in rvmPushShadowFrame, seems to be working like a charm so far. I'll have a look into the unwinding now.\r\n\r\nOne question remained for me: Does the ShadowFrame approach work with multiple threads? Is there a separate env Struct for every thread, because the shadowFrames are kept in the env structure?\r\n"}}
{"actor":{"display_login":"florianf"}}