Mir

Merge lp:~mir-team/mir/workaround-for-valgrind-opcode into lp:mir

Proposed by Brandon Schaefer on 2015-09-30
Status: Merged
Approved by: Daniel van Vugt on 2015-10-01
Approved revision: 2979
Merged at revision: 2979
Proposed branch: lp:~mir-team/mir/workaround-for-valgrind-opcode
Merge into: lp:mir
Diff against target: 12 lines (+1/-1)
1 file modified
tests/mir_test_framework/testing_server_options.cpp (+1/-1)
To merge this branch: bzr merge lp:~mir-team/mir/workaround-for-valgrind-opcode
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Approve on 2015-10-01
Daniel van Vugt Approve on 2015-10-01
Chris Halse Rogers Approve on 2015-10-01
Alberto Aguirre 2015-09-30 Approve on 2015-09-30
Review via email: mp+272997@code.launchpad.net

Commit Message

Explicitly use "/dev/urandom" vs the default __x86_rdrand() which seems to cause opcode issues.

This is a WORKAROUND until this is fixed:
https://bugs.launchpad.net/ubuntu/+source/valgrind/+bug/1501545

Description of the Change

This work around is for errors that only happen on amd64:
http://s-jenkins.ubuntu-ci:8080/job/mir-wily-amd64-ci/1225/console

Invalid op code from valgrinds latest release.

Error started happening here:
http://s-jenkins.ubuntu-ci:8080/job/mir-wily-amd64-ci/
Failed > Console Output #1225 Sep 30, 2015 3:21:48 PM
Success > Console Output #1224 Sep 30, 2015 2:07:47 PM

New valgrind release:
 -- Matthias Klose <email address hidden> Wed, 30 Sep 2015

Still dont know what exactly is causing the issue with valgrind.

ci-testing passed:
http://s-jenkins.ubuntu-ci:8080/job/mir-wily-amd64-ci/1236/console

To post a comment you must log in.
Alberto Aguirre (albaguirre) wrote :

Sounds plausible...

valgrind may have updated it's cpuid info?

review: Approve
Alberto Aguirre (albaguirre) wrote :

FIY, the opcode is "rdrand %eax"

Alberto Aguirre (albaguirre) wrote :

s/FIY/FYI

Chris Halse Rogers (raof) wrote :

LGTM

review: Approve
Daniel van Vugt (vanvugt) wrote :

Another one. I guess we should be thankful these are rare. And normally it's just valgrind on armhf...

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'tests/mir_test_framework/testing_server_options.cpp'
2--- tests/mir_test_framework/testing_server_options.cpp 2015-06-17 05:20:42 +0000
3+++ tests/mir_test_framework/testing_server_options.cpp 2015-09-30 23:16:32 +0000
4@@ -50,7 +50,7 @@
5
6 std::string create_random_socket_name()
7 {
8- std::random_device random_device;
9+ std::random_device random_device("/dev/urandom");
10 std::mt19937 generator(random_device());
11 int max_concurrent_test_instances = 99999;
12 std::uniform_int_distribution<> dist(1, max_concurrent_test_instances);

Subscribers

People subscribed via source and target branches