{"action":"closed","number":14009,"pull_request":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/14009","id":141295497,"html_url":"https://github.com/dotnet/coreclr/pull/14009","diff_url":"https://github.com/dotnet/coreclr/pull/14009.diff","patch_url":"https://github.com/dotnet/coreclr/pull/14009.patch","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/14009","number":14009,"state":"closed","locked":false,"title":"[SOS] Use addresses without sign extension in lldb plugin","user":{"login":"kbaladurin","id":29702773,"avatar_url":"https://avatars0.githubusercontent.com/u/29702773?v=4","gravatar_id":"","url":"https://api.github.com/users/kbaladurin","html_url":"https://github.com/kbaladurin","followers_url":"https://api.github.com/users/kbaladurin/followers","following_url":"https://api.github.com/users/kbaladurin/following{/other_user}","gists_url":"https://api.github.com/users/kbaladurin/gists{/gist_id}","starred_url":"https://api.github.com/users/kbaladurin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kbaladurin/subscriptions","organizations_url":"https://api.github.com/users/kbaladurin/orgs","repos_url":"https://api.github.com/users/kbaladurin/repos","events_url":"https://api.github.com/users/kbaladurin/events{/privacy}","received_events_url":"https://api.github.com/users/kbaladurin/received_events","type":"User","site_admin":false},"body":"lldb doesn't expect sign-extended addresses so we need to convert them before using with lldb API.\r\nThis patch allows to use SOS plugin for core files in lldb on 32-bit platforms and also fixes output of the 'clrstack -f' command.\r\n\r\nFor lldb-4.0 result are following on x86:\r\nWithout this patch:\r\n- for coredump debugging\r\n```\r\n(lldb) target create --core \"core\"\r\nCore file '/media/kbaladurin/data/dotnet/coreclr/overlay_coredumpx86_2/core' (i386) was loaded.\r\n(lldb) plugin load libsosplugin.so\r\n(lldb) clrstack -f\r\nFailed to load data access DLL, 0x80131c4f\r\nYou can run the debugger command 'setclrpath' to control the load of libmscordaccore.so.\r\nIf that succeeds, the SOS command should work on retry.\r\nClrStack -f  failed\r\n```\r\n- for application debugging:\r\n```\r\n(lldb) clrstack -f\r\nOS Thread Id: 0x553c (1)\r\nChild SP       IP Call Site\r\nFFCDCD8C 00000000 \r\nFFCDCD90 F4F0BA92 \r\nFFCDCDF0 F1E78863 \r\nFFCDCE30 F1E789B2 \r\nFFCDCE70 F1E6DA25 \r\nFFCDCF00 F6799439 \r\nFFCDCF10 F650DD3D \r\nFFCDD360 F650DAED \r\nFFCDD3E0 F650F9C3 \r\nFFCDD5B0 F62E7779 \r\nFFCDD5E0 F67F19F2 \r\nFFCDD730 F67EE11E \r\nFFCDD7A0 F67EDEE0 \r\nFFCDD860 F67EE45E \r\nFFCDDB30 F62D9F28 \r\nFFCDDCB0 F6262106 \r\nFFCDDD70 0804DBE0 corerun!ExecuteManagedAssembly(char const*, char const*, char const*, int, char const**) + 1856 at /media/kbaladurin/data/dotnet/forked/coreclr/src/coreclr/hosts/unixcoreruncommon/coreruncommon.cpp:431\r\nFFCDDF10 0804C834 corerun!corerun(int, char const**) + 868 at /media/kbaladurin/data/dotnet/forked/coreclr/src/coreclr/hosts/unixcorerun/corerun.cpp:149\r\nFFCDE040 0804C95A corerun!main + 58 at /media/kbaladurin/data/dotnet/forked/coreclr/src/coreclr/hosts/unixcorerun/corerun.cpp:161\r\nFFCDE060 F7359637 \r\nFFCDE0D0 0804C121 corerun + 33\r\n0804F8B0 0804F910 corerun!__libc_csu_fini\r\nFFCDCDF4          [InlinedCallFrame: ffcdcdf4] \r\nFFCDCDF4          [InlinedCallFrame: ffcdcdf4] rpinvoke.Program.upcall()\r\nFFCDCDF0 F1E78863 System.Console.dll!DomainBoundILStubClass.() + 75\r\nFFCDCE30 F1E789B2 rpinvoke.dll!rpinvoke.Program.MyView_KeyEvent(System.ConsoleKeyInfo) + 274 [/home/kbaladurin/Desktop/dotnet/coredumps/lldb/dotnet/rpinvoke/Program.cs @ 88]\r\nFFCDCE70 F1E6DA25 rpinvoke.dll!rpinvoke.Program.Main(System.String[]) + 485 [/home/kbaladurin/Desktop/dotnet/coredumps/lldb/dotnet/rpinvoke/Program.cs @ 120]\r\nFFCDD684          [GCFrame: ffcdd684] \r\nFFCDDC5C          [GCFrame: ffcddc5c] \r\n```\r\n\r\nWith this patch:\r\n```\r\n(lldb) target create --core \"core\"\r\nCore file '/media/kbaladurin/data/dotnet/coreclr/overlay_coredumpx86_1/core' (i386) was loaded.\r\n(lldb) plugin load libsosplugin.so\r\n(lldb) clrstack -f\r\nOS Thread Id: 0x6274 (1)\r\nChild SP       IP Call Site\r\nFFF2FB5C 00000000 \r\nFFF2FB60 F5A01A92 libupcall.so!upcall + 148 at /home/kbaladurin/Desktop/dotnet/coredumps/lldb/dotnet/rpinvoke/upcall-1.cpp:41\r\nFFF2FBC0 EF34D62B \r\nFFF2FC00 EF34D76E \r\nFFF2FC40 F2691048 \r\nFFF2FCD0 F68F8F1D libcoreclr.so!CallDescrWorkerInternal + 77 at /media/kbaladurin/data/dotnet/forked/coreclr-1/src/vm/i386/asmhelpers.S:306\r\nFFF2FCE0 F65C726D libcoreclr.so!CallDescrWorker(CallDescrData*) + 493 at /media/kbaladurin/data/dotnet/forked/coreclr-1/src/vm/callhelpers.cpp:135\r\nFFF30130 F65C7020 libcoreclr.so!CallDescrWorkerWithHandler(CallDescrData*, int) + 688 at /media/kbaladurin/data/dotnet/forked/coreclr-1/src/vm/callhelpers.cpp:78\r\nFFF301B0 F65C8F18 libcoreclr.so!MethodDescCallSite::CallTargetWorker(unsigned long long const*, unsigned long long*, int) + 3432 at /media/kbaladurin/data/dotnet/forked/coreclr-1/src/vm/callhelpers.cpp:645\r\nFFF30380 F63AE269 libcoreclr.so!MethodDescCallSite::Call(unsigned long long const*) + 73 at /media/kbaladurin/data/dotnet/forked/coreclr-1/src/vm/callhelpers.h:433\r\nFFF303B0 F694FA12 libcoreclr.so!RunMain(MethodDesc*, short, int*, REF<PtrArray>*)::$_1::operator()(RunMain(MethodDesc*, short, int*, REF<PtrArray>*) const::Param*) const::'lambda'(RunMain(MethodDesc*, short, int*, REF<PtrArray>*) const::Param*)::operator()(RunMain(MethodDesc*, short, int*, REF<PtrArray>*) const::Param*) const + 946 at /media/kbaladurin/data/dotnet/forked/coreclr-1/src/vm/assembly.cpp:1705\r\nFFF30500 F694C09E libcoreclr.so!RunMain(MethodDesc*, short, int*, REF<PtrArray>*)::$_1::operator()(RunMain(MethodDesc*, short, int*, REF<PtrArray>*)::Param*) const + 110 at /media/kbaladurin/data/dotnet/forked/coreclr-1/src/vm/assembly.cpp:1720\r\nFFF30570 F694BE5D libcoreclr.so!RunMain(MethodDesc*, short, int*, REF<PtrArray>*) + 541 at /media/kbaladurin/data/dotnet/forked/coreclr-1/src/vm/assembly.cpp:1720\r\nFFF30630 F694C3DE libcoreclr.so!Assembly::ExecuteMainMethod(REF<PtrArray>*, int) + 430 at /media/kbaladurin/data/dotnet/forked/coreclr-1/src/vm/assembly.cpp:1802\r\nFFF30900 F63A0DA8 libcoreclr.so!CorHost2::ExecuteAssembly(unsigned int, char16_t const*, int, char16_t const**, unsigned int*) + 1576 at /media/kbaladurin/data/dotnet/forked/coreclr-1/src/vm/corhost.cpp:501\r\nFFF30A80 F6328A86 libcoreclr.so!coreclr_execute_assembly + 406 at /media/kbaladurin/data/dotnet/forked/coreclr-1/src/dlls/mscoree/unixinterface.cpp:407\r\nFFF30B40 F76E9CB0 corerun!ExecuteManagedAssembly(char const*, char const*, char const*, int, char const**) + 1968 at /media/kbaladurin/data/dotnet/forked/coreclr-1/src/coreclr/hosts/unixcoreruncommon/coreruncommon.cpp:429\r\nFFF30CF0 F76E8894 corerun!corerun(int, char const**) + 868 at /media/kbaladurin/data/dotnet/forked/coreclr-1/src/coreclr/hosts/unixcorerun/corerun.cpp:149\r\nFFF30E20 F76E89BA corerun!main + 58 at /media/kbaladurin/data/dotnet/forked/coreclr-1/src/coreclr/hosts/unixcorerun/corerun.cpp:161\r\nFFF30E40 F730B637 libc.so.6!__libc_start_main + 247\r\nFFF30EB0 F76E8181 corerun!_start + 33\r\nFFF2FBC4          [InlinedCallFrame: fff2fbc4] \r\nFFF2FBC4          [InlinedCallFrame: fff2fbc4] Unknown\r\nFFF2FBC0 EF34D62B System.Console.dll!DomainBoundILStubClass.() + 75\r\nFFF2FC00 EF34D76E rpinvoke.dll!/media/kbaladurin/data/dotnet/coreclr/overlay_coredumpx86_1/rpinvoke.dll!Unknown + 262\r\nFFF2FC40 F2691048 rpinvoke.dll!/media/kbaladurin/data/dotnet/coreclr/overlay_coredumpx86_1/rpinvoke.dll!Unknown + 488\r\nFFF30454          [GCFrame: fff30454] \r\nFFF30A2C          [GCFrame: fff30a2c] \r\n```","created_at":"2017-09-15T12:06:29Z","updated_at":"2017-10-03T18:28:07Z","closed_at":"2017-10-03T18:28:07Z","merged_at":"2017-10-03T18:28:07Z","merge_commit_sha":"4ad0b6a18fe24864ff11760e9b313a0d6dbe9d3b","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/coreclr/pulls/14009/commits","review_comments_url":"https://api.github.com/repos/dotnet/coreclr/pulls/14009/comments","review_comment_url":"https://api.github.com/repos/dotnet/coreclr/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/14009/comments","statuses_url":"https://api.github.com/repos/dotnet/coreclr/statuses/1a2fe9a1b41c420e62fd05c7aeac67c318661ec2","head":{"label":"kbaladurin:x86-sosplugin","ref":"x86-sosplugin","sha":"1a2fe9a1b41c420e62fd05c7aeac67c318661ec2","user":{"login":"kbaladurin","id":29702773,"avatar_url":"https://avatars0.githubusercontent.com/u/29702773?v=4","gravatar_id":"","url":"https://api.github.com/users/kbaladurin","html_url":"https://github.com/kbaladurin","followers_url":"https://api.github.com/users/kbaladurin/followers","following_url":"https://api.github.com/users/kbaladurin/following{/other_user}","gists_url":"https://api.github.com/users/kbaladurin/gists{/gist_id}","starred_url":"https://api.github.com/users/kbaladurin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kbaladurin/subscriptions","organizations_url":"https://api.github.com/users/kbaladurin/orgs","repos_url":"https://api.github.com/users/kbaladurin/repos","events_url":"https://api.github.com/users/kbaladurin/events{/privacy}","received_events_url":"https://api.github.com/users/kbaladurin/received_events","type":"User","site_admin":false},"repo":{"id":95425148,"name":"coreclr","full_name":"kbaladurin/coreclr","owner":{"login":"kbaladurin","id":29702773,"avatar_url":"https://avatars0.githubusercontent.com/u/29702773?v=4","gravatar_id":"","url":"https://api.github.com/users/kbaladurin","html_url":"https://github.com/kbaladurin","followers_url":"https://api.github.com/users/kbaladurin/followers","following_url":"https://api.github.com/users/kbaladurin/following{/other_user}","gists_url":"https://api.github.com/users/kbaladurin/gists{/gist_id}","starred_url":"https://api.github.com/users/kbaladurin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kbaladurin/subscriptions","organizations_url":"https://api.github.com/users/kbaladurin/orgs","repos_url":"https://api.github.com/users/kbaladurin/repos","events_url":"https://api.github.com/users/kbaladurin/events{/privacy}","received_events_url":"https://api.github.com/users/kbaladurin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/kbaladurin/coreclr","description":"This repo contains the .NET Core runtime, called CoreCLR, and the base library, called mscorlib. It includes the garbage collector, JIT compiler, base .NET data types and many low-level classes.","fork":true,"url":"https://api.github.com/repos/kbaladurin/coreclr","forks_url":"https://api.github.com/repos/kbaladurin/coreclr/forks","keys_url":"https://api.github.com/repos/kbaladurin/coreclr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kbaladurin/coreclr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kbaladurin/coreclr/teams","hooks_url":"https://api.github.com/repos/kbaladurin/coreclr/hooks","issue_events_url":"https://api.github.com/repos/kbaladurin/coreclr/issues/events{/number}","events_url":"https://api.github.com/repos/kbaladurin/coreclr/events","assignees_url":"https://api.github.com/repos/kbaladurin/coreclr/assignees{/user}","branches_url":"https://api.github.com/repos/kbaladurin/coreclr/branches{/branch}","tags_url":"https://api.github.com/repos/kbaladurin/coreclr/tags","blobs_url":"https://api.github.com/repos/kbaladurin/coreclr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kbaladurin/coreclr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kbaladurin/coreclr/git/refs{/sha}","trees_url":"https://api.github.com/repos/kbaladurin/coreclr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kbaladurin/coreclr/statuses/{sha}","languages_url":"https://api.github.com/repos/kbaladurin/coreclr/languages","stargazers_url":"https://api.github.com/repos/kbaladurin/coreclr/stargazers","contributors_url":"https://api.github.com/repos/kbaladurin/coreclr/contributors","subscribers_url":"https://api.github.com/repos/kbaladurin/coreclr/subscribers","subscription_url":"https://api.github.com/repos/kbaladurin/coreclr/subscription","commits_url":"https://api.github.com/repos/kbaladurin/coreclr/commits{/sha}","git_commits_url":"https://api.github.com/repos/kbaladurin/coreclr/git/commits{/sha}","comments_url":"https://api.github.com/repos/kbaladurin/coreclr/comments{/number}","issue_comment_url":"https://api.github.com/repos/kbaladurin/coreclr/issues/comments{/number}","contents_url":"https://api.github.com/repos/kbaladurin/coreclr/contents/{+path}","compare_url":"https://api.github.com/repos/kbaladurin/coreclr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kbaladurin/coreclr/merges","archive_url":"https://api.github.com/repos/kbaladurin/coreclr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kbaladurin/coreclr/downloads","issues_url":"https://api.github.com/repos/kbaladurin/coreclr/issues{/number}","pulls_url":"https://api.github.com/repos/kbaladurin/coreclr/pulls{/number}","milestones_url":"https://api.github.com/repos/kbaladurin/coreclr/milestones{/number}","notifications_url":"https://api.github.com/repos/kbaladurin/coreclr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kbaladurin/coreclr/labels{/name}","releases_url":"https://api.github.com/repos/kbaladurin/coreclr/releases{/id}","deployments_url":"https://api.github.com/repos/kbaladurin/coreclr/deployments","created_at":"2017-06-26T08:27:41Z","updated_at":"2017-06-26T08:28:51Z","pushed_at":"2017-10-03T11:56:16Z","git_url":"git://github.com/kbaladurin/coreclr.git","ssh_url":"git@github.com:kbaladurin/coreclr.git","clone_url":"https://github.com/kbaladurin/coreclr.git","svn_url":"https://github.com/kbaladurin/coreclr","homepage":"https://github.com/dotnet/core","size":182280,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"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":"dotnet:master","ref":"master","sha":"a74094c0c086e5e58c64b1b091a2aa4a70abc5b0","user":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":30092893,"name":"coreclr","full_name":"dotnet/coreclr","owner":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/coreclr","description":"This repo contains the .NET Core runtime, called CoreCLR, and the base library, called System.Private.Corelib (or mscorlib). It includes the garbage collector, JIT compiler, base .NET data types and many low-level classes. We welcome contributions.","fork":false,"url":"https://api.github.com/repos/dotnet/coreclr","forks_url":"https://api.github.com/repos/dotnet/coreclr/forks","keys_url":"https://api.github.com/repos/dotnet/coreclr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/coreclr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/coreclr/teams","hooks_url":"https://api.github.com/repos/dotnet/coreclr/hooks","issue_events_url":"https://api.github.com/repos/dotnet/coreclr/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/coreclr/events","assignees_url":"https://api.github.com/repos/dotnet/coreclr/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/coreclr/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/coreclr/tags","blobs_url":"https://api.github.com/repos/dotnet/coreclr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/coreclr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/coreclr/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/coreclr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/coreclr/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/coreclr/languages","stargazers_url":"https://api.github.com/repos/dotnet/coreclr/stargazers","contributors_url":"https://api.github.com/repos/dotnet/coreclr/contributors","subscribers_url":"https://api.github.com/repos/dotnet/coreclr/subscribers","subscription_url":"https://api.github.com/repos/dotnet/coreclr/subscription","commits_url":"https://api.github.com/repos/dotnet/coreclr/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/coreclr/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/coreclr/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/coreclr/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/coreclr/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/coreclr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/coreclr/merges","archive_url":"https://api.github.com/repos/dotnet/coreclr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/coreclr/downloads","issues_url":"https://api.github.com/repos/dotnet/coreclr/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/coreclr/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/coreclr/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/coreclr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/coreclr/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/coreclr/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/coreclr/deployments","created_at":"2015-01-30T22:10:02Z","updated_at":"2017-10-03T18:04:15Z","pushed_at":"2017-10-03T18:28:07Z","git_url":"git://github.com/dotnet/coreclr.git","ssh_url":"git@github.com:dotnet/coreclr.git","clone_url":"https://github.com/dotnet/coreclr.git","svn_url":"https://github.com/dotnet/coreclr","homepage":"https://github.com/dotnet/core","size":183057,"stargazers_count":8382,"watchers_count":8382,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2110,"mirror_url":null,"open_issues_count":1447,"forks":2110,"open_issues":1447,"watchers":8382,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/14009"},"html":{"href":"https://github.com/dotnet/coreclr/pull/14009"},"issue":{"href":"https://api.github.com/repos/dotnet/coreclr/issues/14009"},"comments":{"href":"https://api.github.com/repos/dotnet/coreclr/issues/14009/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/14009/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/14009/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/coreclr/statuses/1a2fe9a1b41c420e62fd05c7aeac67c318661ec2"}},"author_association":"COLLABORATOR","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"mikem8361","id":10454379,"avatar_url":"https://avatars0.githubusercontent.com/u/10454379?v=4","gravatar_id":"","url":"https://api.github.com/users/mikem8361","html_url":"https://github.com/mikem8361","followers_url":"https://api.github.com/users/mikem8361/followers","following_url":"https://api.github.com/users/mikem8361/following{/other_user}","gists_url":"https://api.github.com/users/mikem8361/gists{/gist_id}","starred_url":"https://api.github.com/users/mikem8361/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikem8361/subscriptions","organizations_url":"https://api.github.com/users/mikem8361/orgs","repos_url":"https://api.github.com/users/mikem8361/repos","events_url":"https://api.github.com/users/mikem8361/events{/privacy}","received_events_url":"https://api.github.com/users/mikem8361/received_events","type":"User","site_admin":false},"comments":5,"review_comments":2,"maintainer_can_modify":false,"commits":1,"additions":23,"deletions":0,"changed_files":1}}
{"actor":{"display_login":"mikem8361"}}