{"action":"closed","number":2803,"pull_request":{"url":"https://api.github.com/repos/CGAL/cgal/pulls/2803","id":167698977,"html_url":"https://github.com/CGAL/cgal/pull/2803","diff_url":"https://github.com/CGAL/cgal/pull/2803.diff","patch_url":"https://github.com/CGAL/cgal/pull/2803.patch","issue_url":"https://api.github.com/repos/CGAL/cgal/issues/2803","number":2803,"state":"closed","locked":false,"title":"OT Reconstruction: Fix test_vertex_edge bug by not copying the TDS","user":{"login":"sgiraudot","id":12890639,"avatar_url":"https://avatars0.githubusercontent.com/u/12890639?v=4","gravatar_id":"","url":"https://api.github.com/users/sgiraudot","html_url":"https://github.com/sgiraudot","followers_url":"https://api.github.com/users/sgiraudot/followers","following_url":"https://api.github.com/users/sgiraudot/following{/other_user}","gists_url":"https://api.github.com/users/sgiraudot/gists{/gist_id}","starred_url":"https://api.github.com/users/sgiraudot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sgiraudot/subscriptions","organizations_url":"https://api.github.com/users/sgiraudot/orgs","repos_url":"https://api.github.com/users/sgiraudot/repos","events_url":"https://api.github.com/users/sgiraudot/events{/privacy}","received_events_url":"https://api.github.com/users/sgiraudot/received_events","type":"User","site_admin":false},"body":"## Summary of Changes\r\n\r\nFix for https://github.com/CGAL/cgal/issues/2787, which was much trickier than I originally thought.\r\n\r\n- the `std::bad_alloc` was happening in an orientation test in EPICK\r\n- I found that one of the coordinates of the points in this test was `nan`\r\n- I figured that it actually came from the fact that the point of the `infinite_vertex()` of a DT2 was used at some point. So there was also a bug in other platforms, but for some reason it was only producing a `nan` on this 32b architecture (on my personal computer, I got random values close to 0).\r\n- In the tests, some internal functions of the algorithms are called but **using elements of a copy of the DT2** as parameters. So of course, tests like `if (v != m_dt.infinite_vertex())` can't work if `v` is not part of `m_dt`.\r\n- After fixing this by not copying the triangulation, I found that an _assertion fail_ was triggered `CGAL_assertion(v != m_dt.infinite_vertex())`\r\n- The test was actually doing something wrong: some tests should not be tested (namely the ones which are `pinned` and which are then adjacent to the infinite vertex). It is clear if we look at the method `push_to_mindex()` which does these tests before calling the function that is tested in our failing test file.\r\n\r\nSo I replaced the copy by a const ref and added the tests to avoid testing \"bad\" edges, and now it runs fine on the 32b platform and does not do anything fishy on the other platforms as well (I'm kind of surprised that it did not crash on more platforms before, but I guess having one random point used was not that important if the value was not a `nan`).\r\n\r\n### Side note\r\n\r\nI know there was, at some point, a project of initializing the infinite vertex to `nan` coordinates: I don't know if there was a good reason not to do it, or it's just in limbo because nobody had time to do it, but it would be a *really* good idea. This kind of bug would have been much easier to detect.\r\n\r\n(What's worrying is we'll probably find more of these bugs if we do it.)\r\n\r\n## Release Management\r\n\r\n* Affected package(s): Optimal Transportation Reconstruction\r\n* Issue(s) solved: fix https://github.com/CGAL/cgal/issues/2787\r\n\r\n","created_at":"2018-02-07T13:55:23Z","updated_at":"2018-02-14T14:37:17Z","closed_at":"2018-02-14T14:37:17Z","merged_at":"2018-02-14T14:37:17Z","merge_commit_sha":"7536af710653308e574551af551d957a4da8bbf8","assignee":{"login":"lrineau","id":5746675,"avatar_url":"https://avatars1.githubusercontent.com/u/5746675?v=4","gravatar_id":"","url":"https://api.github.com/users/lrineau","html_url":"https://github.com/lrineau","followers_url":"https://api.github.com/users/lrineau/followers","following_url":"https://api.github.com/users/lrineau/following{/other_user}","gists_url":"https://api.github.com/users/lrineau/gists{/gist_id}","starred_url":"https://api.github.com/users/lrineau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lrineau/subscriptions","organizations_url":"https://api.github.com/users/lrineau/orgs","repos_url":"https://api.github.com/users/lrineau/repos","events_url":"https://api.github.com/users/lrineau/events{/privacy}","received_events_url":"https://api.github.com/users/lrineau/received_events","type":"User","site_admin":false},"assignees":[{"login":"lrineau","id":5746675,"avatar_url":"https://avatars1.githubusercontent.com/u/5746675?v=4","gravatar_id":"","url":"https://api.github.com/users/lrineau","html_url":"https://github.com/lrineau","followers_url":"https://api.github.com/users/lrineau/followers","following_url":"https://api.github.com/users/lrineau/following{/other_user}","gists_url":"https://api.github.com/users/lrineau/gists{/gist_id}","starred_url":"https://api.github.com/users/lrineau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lrineau/subscriptions","organizations_url":"https://api.github.com/users/lrineau/orgs","repos_url":"https://api.github.com/users/lrineau/repos","events_url":"https://api.github.com/users/lrineau/events{/privacy}","received_events_url":"https://api.github.com/users/lrineau/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":401387460,"url":"https://api.github.com/repos/CGAL/cgal/labels/Pkg::Optimal_transportation_reconstruction_2","name":"Pkg::Optimal_transportation_reconstruction_2","color":"c2e0c6","default":false},{"id":282077576,"url":"https://api.github.com/repos/CGAL/cgal/labels/Ready%20to%20be%20tested","name":"Ready to be tested","color":"207de5","default":false},{"id":505522882,"url":"https://api.github.com/repos/CGAL/cgal/labels/Under%20Testing","name":"Under Testing","color":"4b890c","default":false},{"id":134003709,"url":"https://api.github.com/repos/CGAL/cgal/labels/bug","name":"bug","color":"fc2929","default":true},{"id":236969192,"url":"https://api.github.com/repos/CGAL/cgal/labels/ready%20for%20master","name":"ready for master","color":"207de5","default":false}],"milestone":{"url":"https://api.github.com/repos/CGAL/cgal/milestones/25","html_url":"https://github.com/CGAL/cgal/milestone/25","labels_url":"https://api.github.com/repos/CGAL/cgal/milestones/25/labels","id":2606767,"number":25,"title":"4.12-beta","description":"https://cgal.geometryfactory.com/CGAL/Members/wiki/Releases/4.12","creator":{"login":"sloriot","id":1224632,"avatar_url":"https://avatars2.githubusercontent.com/u/1224632?v=4","gravatar_id":"","url":"https://api.github.com/users/sloriot","html_url":"https://github.com/sloriot","followers_url":"https://api.github.com/users/sloriot/followers","following_url":"https://api.github.com/users/sloriot/following{/other_user}","gists_url":"https://api.github.com/users/sloriot/gists{/gist_id}","starred_url":"https://api.github.com/users/sloriot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sloriot/subscriptions","organizations_url":"https://api.github.com/users/sloriot/orgs","repos_url":"https://api.github.com/users/sloriot/repos","events_url":"https://api.github.com/users/sloriot/events{/privacy}","received_events_url":"https://api.github.com/users/sloriot/received_events","type":"User","site_admin":false},"open_issues":24,"closed_issues":247,"state":"open","created_at":"2017-06-27T09:50:39Z","updated_at":"2018-02-14T14:37:17Z","due_on":"2018-02-10T08:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/CGAL/cgal/pulls/2803/commits","review_comments_url":"https://api.github.com/repos/CGAL/cgal/pulls/2803/comments","review_comment_url":"https://api.github.com/repos/CGAL/cgal/pulls/comments{/number}","comments_url":"https://api.github.com/repos/CGAL/cgal/issues/2803/comments","statuses_url":"https://api.github.com/repos/CGAL/cgal/statuses/7536af710653308e574551af551d957a4da8bbf8","head":{"label":"sgiraudot:OTR-Fix_error_test_vertex_edge-GF","ref":"OTR-Fix_error_test_vertex_edge-GF","sha":"7536af710653308e574551af551d957a4da8bbf8","user":{"login":"sgiraudot","id":12890639,"avatar_url":"https://avatars0.githubusercontent.com/u/12890639?v=4","gravatar_id":"","url":"https://api.github.com/users/sgiraudot","html_url":"https://github.com/sgiraudot","followers_url":"https://api.github.com/users/sgiraudot/followers","following_url":"https://api.github.com/users/sgiraudot/following{/other_user}","gists_url":"https://api.github.com/users/sgiraudot/gists{/gist_id}","starred_url":"https://api.github.com/users/sgiraudot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sgiraudot/subscriptions","organizations_url":"https://api.github.com/users/sgiraudot/orgs","repos_url":"https://api.github.com/users/sgiraudot/repos","events_url":"https://api.github.com/users/sgiraudot/events{/privacy}","received_events_url":"https://api.github.com/users/sgiraudot/received_events","type":"User","site_admin":false},"repo":{"id":37466040,"name":"cgal","full_name":"sgiraudot/cgal","owner":{"login":"sgiraudot","id":12890639,"avatar_url":"https://avatars0.githubusercontent.com/u/12890639?v=4","gravatar_id":"","url":"https://api.github.com/users/sgiraudot","html_url":"https://github.com/sgiraudot","followers_url":"https://api.github.com/users/sgiraudot/followers","following_url":"https://api.github.com/users/sgiraudot/following{/other_user}","gists_url":"https://api.github.com/users/sgiraudot/gists{/gist_id}","starred_url":"https://api.github.com/users/sgiraudot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sgiraudot/subscriptions","organizations_url":"https://api.github.com/users/sgiraudot/orgs","repos_url":"https://api.github.com/users/sgiraudot/repos","events_url":"https://api.github.com/users/sgiraudot/events{/privacy}","received_events_url":"https://api.github.com/users/sgiraudot/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sgiraudot/cgal","description":"The public CGAL repository","fork":true,"url":"https://api.github.com/repos/sgiraudot/cgal","forks_url":"https://api.github.com/repos/sgiraudot/cgal/forks","keys_url":"https://api.github.com/repos/sgiraudot/cgal/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sgiraudot/cgal/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sgiraudot/cgal/teams","hooks_url":"https://api.github.com/repos/sgiraudot/cgal/hooks","issue_events_url":"https://api.github.com/repos/sgiraudot/cgal/issues/events{/number}","events_url":"https://api.github.com/repos/sgiraudot/cgal/events","assignees_url":"https://api.github.com/repos/sgiraudot/cgal/assignees{/user}","branches_url":"https://api.github.com/repos/sgiraudot/cgal/branches{/branch}","tags_url":"https://api.github.com/repos/sgiraudot/cgal/tags","blobs_url":"https://api.github.com/repos/sgiraudot/cgal/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sgiraudot/cgal/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sgiraudot/cgal/git/refs{/sha}","trees_url":"https://api.github.com/repos/sgiraudot/cgal/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sgiraudot/cgal/statuses/{sha}","languages_url":"https://api.github.com/repos/sgiraudot/cgal/languages","stargazers_url":"https://api.github.com/repos/sgiraudot/cgal/stargazers","contributors_url":"https://api.github.com/repos/sgiraudot/cgal/contributors","subscribers_url":"https://api.github.com/repos/sgiraudot/cgal/subscribers","subscription_url":"https://api.github.com/repos/sgiraudot/cgal/subscription","commits_url":"https://api.github.com/repos/sgiraudot/cgal/commits{/sha}","git_commits_url":"https://api.github.com/repos/sgiraudot/cgal/git/commits{/sha}","comments_url":"https://api.github.com/repos/sgiraudot/cgal/comments{/number}","issue_comment_url":"https://api.github.com/repos/sgiraudot/cgal/issues/comments{/number}","contents_url":"https://api.github.com/repos/sgiraudot/cgal/contents/{+path}","compare_url":"https://api.github.com/repos/sgiraudot/cgal/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sgiraudot/cgal/merges","archive_url":"https://api.github.com/repos/sgiraudot/cgal/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sgiraudot/cgal/downloads","issues_url":"https://api.github.com/repos/sgiraudot/cgal/issues{/number}","pulls_url":"https://api.github.com/repos/sgiraudot/cgal/pulls{/number}","milestones_url":"https://api.github.com/repos/sgiraudot/cgal/milestones{/number}","notifications_url":"https://api.github.com/repos/sgiraudot/cgal/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sgiraudot/cgal/labels{/name}","releases_url":"https://api.github.com/repos/sgiraudot/cgal/releases{/id}","deployments_url":"https://api.github.com/repos/sgiraudot/cgal/deployments","created_at":"2015-06-15T13:14:30Z","updated_at":"2017-09-20T10:59:05Z","pushed_at":"2018-02-07T13:43:35Z","git_url":"git://github.com/sgiraudot/cgal.git","ssh_url":"git@github.com:sgiraudot/cgal.git","clone_url":"https://github.com/sgiraudot/cgal.git","svn_url":"https://github.com/sgiraudot/cgal","homepage":"http://www.cgal.org","size":556638,"stargazers_count":1,"watchers_count":1,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":11,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":0,"open_issues":11,"watchers":1,"default_branch":"master"}},"base":{"label":"CGAL:master","ref":"master","sha":"070f661244149a9deb12827b8ac009e8ba283813","user":{"login":"CGAL","id":5746664,"avatar_url":"https://avatars0.githubusercontent.com/u/5746664?v=4","gravatar_id":"","url":"https://api.github.com/users/CGAL","html_url":"https://github.com/CGAL","followers_url":"https://api.github.com/users/CGAL/followers","following_url":"https://api.github.com/users/CGAL/following{/other_user}","gists_url":"https://api.github.com/users/CGAL/gists{/gist_id}","starred_url":"https://api.github.com/users/CGAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CGAL/subscriptions","organizations_url":"https://api.github.com/users/CGAL/orgs","repos_url":"https://api.github.com/users/CGAL/repos","events_url":"https://api.github.com/users/CGAL/events{/privacy}","received_events_url":"https://api.github.com/users/CGAL/received_events","type":"Organization","site_admin":false},"repo":{"id":24677392,"name":"cgal","full_name":"CGAL/cgal","owner":{"login":"CGAL","id":5746664,"avatar_url":"https://avatars0.githubusercontent.com/u/5746664?v=4","gravatar_id":"","url":"https://api.github.com/users/CGAL","html_url":"https://github.com/CGAL","followers_url":"https://api.github.com/users/CGAL/followers","following_url":"https://api.github.com/users/CGAL/following{/other_user}","gists_url":"https://api.github.com/users/CGAL/gists{/gist_id}","starred_url":"https://api.github.com/users/CGAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CGAL/subscriptions","organizations_url":"https://api.github.com/users/CGAL/orgs","repos_url":"https://api.github.com/users/CGAL/repos","events_url":"https://api.github.com/users/CGAL/events{/privacy}","received_events_url":"https://api.github.com/users/CGAL/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CGAL/cgal","description":"The public CGAL repository, see the README below","fork":false,"url":"https://api.github.com/repos/CGAL/cgal","forks_url":"https://api.github.com/repos/CGAL/cgal/forks","keys_url":"https://api.github.com/repos/CGAL/cgal/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CGAL/cgal/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CGAL/cgal/teams","hooks_url":"https://api.github.com/repos/CGAL/cgal/hooks","issue_events_url":"https://api.github.com/repos/CGAL/cgal/issues/events{/number}","events_url":"https://api.github.com/repos/CGAL/cgal/events","assignees_url":"https://api.github.com/repos/CGAL/cgal/assignees{/user}","branches_url":"https://api.github.com/repos/CGAL/cgal/branches{/branch}","tags_url":"https://api.github.com/repos/CGAL/cgal/tags","blobs_url":"https://api.github.com/repos/CGAL/cgal/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CGAL/cgal/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CGAL/cgal/git/refs{/sha}","trees_url":"https://api.github.com/repos/CGAL/cgal/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CGAL/cgal/statuses/{sha}","languages_url":"https://api.github.com/repos/CGAL/cgal/languages","stargazers_url":"https://api.github.com/repos/CGAL/cgal/stargazers","contributors_url":"https://api.github.com/repos/CGAL/cgal/contributors","subscribers_url":"https://api.github.com/repos/CGAL/cgal/subscribers","subscription_url":"https://api.github.com/repos/CGAL/cgal/subscription","commits_url":"https://api.github.com/repos/CGAL/cgal/commits{/sha}","git_commits_url":"https://api.github.com/repos/CGAL/cgal/git/commits{/sha}","comments_url":"https://api.github.com/repos/CGAL/cgal/comments{/number}","issue_comment_url":"https://api.github.com/repos/CGAL/cgal/issues/comments{/number}","contents_url":"https://api.github.com/repos/CGAL/cgal/contents/{+path}","compare_url":"https://api.github.com/repos/CGAL/cgal/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CGAL/cgal/merges","archive_url":"https://api.github.com/repos/CGAL/cgal/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CGAL/cgal/downloads","issues_url":"https://api.github.com/repos/CGAL/cgal/issues{/number}","pulls_url":"https://api.github.com/repos/CGAL/cgal/pulls{/number}","milestones_url":"https://api.github.com/repos/CGAL/cgal/milestones{/number}","notifications_url":"https://api.github.com/repos/CGAL/cgal/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CGAL/cgal/labels{/name}","releases_url":"https://api.github.com/repos/CGAL/cgal/releases{/id}","deployments_url":"https://api.github.com/repos/CGAL/cgal/deployments","created_at":"2014-10-01T12:22:47Z","updated_at":"2018-02-14T11:42:57Z","pushed_at":"2018-02-14T14:37:03Z","git_url":"git://github.com/CGAL/cgal.git","ssh_url":"git@github.com:CGAL/cgal.git","clone_url":"https://github.com/CGAL/cgal.git","svn_url":"https://github.com/CGAL/cgal","homepage":"https://github.com/CGAL/cgal#readme","size":554636,"stargazers_count":780,"watchers_count":780,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":342,"mirror_url":null,"archived":false,"open_issues_count":260,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":342,"open_issues":260,"watchers":780,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/CGAL/cgal/pulls/2803"},"html":{"href":"https://github.com/CGAL/cgal/pull/2803"},"issue":{"href":"https://api.github.com/repos/CGAL/cgal/issues/2803"},"comments":{"href":"https://api.github.com/repos/CGAL/cgal/issues/2803/comments"},"review_comments":{"href":"https://api.github.com/repos/CGAL/cgal/pulls/2803/comments"},"review_comment":{"href":"https://api.github.com/repos/CGAL/cgal/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/CGAL/cgal/pulls/2803/commits"},"statuses":{"href":"https://api.github.com/repos/CGAL/cgal/statuses/7536af710653308e574551af551d957a4da8bbf8"}},"author_association":"COLLABORATOR","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"lrineau","id":5746675,"avatar_url":"https://avatars1.githubusercontent.com/u/5746675?v=4","gravatar_id":"","url":"https://api.github.com/users/lrineau","html_url":"https://github.com/lrineau","followers_url":"https://api.github.com/users/lrineau/followers","following_url":"https://api.github.com/users/lrineau/following{/other_user}","gists_url":"https://api.github.com/users/lrineau/gists{/gist_id}","starred_url":"https://api.github.com/users/lrineau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lrineau/subscriptions","organizations_url":"https://api.github.com/users/lrineau/orgs","repos_url":"https://api.github.com/users/lrineau/repos","events_url":"https://api.github.com/users/lrineau/events{/privacy}","received_events_url":"https://api.github.com/users/lrineau/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":6,"deletions":2,"changed_files":2}}
{"actor":{"display_login":"lrineau"}}