{"action":"closed","number":36,"pull_request":{"url":"https://api.github.com/repos/Yelp/casper/pulls/36","id":198797874,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk4Nzk3ODc0","html_url":"https://github.com/Yelp/casper/pull/36","diff_url":"https://github.com/Yelp/casper/pull/36.diff","patch_url":"https://github.com/Yelp/casper/pull/36.patch","issue_url":"https://api.github.com/repos/Yelp/casper/issues/36","number":36,"state":"closed","locked":false,"title":"Log full tracebacks when critical errors happen","user":{"login":"ArnaudBrousseau","id":208469,"node_id":"MDQ6VXNlcjIwODQ2OQ==","avatar_url":"https://avatars0.githubusercontent.com/u/208469?v=4","gravatar_id":"","url":"https://api.github.com/users/ArnaudBrousseau","html_url":"https://github.com/ArnaudBrousseau","followers_url":"https://api.github.com/users/ArnaudBrousseau/followers","following_url":"https://api.github.com/users/ArnaudBrousseau/following{/other_user}","gists_url":"https://api.github.com/users/ArnaudBrousseau/gists{/gist_id}","starred_url":"https://api.github.com/users/ArnaudBrousseau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ArnaudBrousseau/subscriptions","organizations_url":"https://api.github.com/users/ArnaudBrousseau/orgs","repos_url":"https://api.github.com/users/ArnaudBrousseau/repos","events_url":"https://api.github.com/users/ArnaudBrousseau/events{/privacy}","received_events_url":"https://api.github.com/users/ArnaudBrousseau/received_events","type":"User","site_admin":false},"body":"This commit contains:\r\n\r\n* a fix to ensure that full tracebacks are captured when Casper crashes in the middle of the request lifecycle\r\n* an improvement to stop logging error-level messasges to both stdout and stderr\r\n* a re-ordering of imports in `main.lua` (they're now alphabetized)\r\n\r\n-------\r\n\r\nTested this both by adding a unit test and making Casper crash on purpose to look at the resulting log line:\r\n```\r\n2018/07/02 21:41:33 [error] 9#9: *2 [lua] spectre_common.lua:35: log(): {\"critical\":true,\"err\":\"/code/lua/internal_handlers.lua:52: attempt to index local 'status_info' (a nil value)\\n\\n\\tstack traceback:\\n\\t/code/lua/main.lua:49: in function '__newindex'\\n\\t/code/lua/internal_handlers.lua:52: in function 'fn'\\n\\t/code/lua/internal_handlers.lua:159: in function </code/lua/internal_handlers.lua:145>\\n\\t[C]: in function 'xpcall'\\n\\t/code/lua/main.lua:72: in function 'request_handler_wrapper'\\n\\t/code/lua/main.lua:121: in function 'main'\\n\\t/code/lua/entry_point.lua:3: in function </code/lua/entry_point.lua:1>\"}, client: 169.254.1.1, server: , request: \"GET /status HTTP/1.1\", host: \"localhost:32927\"\r\n```","created_at":"2018-07-02T21:47:15Z","updated_at":"2018-07-03T19:38:11Z","closed_at":"2018-07-03T19:38:11Z","merged_at":"2018-07-03T19:38:11Z","merge_commit_sha":"a14ba874a05a0816b16b74b87475e298d2be7f97","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Yelp/casper/pulls/36/commits","review_comments_url":"https://api.github.com/repos/Yelp/casper/pulls/36/comments","review_comment_url":"https://api.github.com/repos/Yelp/casper/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Yelp/casper/issues/36/comments","statuses_url":"https://api.github.com/repos/Yelp/casper/statuses/efc6501fb500bb8d2177ac5946c20363f46bbcb3","head":{"label":"Yelp:more_complete_stacktraces_in_logs","ref":"more_complete_stacktraces_in_logs","sha":"efc6501fb500bb8d2177ac5946c20363f46bbcb3","user":{"login":"Yelp","id":49071,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ5MDcx","avatar_url":"https://avatars1.githubusercontent.com/u/49071?v=4","gravatar_id":"","url":"https://api.github.com/users/Yelp","html_url":"https://github.com/Yelp","followers_url":"https://api.github.com/users/Yelp/followers","following_url":"https://api.github.com/users/Yelp/following{/other_user}","gists_url":"https://api.github.com/users/Yelp/gists{/gist_id}","starred_url":"https://api.github.com/users/Yelp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Yelp/subscriptions","organizations_url":"https://api.github.com/users/Yelp/orgs","repos_url":"https://api.github.com/users/Yelp/repos","events_url":"https://api.github.com/users/Yelp/events{/privacy}","received_events_url":"https://api.github.com/users/Yelp/received_events","type":"Organization","site_admin":false},"repo":{"id":120938291,"node_id":"MDEwOlJlcG9zaXRvcnkxMjA5MzgyOTE=","name":"casper","full_name":"Yelp/casper","owner":{"login":"Yelp","id":49071,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ5MDcx","avatar_url":"https://avatars1.githubusercontent.com/u/49071?v=4","gravatar_id":"","url":"https://api.github.com/users/Yelp","html_url":"https://github.com/Yelp","followers_url":"https://api.github.com/users/Yelp/followers","following_url":"https://api.github.com/users/Yelp/following{/other_user}","gists_url":"https://api.github.com/users/Yelp/gists{/gist_id}","starred_url":"https://api.github.com/users/Yelp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Yelp/subscriptions","organizations_url":"https://api.github.com/users/Yelp/orgs","repos_url":"https://api.github.com/users/Yelp/repos","events_url":"https://api.github.com/users/Yelp/events{/privacy}","received_events_url":"https://api.github.com/users/Yelp/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Yelp/casper","description":"Yelp's internal caching proxy, powered by Nginx and OpenResty at its core","fork":false,"url":"https://api.github.com/repos/Yelp/casper","forks_url":"https://api.github.com/repos/Yelp/casper/forks","keys_url":"https://api.github.com/repos/Yelp/casper/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Yelp/casper/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Yelp/casper/teams","hooks_url":"https://api.github.com/repos/Yelp/casper/hooks","issue_events_url":"https://api.github.com/repos/Yelp/casper/issues/events{/number}","events_url":"https://api.github.com/repos/Yelp/casper/events","assignees_url":"https://api.github.com/repos/Yelp/casper/assignees{/user}","branches_url":"https://api.github.com/repos/Yelp/casper/branches{/branch}","tags_url":"https://api.github.com/repos/Yelp/casper/tags","blobs_url":"https://api.github.com/repos/Yelp/casper/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Yelp/casper/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Yelp/casper/git/refs{/sha}","trees_url":"https://api.github.com/repos/Yelp/casper/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Yelp/casper/statuses/{sha}","languages_url":"https://api.github.com/repos/Yelp/casper/languages","stargazers_url":"https://api.github.com/repos/Yelp/casper/stargazers","contributors_url":"https://api.github.com/repos/Yelp/casper/contributors","subscribers_url":"https://api.github.com/repos/Yelp/casper/subscribers","subscription_url":"https://api.github.com/repos/Yelp/casper/subscription","commits_url":"https://api.github.com/repos/Yelp/casper/commits{/sha}","git_commits_url":"https://api.github.com/repos/Yelp/casper/git/commits{/sha}","comments_url":"https://api.github.com/repos/Yelp/casper/comments{/number}","issue_comment_url":"https://api.github.com/repos/Yelp/casper/issues/comments{/number}","contents_url":"https://api.github.com/repos/Yelp/casper/contents/{+path}","compare_url":"https://api.github.com/repos/Yelp/casper/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Yelp/casper/merges","archive_url":"https://api.github.com/repos/Yelp/casper/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Yelp/casper/downloads","issues_url":"https://api.github.com/repos/Yelp/casper/issues{/number}","pulls_url":"https://api.github.com/repos/Yelp/casper/pulls{/number}","milestones_url":"https://api.github.com/repos/Yelp/casper/milestones{/number}","notifications_url":"https://api.github.com/repos/Yelp/casper/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Yelp/casper/labels{/name}","releases_url":"https://api.github.com/repos/Yelp/casper/releases{/id}","deployments_url":"https://api.github.com/repos/Yelp/casper/deployments","created_at":"2018-02-09T18:01:03Z","updated_at":"2018-06-27T23:23:09Z","pushed_at":"2018-07-03T19:38:11Z","git_url":"git://github.com/Yelp/casper.git","ssh_url":"git@github.com:Yelp/casper.git","clone_url":"https://github.com/Yelp/casper.git","svn_url":"https://github.com/Yelp/casper","homepage":"","size":196,"stargazers_count":52,"watchers_count":52,"language":"Lua","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"archived":false,"open_issues_count":7,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":3,"open_issues":7,"watchers":52,"default_branch":"master"}},"base":{"label":"Yelp:master","ref":"master","sha":"e39e5d76571c17b3a94817cdcd03ba1be533348f","user":{"login":"Yelp","id":49071,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ5MDcx","avatar_url":"https://avatars1.githubusercontent.com/u/49071?v=4","gravatar_id":"","url":"https://api.github.com/users/Yelp","html_url":"https://github.com/Yelp","followers_url":"https://api.github.com/users/Yelp/followers","following_url":"https://api.github.com/users/Yelp/following{/other_user}","gists_url":"https://api.github.com/users/Yelp/gists{/gist_id}","starred_url":"https://api.github.com/users/Yelp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Yelp/subscriptions","organizations_url":"https://api.github.com/users/Yelp/orgs","repos_url":"https://api.github.com/users/Yelp/repos","events_url":"https://api.github.com/users/Yelp/events{/privacy}","received_events_url":"https://api.github.com/users/Yelp/received_events","type":"Organization","site_admin":false},"repo":{"id":120938291,"node_id":"MDEwOlJlcG9zaXRvcnkxMjA5MzgyOTE=","name":"casper","full_name":"Yelp/casper","owner":{"login":"Yelp","id":49071,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ5MDcx","avatar_url":"https://avatars1.githubusercontent.com/u/49071?v=4","gravatar_id":"","url":"https://api.github.com/users/Yelp","html_url":"https://github.com/Yelp","followers_url":"https://api.github.com/users/Yelp/followers","following_url":"https://api.github.com/users/Yelp/following{/other_user}","gists_url":"https://api.github.com/users/Yelp/gists{/gist_id}","starred_url":"https://api.github.com/users/Yelp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Yelp/subscriptions","organizations_url":"https://api.github.com/users/Yelp/orgs","repos_url":"https://api.github.com/users/Yelp/repos","events_url":"https://api.github.com/users/Yelp/events{/privacy}","received_events_url":"https://api.github.com/users/Yelp/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Yelp/casper","description":"Yelp's internal caching proxy, powered by Nginx and OpenResty at its core","fork":false,"url":"https://api.github.com/repos/Yelp/casper","forks_url":"https://api.github.com/repos/Yelp/casper/forks","keys_url":"https://api.github.com/repos/Yelp/casper/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Yelp/casper/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Yelp/casper/teams","hooks_url":"https://api.github.com/repos/Yelp/casper/hooks","issue_events_url":"https://api.github.com/repos/Yelp/casper/issues/events{/number}","events_url":"https://api.github.com/repos/Yelp/casper/events","assignees_url":"https://api.github.com/repos/Yelp/casper/assignees{/user}","branches_url":"https://api.github.com/repos/Yelp/casper/branches{/branch}","tags_url":"https://api.github.com/repos/Yelp/casper/tags","blobs_url":"https://api.github.com/repos/Yelp/casper/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Yelp/casper/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Yelp/casper/git/refs{/sha}","trees_url":"https://api.github.com/repos/Yelp/casper/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Yelp/casper/statuses/{sha}","languages_url":"https://api.github.com/repos/Yelp/casper/languages","stargazers_url":"https://api.github.com/repos/Yelp/casper/stargazers","contributors_url":"https://api.github.com/repos/Yelp/casper/contributors","subscribers_url":"https://api.github.com/repos/Yelp/casper/subscribers","subscription_url":"https://api.github.com/repos/Yelp/casper/subscription","commits_url":"https://api.github.com/repos/Yelp/casper/commits{/sha}","git_commits_url":"https://api.github.com/repos/Yelp/casper/git/commits{/sha}","comments_url":"https://api.github.com/repos/Yelp/casper/comments{/number}","issue_comment_url":"https://api.github.com/repos/Yelp/casper/issues/comments{/number}","contents_url":"https://api.github.com/repos/Yelp/casper/contents/{+path}","compare_url":"https://api.github.com/repos/Yelp/casper/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Yelp/casper/merges","archive_url":"https://api.github.com/repos/Yelp/casper/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Yelp/casper/downloads","issues_url":"https://api.github.com/repos/Yelp/casper/issues{/number}","pulls_url":"https://api.github.com/repos/Yelp/casper/pulls{/number}","milestones_url":"https://api.github.com/repos/Yelp/casper/milestones{/number}","notifications_url":"https://api.github.com/repos/Yelp/casper/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Yelp/casper/labels{/name}","releases_url":"https://api.github.com/repos/Yelp/casper/releases{/id}","deployments_url":"https://api.github.com/repos/Yelp/casper/deployments","created_at":"2018-02-09T18:01:03Z","updated_at":"2018-06-27T23:23:09Z","pushed_at":"2018-07-03T19:38:11Z","git_url":"git://github.com/Yelp/casper.git","ssh_url":"git@github.com:Yelp/casper.git","clone_url":"https://github.com/Yelp/casper.git","svn_url":"https://github.com/Yelp/casper","homepage":"","size":196,"stargazers_count":52,"watchers_count":52,"language":"Lua","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"archived":false,"open_issues_count":7,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":3,"open_issues":7,"watchers":52,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Yelp/casper/pulls/36"},"html":{"href":"https://github.com/Yelp/casper/pull/36"},"issue":{"href":"https://api.github.com/repos/Yelp/casper/issues/36"},"comments":{"href":"https://api.github.com/repos/Yelp/casper/issues/36/comments"},"review_comments":{"href":"https://api.github.com/repos/Yelp/casper/pulls/36/comments"},"review_comment":{"href":"https://api.github.com/repos/Yelp/casper/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Yelp/casper/pulls/36/commits"},"statuses":{"href":"https://api.github.com/repos/Yelp/casper/statuses/efc6501fb500bb8d2177ac5946c20363f46bbcb3"}},"author_association":"COLLABORATOR","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"ArnaudBrousseau","id":208469,"node_id":"MDQ6VXNlcjIwODQ2OQ==","avatar_url":"https://avatars0.githubusercontent.com/u/208469?v=4","gravatar_id":"","url":"https://api.github.com/users/ArnaudBrousseau","html_url":"https://github.com/ArnaudBrousseau","followers_url":"https://api.github.com/users/ArnaudBrousseau/followers","following_url":"https://api.github.com/users/ArnaudBrousseau/following{/other_user}","gists_url":"https://api.github.com/users/ArnaudBrousseau/gists{/gist_id}","starred_url":"https://api.github.com/users/ArnaudBrousseau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ArnaudBrousseau/subscriptions","organizations_url":"https://api.github.com/users/ArnaudBrousseau/orgs","repos_url":"https://api.github.com/users/ArnaudBrousseau/repos","events_url":"https://api.github.com/users/ArnaudBrousseau/events{/privacy}","received_events_url":"https://api.github.com/users/ArnaudBrousseau/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":39,"deletions":8,"changed_files":4}}
{"actor":{"display_login":"ArnaudBrousseau"}}