{"action":"created","comment":{"url":"https://api.github.com/repos/citra-emu/citra/pulls/comments/240292546","pull_request_review_id":183289041,"id":240292546,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MDI5MjU0Ng==","diff_hunk":"@@ -147,9 +147,18 @@ static void MortonCopy(u32 stride, u32 height, u8* gl_buffer, PAddr base, PAddr\n     }\n \n     const u8* const buffer_end = tile_buffer + aligned_end - aligned_start;\n+    PAddr current_paddr = aligned_start;\n     while (tile_buffer < buffer_end) {\n+        // Pokemon Super Mystery Dungeon will try to use textures that go beyond","path":"src/video_core/renderer_opengl/gl_rasterizer_cache.cpp","position":6,"original_position":6,"commit_id":"07d6d90bb3a738e88ba7edcdd9a20fd9fca923b4","original_commit_id":"07d6d90bb3a738e88ba7edcdd9a20fd9fca923b4","user":{"login":"wwylele","id":4592895,"node_id":"MDQ6VXNlcjQ1OTI4OTU=","avatar_url":"https://avatars0.githubusercontent.com/u/4592895?v=4","gravatar_id":"","url":"https://api.github.com/users/wwylele","html_url":"https://github.com/wwylele","followers_url":"https://api.github.com/users/wwylele/followers","following_url":"https://api.github.com/users/wwylele/following{/other_user}","gists_url":"https://api.github.com/users/wwylele/gists{/gist_id}","starred_url":"https://api.github.com/users/wwylele/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wwylele/subscriptions","organizations_url":"https://api.github.com/users/wwylele/orgs","repos_url":"https://api.github.com/users/wwylele/repos","events_url":"https://api.github.com/users/wwylele/events{/privacy}","received_events_url":"https://api.github.com/users/wwylele/received_events","type":"User","site_admin":false},"body":"@BreadFish64 So far only PSMD is only known to this","created_at":"2018-12-10T16:53:13Z","updated_at":"2018-12-10T16:53:14Z","html_url":"https://github.com/citra-emu/citra/pull/4496#discussion_r240292546","pull_request_url":"https://api.github.com/repos/citra-emu/citra/pulls/4496","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/citra-emu/citra/pulls/comments/240292546"},"html":{"href":"https://github.com/citra-emu/citra/pull/4496#discussion_r240292546"},"pull_request":{"href":"https://api.github.com/repos/citra-emu/citra/pulls/4496"}},"in_reply_to_id":240047896},"pull_request":{"url":"https://api.github.com/repos/citra-emu/citra/pulls/4496","id":237148095,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM3MTQ4MDk1","html_url":"https://github.com/citra-emu/citra/pull/4496","diff_url":"https://github.com/citra-emu/citra/pull/4496.diff","patch_url":"https://github.com/citra-emu/citra/pull/4496.patch","issue_url":"https://api.github.com/repos/citra-emu/citra/issues/4496","number":4496,"state":"open","locked":false,"title":"gl_rasterizer_cache/MortonCopy: avoid read/write to invalid address","user":{"login":"wwylele","id":4592895,"node_id":"MDQ6VXNlcjQ1OTI4OTU=","avatar_url":"https://avatars0.githubusercontent.com/u/4592895?v=4","gravatar_id":"","url":"https://api.github.com/users/wwylele","html_url":"https://github.com/wwylele","followers_url":"https://api.github.com/users/wwylele/followers","following_url":"https://api.github.com/users/wwylele/following{/other_user}","gists_url":"https://api.github.com/users/wwylele/gists{/gist_id}","starred_url":"https://api.github.com/users/wwylele/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wwylele/subscriptions","organizations_url":"https://api.github.com/users/wwylele/orgs","repos_url":"https://api.github.com/users/wwylele/repos","events_url":"https://api.github.com/users/wwylele/events{/privacy}","received_events_url":"https://api.github.com/users/wwylele/received_events","type":"User","site_admin":false},"body":"This is a workaround to the recurring problem #2110. The game tries to load a texture part of which goes beyond VRAM region. On real hardware this would results in garbage data being read. However this is safe because the game then only use the first valid part of the texture to do following rendering operations.\r\n\r\n#2799 \"Fixed\" the crash on citra by adding boundary check during address conversion for rasterizer cache. However, it leaves the out-of-bound read in texture loading there, and the texture would copy garbage data from host memory.\r\n\r\nRecent memory module change in #4480 moves VRAM from global to heap, resulting in runtime adding unmapped/guard pages around the VRAM memory, and now causing the out-of-bound read crash. This PR prevents the out-of-bound read when detecting invalid addresses to fix the crash.\r\n\r\ntl;dr: fixes a recent regression in  Pokemon Super Mystery Dungeon\r\n\r\n<!-- Reviewable:start -->\r\n---\r\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/citra-emu/citra/4496)\r\n<!-- Reviewable:end -->\r\n","created_at":"2018-12-09T18:30:31Z","updated_at":"2018-12-10T16:53:14Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0597448307f5154037045236af819e63551ef46d","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":811880815,"node_id":"MDU6TGFiZWw4MTE4ODA4MTU=","url":"https://api.github.com/repos/citra-emu/citra/labels/canary-merge","name":"canary-merge","color":"11916f","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/citra-emu/citra/pulls/4496/commits","review_comments_url":"https://api.github.com/repos/citra-emu/citra/pulls/4496/comments","review_comment_url":"https://api.github.com/repos/citra-emu/citra/pulls/comments{/number}","comments_url":"https://api.github.com/repos/citra-emu/citra/issues/4496/comments","statuses_url":"https://api.github.com/repos/citra-emu/citra/statuses/07d6d90bb3a738e88ba7edcdd9a20fd9fca923b4","head":{"label":"wwylele:smd-fix","ref":"smd-fix","sha":"07d6d90bb3a738e88ba7edcdd9a20fd9fca923b4","user":{"login":"wwylele","id":4592895,"node_id":"MDQ6VXNlcjQ1OTI4OTU=","avatar_url":"https://avatars0.githubusercontent.com/u/4592895?v=4","gravatar_id":"","url":"https://api.github.com/users/wwylele","html_url":"https://github.com/wwylele","followers_url":"https://api.github.com/users/wwylele/followers","following_url":"https://api.github.com/users/wwylele/following{/other_user}","gists_url":"https://api.github.com/users/wwylele/gists{/gist_id}","starred_url":"https://api.github.com/users/wwylele/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wwylele/subscriptions","organizations_url":"https://api.github.com/users/wwylele/orgs","repos_url":"https://api.github.com/users/wwylele/repos","events_url":"https://api.github.com/users/wwylele/events{/privacy}","received_events_url":"https://api.github.com/users/wwylele/received_events","type":"User","site_admin":false},"repo":{"id":53776373,"node_id":"MDEwOlJlcG9zaXRvcnk1Mzc3NjM3Mw==","name":"citra","full_name":"wwylele/citra","private":false,"owner":{"login":"wwylele","id":4592895,"node_id":"MDQ6VXNlcjQ1OTI4OTU=","avatar_url":"https://avatars0.githubusercontent.com/u/4592895?v=4","gravatar_id":"","url":"https://api.github.com/users/wwylele","html_url":"https://github.com/wwylele","followers_url":"https://api.github.com/users/wwylele/followers","following_url":"https://api.github.com/users/wwylele/following{/other_user}","gists_url":"https://api.github.com/users/wwylele/gists{/gist_id}","starred_url":"https://api.github.com/users/wwylele/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wwylele/subscriptions","organizations_url":"https://api.github.com/users/wwylele/orgs","repos_url":"https://api.github.com/users/wwylele/repos","events_url":"https://api.github.com/users/wwylele/events{/privacy}","received_events_url":"https://api.github.com/users/wwylele/received_events","type":"User","site_admin":false},"html_url":"https://github.com/wwylele/citra","description":"This is my staging area for PR to the official citra repo. Feel free to review and comment on those PR drafts, or to take over PRs labeled \"suspend\". Don't open PR to this repo.","fork":true,"url":"https://api.github.com/repos/wwylele/citra","forks_url":"https://api.github.com/repos/wwylele/citra/forks","keys_url":"https://api.github.com/repos/wwylele/citra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wwylele/citra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wwylele/citra/teams","hooks_url":"https://api.github.com/repos/wwylele/citra/hooks","issue_events_url":"https://api.github.com/repos/wwylele/citra/issues/events{/number}","events_url":"https://api.github.com/repos/wwylele/citra/events","assignees_url":"https://api.github.com/repos/wwylele/citra/assignees{/user}","branches_url":"https://api.github.com/repos/wwylele/citra/branches{/branch}","tags_url":"https://api.github.com/repos/wwylele/citra/tags","blobs_url":"https://api.github.com/repos/wwylele/citra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wwylele/citra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wwylele/citra/git/refs{/sha}","trees_url":"https://api.github.com/repos/wwylele/citra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wwylele/citra/statuses/{sha}","languages_url":"https://api.github.com/repos/wwylele/citra/languages","stargazers_url":"https://api.github.com/repos/wwylele/citra/stargazers","contributors_url":"https://api.github.com/repos/wwylele/citra/contributors","subscribers_url":"https://api.github.com/repos/wwylele/citra/subscribers","subscription_url":"https://api.github.com/repos/wwylele/citra/subscription","commits_url":"https://api.github.com/repos/wwylele/citra/commits{/sha}","git_commits_url":"https://api.github.com/repos/wwylele/citra/git/commits{/sha}","comments_url":"https://api.github.com/repos/wwylele/citra/comments{/number}","issue_comment_url":"https://api.github.com/repos/wwylele/citra/issues/comments{/number}","contents_url":"https://api.github.com/repos/wwylele/citra/contents/{+path}","compare_url":"https://api.github.com/repos/wwylele/citra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wwylele/citra/merges","archive_url":"https://api.github.com/repos/wwylele/citra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wwylele/citra/downloads","issues_url":"https://api.github.com/repos/wwylele/citra/issues{/number}","pulls_url":"https://api.github.com/repos/wwylele/citra/pulls{/number}","milestones_url":"https://api.github.com/repos/wwylele/citra/milestones{/number}","notifications_url":"https://api.github.com/repos/wwylele/citra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wwylele/citra/labels{/name}","releases_url":"https://api.github.com/repos/wwylele/citra/releases{/id}","deployments_url":"https://api.github.com/repos/wwylele/citra/deployments","created_at":"2016-03-13T09:09:07Z","updated_at":"2018-12-01T18:03:02Z","pushed_at":"2018-12-09T18:20:50Z","git_url":"git://github.com/wwylele/citra.git","ssh_url":"git@github.com:wwylele/citra.git","clone_url":"https://github.com/wwylele/citra.git","svn_url":"https://github.com/wwylele/citra","homepage":"https://citra-emu.org","size":27614,"stargazers_count":9,"watchers_count":9,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":6,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0","node_id":"MDc6TGljZW5zZTg="},"forks":4,"open_issues":6,"watchers":9,"default_branch":"master"}},"base":{"label":"citra-emu:master","ref":"master","sha":"80f1076a07ff3a7a312d6a19ad2e67bddee19665","user":{"login":"citra-emu","id":7605670,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc2MDU2NzA=","avatar_url":"https://avatars1.githubusercontent.com/u/7605670?v=4","gravatar_id":"","url":"https://api.github.com/users/citra-emu","html_url":"https://github.com/citra-emu","followers_url":"https://api.github.com/users/citra-emu/followers","following_url":"https://api.github.com/users/citra-emu/following{/other_user}","gists_url":"https://api.github.com/users/citra-emu/gists{/gist_id}","starred_url":"https://api.github.com/users/citra-emu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/citra-emu/subscriptions","organizations_url":"https://api.github.com/users/citra-emu/orgs","repos_url":"https://api.github.com/users/citra-emu/repos","events_url":"https://api.github.com/users/citra-emu/events{/privacy}","received_events_url":"https://api.github.com/users/citra-emu/received_events","type":"Organization","site_admin":false},"repo":{"id":19866730,"node_id":"MDEwOlJlcG9zaXRvcnkxOTg2NjczMA==","name":"citra","full_name":"citra-emu/citra","private":false,"owner":{"login":"citra-emu","id":7605670,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc2MDU2NzA=","avatar_url":"https://avatars1.githubusercontent.com/u/7605670?v=4","gravatar_id":"","url":"https://api.github.com/users/citra-emu","html_url":"https://github.com/citra-emu","followers_url":"https://api.github.com/users/citra-emu/followers","following_url":"https://api.github.com/users/citra-emu/following{/other_user}","gists_url":"https://api.github.com/users/citra-emu/gists{/gist_id}","starred_url":"https://api.github.com/users/citra-emu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/citra-emu/subscriptions","organizations_url":"https://api.github.com/users/citra-emu/orgs","repos_url":"https://api.github.com/users/citra-emu/repos","events_url":"https://api.github.com/users/citra-emu/events{/privacy}","received_events_url":"https://api.github.com/users/citra-emu/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/citra-emu/citra","description":"A Nintendo 3DS Emulator","fork":false,"url":"https://api.github.com/repos/citra-emu/citra","forks_url":"https://api.github.com/repos/citra-emu/citra/forks","keys_url":"https://api.github.com/repos/citra-emu/citra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/citra-emu/citra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/citra-emu/citra/teams","hooks_url":"https://api.github.com/repos/citra-emu/citra/hooks","issue_events_url":"https://api.github.com/repos/citra-emu/citra/issues/events{/number}","events_url":"https://api.github.com/repos/citra-emu/citra/events","assignees_url":"https://api.github.com/repos/citra-emu/citra/assignees{/user}","branches_url":"https://api.github.com/repos/citra-emu/citra/branches{/branch}","tags_url":"https://api.github.com/repos/citra-emu/citra/tags","blobs_url":"https://api.github.com/repos/citra-emu/citra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/citra-emu/citra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/citra-emu/citra/git/refs{/sha}","trees_url":"https://api.github.com/repos/citra-emu/citra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/citra-emu/citra/statuses/{sha}","languages_url":"https://api.github.com/repos/citra-emu/citra/languages","stargazers_url":"https://api.github.com/repos/citra-emu/citra/stargazers","contributors_url":"https://api.github.com/repos/citra-emu/citra/contributors","subscribers_url":"https://api.github.com/repos/citra-emu/citra/subscribers","subscription_url":"https://api.github.com/repos/citra-emu/citra/subscription","commits_url":"https://api.github.com/repos/citra-emu/citra/commits{/sha}","git_commits_url":"https://api.github.com/repos/citra-emu/citra/git/commits{/sha}","comments_url":"https://api.github.com/repos/citra-emu/citra/comments{/number}","issue_comment_url":"https://api.github.com/repos/citra-emu/citra/issues/comments{/number}","contents_url":"https://api.github.com/repos/citra-emu/citra/contents/{+path}","compare_url":"https://api.github.com/repos/citra-emu/citra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/citra-emu/citra/merges","archive_url":"https://api.github.com/repos/citra-emu/citra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/citra-emu/citra/downloads","issues_url":"https://api.github.com/repos/citra-emu/citra/issues{/number}","pulls_url":"https://api.github.com/repos/citra-emu/citra/pulls{/number}","milestones_url":"https://api.github.com/repos/citra-emu/citra/milestones{/number}","notifications_url":"https://api.github.com/repos/citra-emu/citra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/citra-emu/citra/labels{/name}","releases_url":"https://api.github.com/repos/citra-emu/citra/releases{/id}","deployments_url":"https://api.github.com/repos/citra-emu/citra/deployments","created_at":"2014-05-16T18:33:15Z","updated_at":"2018-12-10T16:44:12Z","pushed_at":"2018-12-09T18:30:36Z","git_url":"git://github.com/citra-emu/citra.git","ssh_url":"git@github.com:citra-emu/citra.git","clone_url":"https://github.com/citra-emu/citra.git","svn_url":"https://github.com/citra-emu/citra","homepage":"https://citra-emu.org","size":51490,"stargazers_count":4508,"watchers_count":4508,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1005,"mirror_url":null,"archived":false,"open_issues_count":405,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0","node_id":"MDc6TGljZW5zZTg="},"forks":1005,"open_issues":405,"watchers":4508,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/citra-emu/citra/pulls/4496"},"html":{"href":"https://github.com/citra-emu/citra/pull/4496"},"issue":{"href":"https://api.github.com/repos/citra-emu/citra/issues/4496"},"comments":{"href":"https://api.github.com/repos/citra-emu/citra/issues/4496/comments"},"review_comments":{"href":"https://api.github.com/repos/citra-emu/citra/pulls/4496/comments"},"review_comment":{"href":"https://api.github.com/repos/citra-emu/citra/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/citra-emu/citra/pulls/4496/commits"},"statuses":{"href":"https://api.github.com/repos/citra-emu/citra/statuses/07d6d90bb3a738e88ba7edcdd9a20fd9fca923b4"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"wwylele"}}