{"action":"created","issue":{"url":"https://api.github.com/repos/dash-project/dash/issues/85","repository_url":"https://api.github.com/repos/dash-project/dash","labels_url":"https://api.github.com/repos/dash-project/dash/issues/85/labels{/name}","comments_url":"https://api.github.com/repos/dash-project/dash/issues/85/comments","events_url":"https://api.github.com/repos/dash-project/dash/issues/85/events","html_url":"https://github.com/dash-project/dash/issues/85","id":188727855,"number":85,"title":"MatrixTest.DelayedAlloc fails in Release build","user":{"login":"devreal","id":10974502,"avatar_url":"https://avatars.githubusercontent.com/u/10974502?v=3","gravatar_id":"","url":"https://api.github.com/users/devreal","html_url":"https://github.com/devreal","followers_url":"https://api.github.com/users/devreal/followers","following_url":"https://api.github.com/users/devreal/following{/other_user}","gists_url":"https://api.github.com/users/devreal/gists{/gist_id}","starred_url":"https://api.github.com/users/devreal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/devreal/subscriptions","organizations_url":"https://api.github.com/users/devreal/orgs","repos_url":"https://api.github.com/users/devreal/repos","events_url":"https://api.github.com/users/devreal/events{/privacy}","received_events_url":"https://api.github.com/users/devreal/received_events","type":"User","site_admin":false},"labels":[{"id":475838993,"url":"https://api.github.com/repos/dash-project/dash/labels/CI","name":"CI","color":"5319e7","default":false}],"state":"open","locked":false,"assignee":{"login":"fuchsto","id":37075,"avatar_url":"https://avatars.githubusercontent.com/u/37075?v=3","gravatar_id":"","url":"https://api.github.com/users/fuchsto","html_url":"https://github.com/fuchsto","followers_url":"https://api.github.com/users/fuchsto/followers","following_url":"https://api.github.com/users/fuchsto/following{/other_user}","gists_url":"https://api.github.com/users/fuchsto/gists{/gist_id}","starred_url":"https://api.github.com/users/fuchsto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fuchsto/subscriptions","organizations_url":"https://api.github.com/users/fuchsto/orgs","repos_url":"https://api.github.com/users/fuchsto/repos","events_url":"https://api.github.com/users/fuchsto/events{/privacy}","received_events_url":"https://api.github.com/users/fuchsto/received_events","type":"User","site_admin":false},"assignees":[{"login":"fuchsto","id":37075,"avatar_url":"https://avatars.githubusercontent.com/u/37075?v=3","gravatar_id":"","url":"https://api.github.com/users/fuchsto","html_url":"https://github.com/fuchsto","followers_url":"https://api.github.com/users/fuchsto/followers","following_url":"https://api.github.com/users/fuchsto/following{/other_user}","gists_url":"https://api.github.com/users/fuchsto/gists{/gist_id}","starred_url":"https://api.github.com/users/fuchsto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fuchsto/subscriptions","organizations_url":"https://api.github.com/users/fuchsto/orgs","repos_url":"https://api.github.com/users/fuchsto/repos","events_url":"https://api.github.com/users/fuchsto/events{/privacy}","received_events_url":"https://api.github.com/users/fuchsto/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2016-11-11T10:16:40Z","updated_at":"2016-11-11T10:25:37Z","closed_at":null,"body":"If I run the CI script locally the test MatrixTest.DelayedAlloc fails for Release builds:\r\n\r\n```\r\n[  RUN     ] MatrixTest.DelayedAlloc\r\n[=   0  LOG =]             MatrixTest.h :  20 | >>> Test suite: MatrixTest \r\n[=   0  LOG =]             MatrixTest.h :  21 | >>> Hostname: beryl PID: 25459 \r\n[=   3  LOG =]             MatrixTest.h :  21 | >>> Hostname: beryl PID: 25462 \r\n[=   1  LOG =]             MatrixTest.h :  33 | ===> Running test case with 4 units ... \r\n[=   2  LOG =]             MatrixTest.h :  33 | ===> Running test case with 4 units ... \r\n[=   3  LOG =]             MatrixTest.h :  33 | ===> Running test case with 4 units ... \r\n[=   0  LOG =]             MatrixTest.h :  33 | ===> Running test case with 4 units ... \r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.011\r\nTo be equal to: actual\r\n      Which is: 0.011\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0301\r\nTo be equal to: actual\r\n      Which is: 0.0301\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0302\r\nTo be equal to: actual\r\n      Which is: 0.0302\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0306\r\nTo be equal to: actual\r\n      Which is: 0.0306\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0307\r\nTo be equal to: actual\r\n      Which is: 0.0307\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0308\r\nTo be equal to: actual\r\n      Which is: 0.0308\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0312\r\nTo be equal to: actual\r\n      Which is: 0.0312\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0501\r\nTo be equal to: actual\r\n      Which is: 0.0501\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0506\r\nTo be equal to: actual\r\n      Which is: 0.0506\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0508\r\nTo be equal to: actual\r\n      Which is: 0.0508\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0513\r\nTo be equal to: actual\r\n      Which is: 0.0513\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0124\r\nTo be equal to: actual\r\n      Which is: 0.0124\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0316\r\nTo be equal to: actual\r\n      Which is: 0.0316\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.022\r\nTo be equal to: actual\r\n      Which is: 0.022\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0321\r\nTo be equal to: actual\r\n      Which is: 0.0321\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0326\r\nTo be equal to: actual\r\n      Which is: 0.0326\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0328\r\nTo be equal to: actual\r\n      Which is: 0.0328\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0518\r\nTo be equal to: actual\r\n      Which is: 0.0518\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0523\r\nTo be equal to: actual\r\n      Which is: 0.0523\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0525\r\nTo be equal to: actual\r\n      Which is: 0.0525\r\nUnit 0\r\n[=   3  LOG =]             MatrixTest.h :  39 | <=== Finished test case with 4 units \r\n[=   3  LOG =]             MatrixTest.h :  25 | <<< Closing test suite: MatrixTest \r\n[=   2  LOG =]             MatrixTest.h :  39 | <=== Finished test case with 4 units \r\n[=   2  LOG =]             MatrixTest.h :  25 | <<< Closing test suite: MatrixTest \r\n[=   1  LOG =]             MatrixTest.h :  39 | <=== Finished test case with 4 units \r\n[=   1  LOG =]             MatrixTest.h :  25 | <<< Closing test suite: MatrixTest \r\n[=   0  LOG =]             MatrixTest.h :  39 | <=== Finished test case with 4 units \r\n[=   0  LOG =]             MatrixTest.h :  25 | <<< Closing test suite: MatrixTest \r\n[  FAILED  ] MatrixTest.DelayedAlloc\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/TestPrinter.h:140\r\nFailed\r\nTestcase failed at least on one unit\r\n[  RUN     ] MatrixTest.DelayedAlloc\r\n[=   0  LOG =]             MatrixTest.h :  20 | >>> Test suite: MatrixTest \r\n[=   0  LOG =]             MatrixTest.h :  21 | >>> Hostname: beryl PID: 25459 \r\n[=   3  LOG =]             MatrixTest.h :  21 | >>> Hostname: beryl PID: 25462 \r\n[=   1  LOG =]             MatrixTest.h :  33 | ===> Running test case with 4 units ... \r\n[=   2  LOG =]             MatrixTest.h :  33 | ===> Running test case with 4 units ... \r\n[=   3  LOG =]             MatrixTest.h :  33 | ===> Running test case with 4 units ... \r\n[=   0  LOG =]             MatrixTest.h :  33 | ===> Running test case with 4 units ... \r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.011\r\nTo be equal to: actual\r\n      Which is: 0.011\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0301\r\nTo be equal to: actual\r\n      Which is: 0.0301\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0302\r\nTo be equal to: actual\r\n      Which is: 0.0302\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0306\r\nTo be equal to: actual\r\n      Which is: 0.0306\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0307\r\nTo be equal to: actual\r\n      Which is: 0.0307\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0308\r\nTo be equal to: actual\r\n      Which is: 0.0308\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0312\r\nTo be equal to: actual\r\n      Which is: 0.0312\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0501\r\nTo be equal to: actual\r\n      Which is: 0.0501\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0506\r\nTo be equal to: actual\r\n      Which is: 0.0506\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0508\r\nTo be equal to: actual\r\n      Which is: 0.0508\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0513\r\nTo be equal to: actual\r\n      Which is: 0.0513\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0124\r\nTo be equal to: actual\r\n      Which is: 0.0124\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0316\r\nTo be equal to: actual\r\n      Which is: 0.0316\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.022\r\nTo be equal to: actual\r\n      Which is: 0.022\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0321\r\nTo be equal to: actual\r\n      Which is: 0.0321\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0326\r\nTo be equal to: actual\r\n      Which is: 0.0326\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0328\r\nTo be equal to: actual\r\n      Which is: 0.0328\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0518\r\nTo be equal to: actual\r\n      Which is: 0.0518\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0523\r\nTo be equal to: actual\r\n      Which is: 0.0523\r\nUnit 0\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/MatrixTest.cc:891\r\n      Expected: expected\r\n      Which is: 0.0525\r\nTo be equal to: actual\r\n      Which is: 0.0525\r\nUnit 0\r\n[=   3  LOG =]             MatrixTest.h :  39 | <=== Finished test case with 4 units \r\n[=   3  LOG =]             MatrixTest.h :  25 | <<< Closing test suite: MatrixTest \r\n[=   2  LOG =]             MatrixTest.h :  39 | <=== Finished test case with 4 units \r\n[=   2  LOG =]             MatrixTest.h :  25 | <<< Closing test suite: MatrixTest \r\n[=   1  LOG =]             MatrixTest.h :  39 | <=== Finished test case with 4 units \r\n[=   1  LOG =]             MatrixTest.h :  25 | <<< Closing test suite: MatrixTest \r\n[=   0  LOG =]             MatrixTest.h :  39 | <=== Finished test case with 4 units \r\n[=   0  LOG =]             MatrixTest.h :  25 | <<< Closing test suite: MatrixTest \r\n[  FAILED  ] MatrixTest.DelayedAlloc\r\n[  ERROR   ] [UNIT 0] in /home/joseph/src/dash/dash/dash/test/TestPrinter.h:140\r\nFailed\r\nTestcase failed at least on one unit\r\n```\r\n\r\nNote that expected and actual always match up to the precision displayed. I assume that the difference appears in a low-significance bit (comparing double values for equality is never a good idea). However, I was unable to extract more information, even setting -DENABLE_TRACE_LOGGING=ON didn't help. Also note that the Debug builds pass successfully (I assume due to lower compiler optimization levels). \r\n\r\nThe used compiler was GCC 5.4.0 and OpenMPI 1.10.2 locally on my laptop."},"comment":{"url":"https://api.github.com/repos/dash-project/dash/issues/comments/259927856","html_url":"https://github.com/dash-project/dash/issues/85#issuecomment-259927856","issue_url":"https://api.github.com/repos/dash-project/dash/issues/85","id":259927856,"user":{"login":"fmoessbauer","id":9655545,"avatar_url":"https://avatars.githubusercontent.com/u/9655545?v=3","gravatar_id":"","url":"https://api.github.com/users/fmoessbauer","html_url":"https://github.com/fmoessbauer","followers_url":"https://api.github.com/users/fmoessbauer/followers","following_url":"https://api.github.com/users/fmoessbauer/following{/other_user}","gists_url":"https://api.github.com/users/fmoessbauer/gists{/gist_id}","starred_url":"https://api.github.com/users/fmoessbauer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fmoessbauer/subscriptions","organizations_url":"https://api.github.com/users/fmoessbauer/orgs","repos_url":"https://api.github.com/users/fmoessbauer/repos","events_url":"https://api.github.com/users/fmoessbauer/events{/privacy}","received_events_url":"https://api.github.com/users/fmoessbauer/received_events","type":"User","site_admin":false},"created_at":"2016-11-11T10:25:37Z","updated_at":"2016-11-11T10:25:37Z","body":"At the time I wrote the test, I thought Gtest automatically uses a machine precision aware assertion. However that is not the case. Can you simply substitute the assertion with `EXPECT_DOUBLE_EQ` and re run the test?\r\n\r\nThis should fix it."}}
{"actor":{"display_login":"fmoessbauer"}}