Closed Bug 1242979 Opened 4 years ago Closed 4 years ago

Install Valgrind on mochitest-valgrind test nodes


(Testing :: General, defect)

Not set


(firefox47 fixed)

Tracking Status
firefox47 --- fixed


(Reporter: jseward, Assigned: jseward)




(1 file, 2 obsolete files)

Bug 1229348 - Add a "valgrind-plain" suite to all_mochitest_suites
now fails because valgrind isn't installed on the relevant test machines
(I am not sure which ones are involved).  Armen seems to imply in irc
that they are Ubuntu 12.04 machines.

Any version 3.10.1 or later would be OK; any recent distro will have
3.10.1 or later anyway as a standard install.  3.11.0 would be nice
but is in no way essential.

A simple is-it-installed test is

  $ valgrind --version

A simple is-it-installed-sanely test is

  $ valgrind /usr/bin/date 2>&1 | grep "ERROR SUMMARY"
  ==17356== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

If there are more than 0 errors from 0 contexts, it hasn't been
installed correctly.
Blocks: 1229348
It might be simpler to just put a tarball in tooltool (which is just a content-addressable store) and have the tester download it before running the job. This would also give you the flexibility to update the version or add additional files to it.

I don't know that we have a standardized place to do this, we do have a tooltool manifest that our linux testers use to get a minidump_stackwalk binary:

but I'm not sure we want to stick arbitrary stuff in there.
Speaking from a position of total ignorance here .. since Armen seems to
imply that the distro in use is Ubuntu 12.04, wouldn't it be simplest to

RUN apt-get install valgrind

to testing/docker/desktop-test/Dockerfile?
That would be fairly simple, yes. If you only need to run Valgrind tests in Taskcluster then that should be fine. (Note that simply changing the Dockerfile doesn't automatically make everything work, someone has to build the new Docker image and publish it, and then update the in-tree VERSION file to the new version for tasks to use it.)
Per discussion on IRC, I hadn't read the other bug and didn't realize that this work was only targeting Taskcluster, so that should be fine.
(In reply to Julian Seward [:jseward] from comment #2)
> add
> RUN apt-get install valgrind
> to testing/docker/desktop-test/Dockerfile?

That does actually work -- sort of.  Problem is that version that gets
installed is 3.7.0, which is way too old and inaccurate to run Firefox

To work around this, I made a build of the V SVN trunk on Ubuntu
12.04, verified it worked, and placed it at
sha256sum = ed7bf62d408578cd3f4458b926074128916b664b1deeaa1679c82dfee202e624

and wget that and install it, per the following patch.  Kludgey
but it does allow me to continue.
Attached patch bug1242979-hack-1.cset (obsolete) — Splinter Review
Kludge, as per comment 5.
Per IRC discussion, we can stick that tarball in tooltool and have the Dockerfile fetch it from there once you're happy that it's working properly.
I'm glad you made progress. My apologies I did not have time to look at it.
Let us know when you're satisfied with the results.
Assignee: armenzg → jseward
(In reply to Ted Mielczarek [:ted.mielczarek] from comment #7)
> Per IRC discussion, we can stick that tarball in tooltool and have the
> Dockerfile fetch it from there once you're happy that it's working properly.

Ted, at least from my current messing around, I reckon the tarball is
good.  So can we proceed with putting the it in tooltool?  What do I have
to do to make it happen?
Attached patch bug1242979-2.diff (obsolete) — Splinter Review
Per comment 9, Ted already put the tarball in tooltool.  This patch
is what I believe is necessary to get it into the image.  Note that
although I have tested all the pieces with the previous hacky patch
(attachment 8713137 [details] [diff] [review]: bug1242979-hack-1.cset) I have no way to test
this exact patch.

Dustin, can you please check this over and if OK, rebuild the image?
Attachment #8713137 - Attachment is obsolete: true
Flags: needinfo?(dustin)
We should be able to run that push in try -- the ubuntu1204-test and ubuntu1204-test-upd images have been pushed upstream, and the desktop-test image will be built on demand when I push to try.
Attachment #8717984 - Attachment is obsolete: true
Attachment #8718380 - Flags: review?(jseward) → review+
green test in try -> land
Flags: needinfo?(dustin)
Comment on attachment 8718380 [details]
MozReview Request: Bug 1242979: Install Valgrind on mochitest-valgrind test nodes; r?jseward

(r+ in bug)
Attachment #8718380 - Flags: review+
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla47
You need to log in before you can comment on or make changes to this bug.