Closed Bug 750856 Opened 12 years ago Closed 12 years ago

Upgrade Valgrind on build machines to at least 3.8.1

Categories

(Infrastructure & Operations Graveyard :: CIDuty, task)

x86_64
Linux
task
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: gkw, Assigned: catlee)

References

Details

(Whiteboard: [mock])

Attachments

(1 obsolete file)

Attached patch untested patch (obsolete) — Splinter Review
3.7.0 is needed if Valgrind on Mac support (especially Lion 64-bit) is to be implemented for tbpl.

RPM URL is at http://195.220.108.108/linux/fedora/linux/development/rawhide/source/SRPMS/v/valgrind-3.7.0-2.fc18.src.rpm

See bug 628282 comment 3 for changes made to the rpm, not sure if this rpm needs those changes as well.

I've also attached an untested patch of moz-rpms.pp adapted from bug 628282.

Or we could choose to wait it out to 3.8.0 which has a bunch of false positive fixes found from Mozilla code, landed in Valgrind SVN after 3.7.0, it *might* be released in the next 1-2+ months, or we could upgrade to 3.7.0 first then file a follow-up bug to move to 3.8.0 later.
Attachment #620037 - Flags: review?(catlee)
Yeah, even 3.7.0 is kinda broken for 10.7; it had problems with more
recent Firefox builds, and I had to commit a bunch of fixes to Valgrind
trunk to get it to work.

I can easily enough roll you a tarball from trunk if you want; it's
pretty stable.
so, do you want 3.7.0, or a pre-release of 3.8.0, or ???
> so, do you want 3.7.0, or a pre-release of 3.8.0, or ???

A pre-release of 3.8.0 should work great, thanks Julian for offering a tarball (assuming with datestamp). :)

I'm sure we'll be able to easily upgrade to 3.8.0 final when it's out, too.
Attachment #620037 - Flags: review?(catlee)
Attachment #620037 - Attachment is obsolete: true
(In reply to Julian Seward from comment #1)
> I can easily enough roll you a tarball from trunk if you want; it's
> pretty stable.

Could you please attach the tarball to this bug then?
> > I can easily enough roll you a tarball from trunk if you want; it's
> > pretty stable.

Re-ping?
Summary: Upgrade Valgrind on tbpl machines to 3.7.0 → Upgrade Valgrind on tbpl machines
I made yesterday a tarball, valgrind-3.8.0.SVN-2371-12614-05Jun2012.tar.bz2,
which I think is a not-bad snapshot of the trunk right now.  I tested
it a bit on both Linux (x86_64) and OSX 10.7 (64 bit).  It appears to
run Firefox OK in both cases.  It contains all the refinements listed at
http://blog.mozilla.org/jseward/2012/06/05/valgrind-now-supports-jemalloc-builds-directly

If anybody wants to try it out please let me know and I'll make it
available for download.  I didn't want to put attach the whole 7MB
file to this bug report (maybe that's OK?)

Other options are to wait for 3.8.0, which will be mid July.  In
between now and then will be a big merge, so making further stable
snapshots in between this one and the final release might be more
problematic (or not).
> If anybody wants to try it out please let me know and I'll make it
> available for download.  I didn't want to put attach the whole 7MB
> file to this bug report (maybe that's OK?)

Chris, the tarball that Julian provides should be sufficient for 64-bit Mac 10.7 Lion support.
(In reply to Julian Seward from comment #6)
> I made yesterday a tarball, valgrind-3.8.0.SVN-2371-12614-05Jun2012.tar.bz2,

Just to clarify, this is a snapshot of Valgrind trunk from 5 June
2012, with Valgrind svn revision 12614 and VEX revision 2371.
Component: Release Engineering → Release Engineering: Platform Support
QA Contact: release → coop
Summary: Upgrade Valgrind on tbpl machines → Upgrade Valgrind on build machines
Valgrind 3.8.0 is now available from http://www.valgrind.org/
Blocks: 784681, 706695
Summary: Upgrade Valgrind on build machines → Upgrade Valgrind on build machines to at least 3.8.0
I'm having problems building 3.8.0 with the included spec file on centos6. I get this error:

+ mkdir docs.installed
+ mv /builds/rpmbuild/BUILDROOT/valgrind-3.8.0-1.i386/usr/share/doc/valgrind/html /builds/rpmbuild/BUILDROOT/valgrind-3.8.0-1.i386/usr/share/doc/valgrind/valgrind_manual.pdf /builds/rpmbuild/BUILDROOT/valgrind-3.8.0-1.i386/usr/share/doc/valgrind/valgrind_manual.ps docs.installed/
+ /usr/lib/rpm/find-debuginfo.sh --strict-build-id /builds/rpmbuild/BUILD/valgrind-3.8.0
extracting debug info from /builds/rpmbuild/BUILDROOT/valgrind-3.8.0-1.i386/usr/lib/valgrind/drd-x86-linux
*** ERROR: No build ID note found in /builds/rpmbuild/BUILDROOT/valgrind-3.8.0-1.i386/usr/lib/valgrind/drd-x86-linux
error: Bad exit status from /var/tmp/rpm-tmp.wCGgTu (%install)
The way I compile on my Ubuntu Linux box is (in the Valgrind source directory):

./autogen.sh
./configure
make
sudo make install

I'm not sure what the spec file is about, perhaps Julian would know?
Yeah, I need to make an rpm for it.
I know zero about building RPMs, sorry.  I have never built one.

3.8.1 will be available in the next 24 hours and contains at least
one important regression fix relative to 3.8.0, so you'd be well
advised to use that for the final artefact, once the immediate
rpm build problem is resolved.
Mike Hommey suggests (on irc) to use the in-tree spec file, valgrind.spec
(derived from valgrind.spec.in) instead of the centos6 supplied one.
So, here's the fun: the find-debuginfo.sh command that fails is not in valgrind.spec, so it must be coming from macros shipped with rpm itself. And it turns out valgrind does build with an explicit -Wl,--build-id=none, according to configure.in, so the resulting binaries don't have a build-id, which is what the find-debuginfo.sh script expects...
Adding "%define debug_package	%{nil}" to the specfile does the trick. I'll wait for 3.8.1 and create rpms for those.
Summary: Upgrade Valgrind on build machines to at least 3.8.0 → Upgrade Valgrind on build machines to at least 3.8.1
(In reply to Chris AtLee [:catlee] from comment #16)
> Adding "%define debug_package	%{nil}" to the specfile does the trick.

Can you send me the diff for that, so I can put it into the V tree?
Assignee: nobody → catlee
Whiteboard: [puppet] → [mock]
For releng, this is how I built the rpm:

# Download/unpack valgrind-3.8.1
# Add %define debug_package	%{nil} to valgrind-3.8.1/valgrind.spec

mock_mozilla -r mozilla-centos6-x86_64 --init
mock_mozilla -r mozilla-centos6-x86_64 --install gcc mpfr
mock_mozilla -r mozilla-centos6-x86_64 --shell --unpriv 'mkdir -p /builds/rpmbuild/{SOURCES,SPECS}'
mock_mozilla -r mozilla-centos6-x86_64 --copyin --unpriv valgrind-3.8.1.tar.bz2 /builds/rpmbuild/SOURCES
mock_mozilla -r mozilla-centos6-x86_64 --copyin --unpriv valgrind-3.8.1/valgrind.spec /builds/rpmbuild/SPECS
mock_mozilla -r mozilla-centos6-x86_64 --shell --unpriv --cwd '/builds/rpmbuild/SPECS' 'rpmbuild -ba valgrind.spec'
(In reply to Julian Seward from comment #18)
> (In reply to Chris AtLee [:catlee] from comment #16)
> > Adding "%define debug_package	%{nil}" to the specfile does the trick.
> 
> Can you send me the diff for that, so I can put it into the V tree?

--- valgrind-3.8.1/valgrind.spec.orig   2012-09-18 12:19:34.000000000 -0700
+++ valgrind-3.8.1/valgrind.spec        2012-09-19 05:43:21.309676691 -0700
@@ -11,6 +11,8 @@
 
 Buildroot: %{_tmppath}/%{name}-root
 
+%define debug_package   %{nil}
+
 %description 
 
 Valgrind is an award-winning instrumentation framework for building dynamic
I've put these rpms into the releng yum repo. Once we make the switch to mock (bug 772446), the valgrind builds should be using 3.8.1.
Valgrind 3.8.1 is now being used on tbpl build machines on AWS. -> FIXED (likely by bug 772446)
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
(In reply to Chris AtLee [:catlee] from comment #16)
> Adding "%define debug_package	%{nil}" to the specfile does the trick.

Note that disables creating debuginfo packages completely.
If you just want find-debuginfo.sh to skip those files which don't have a build-id then you can also use:

# Don't barf on mising build-ids when creating the -debuginfo package.
# See coregrind/link_tool_exe_linux.in, which links the tool executables
# statically and at an alternative load address.
%undefine _missing_build_ids_terminate_build
Bug 797573 further upgraded Valgrind to a special 3.8.1 tarball for Mozilla. Verifying this one.
Status: RESOLVED → VERIFIED
Product: mozilla.org → Release Engineering
Component: Platform Support → Buildduty
Product: Release Engineering → Infrastructure & Operations
Product: Infrastructure & Operations → Infrastructure & Operations Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: