Releases/Firefox 3.6.8/BuildNotes

From MozillaWiki
Jump to: navigation, search

Build Engineers

bhearsum,nthomas, rail
bug 581165

Signed-off Revision(s)

fd971f28dfd1

Tags

On releases/mozilla-1.9.2:

Build # Tag Changeset
1 GECKO1927_20100701_RELBRANCH fd971f28dfd1
FIREFOX_3_6_8_BUILD1 FIREFOX_3_6_8_RELEASE a93100d87cc9

Build data

Build # Type Build ID Build machine
1 Linux 20100722145641 mv-moz2-linux-ix-slave22
Mac 20100722150226 bm-xserve19
Windows 20100722155716 mw32-ix-slave03

Notes

Done on pm

Build 1

  • No slave movement, already had enough for the release.
  • Clobbered 'Any release' on pm with clobberer.
  • Landed automation config
  • Reconfiged pm
  • Closed the Firefox3.6 tree
  • Started the automation
buildbot sendchange --username=bhearsum --master=localhost:9010 --branch=releases/mozilla-1.9.2 -m "Firefox 3.6.8 build1" Go
  • Manually tagged buildbot-configs, buildbotcustom, tools w/ FIREFOX_3_6_8_RELEASE/FIREFOX_3_6_8_BUILD1

Tag

No problems. Landed version bump and reopened Firefox3.6.

Source / XULRunner Source

No issues.

Build/Repack

  • Linux: no problems
  • Mac: no problems
  • Win32: no problems

XULRunner Build

No problems except for bug 565882 - windows bits in unsigned/.

XulRunner Sign

See 3.6.6 build notes

#!/bin/bash
set -x
set -e

PRODUCT=xulrunner
VERSION=1.9.2.8
BUILD=1
TAG=FIREFOX_3_6_8_RELEASE
REPO="releases/mozilla-1.9.2"
EMAIL=rail@mozilla.com
KEYDIR=d:/2009-keys

mkdir -p ~/signing-work/${PRODUCT}-${VERSION}
cd ~/signing-work/${PRODUCT}-${VERSION}
cd ~/hg-tools
hg pull
hg up -r ${TAG}
cd -

cd ~/signing-work/${PRODUCT}-${VERSION}
cp ~/hg-tools/release/signing/* .

make setup PRODUCT=${PRODUCT} VERSION=${VERSION} \
  BUILD=${BUILD} REPO=${REPO} EMAIL=${EMAIL} KEYDIR=${KEYDIR} USE_NEW=1
rsync -av -e "ssh -i /home/cltsign/.ssh/xrbld_dsa" \
  --exclude=*.txt --exclude=*-symbols.zip \
  xrbld@stage.mozilla.org:/home/ftp/pub/${PRODUCT}/nightly/${VERSION}-candidates/build${BUILD}/ \
 unsigned-build${BUILD}
rsync -av --exclude=unsigned unsigned-build${BUILD}/ \
 signed-build${BUILD}/
rsync -av unsigned-build${BUILD}/unsigned/ \
 signed-build${BUILD}/

make checksum-files create-sigs stage verify-sigs \
  PRODUCT=${PRODUCT} VERSION=${VERSION} BUILD=${BUILD} \
  REPO=${REPO} EMAIL=${EMAIL} KEYDIR=${KEYDIR} USE_NEW=1

rmdir signed-build${BUILD}/contrib{,-localized}

rsync -av -e "ssh -i /home/cltsign/.ssh/xrbld_dsa" \
  signed-build${BUILD}/ \
  xrbld@stage.mozilla.org:/home/ftp/pub/${PRODUCT}/nightly/${VERSION}-candidates/build${BUILD}/

Partner Repacks

Can't do these from the automation until bug 554321 is resolved.

Unit tests

I'm ignoring the results on the Rev 3 boxes which are enabled despite deciding not to use minis for anything on 1.9.1 and 1.9.2 FIXME

Linux: CONDITIONAL PASS

TEST-UNEXPECTED-FAIL | /builds/slave/mozilla-1.9.2-release-linux-opt-unittest-xpcshell/build/xpcshell/tests/test_places/bookmarks/test_395593.js | test failed (with xpcshell return code: 0), see following log:
  >>>>>>>
  TEST-INFO | (xpcshell/head.js) | test 1 pending
TEST-UNEXPECTED-FAIL | /builds/slave/mozilla-1.9.2-release-linux-opt-unittest-xpcshell/build/xpcshell/tests/test_places/bookmarks/test_395593.js | 1 == 3 - See following stack:
JS frame :: /builds/slave/mozilla-1.9.2-release-linux-opt-unittest-xpcshell/build/xpcshell/head.js :: do_throw :: line 200
JS frame :: /builds/slave/mozilla-1.9.2-release-linux-opt-unittest-xpcshell/build/xpcshell/head.js :: do_check_eq :: line 230
JS frame :: /builds/slave/mozilla-1.9.2-release-linux-opt-unittest-xpcshell/build/xpcshell/tests/test_places/bookmarks/test_395593.js :: run_test :: line 84
JS frame :: /builds/slave/mozilla-1.9.2-release-linux-opt-unittest-xpcshell/build/xpcshell/head.js :: _execute_test :: line 128
JS frame :: -e :: <TOP_LEVEL> :: line 1
TEST-INFO | (xpcshell/head.js) | exiting test
  <<<<<<<

Mac: PASS

Win32: CONDITIONAL PASS

  • All the win32 tests failed to start when download_build hit Automation Error: Ambiguous unittest sendchange!. The sendchange looks malformed, with the tests.zip ending up as a comment instead of a 'file'. Redo with
# production-master
buildbot sendchange --master=localhost:9010 -b mozilla-1.9.2-release-win32-opt-unittest -r a93100d87cc9 -u nthomas http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/3.6.8-candidates/build1/unsigned/win32/en-US/firefox-3.6.8.zip http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/3.6.8-candidates/build1/unsigned/win32/en-US/firefox-3.6.8.tests.zip
41100 INFO TEST-PASS | /tests/content/media/test/test_playback.html | bug498855-2.ogv duration should be around 0.2
41101 ERROR TEST-UNEXPECTED-FAIL | /tests/content/media/test/test_playback.html | Test timed out.

Sign

Instructions

Removed en-US.xpi from stage.

#!/bin/bash
set -x
set -e

PRODUCT=firefox
VERSION=3.6.8
BUILD=1
TAG=FIREFOX_3_6_8_RELEASE
REPO="releases/mozilla-1.9.2"
EMAIL=nthomas@mozilla.com
KEYDIR=d:/2009-keys

cd ~/hg-tools
hg pull
hg up -r ${TAG}

mkdir -p ~/signing-work/${PRODUCT}-${VERSION}
cd ~/signing-work/${PRODUCT}-${VERSION}
cp ~/hg-tools/release/signing/* .

make PRODUCT=${PRODUCT} VERSION=${VERSION} \
  BUILD=${BUILD} REPO=${REPO} EMAIL=${EMAIL} \
  KEYDIR=${KEYDIR} USE_NEW=1

Reviewed stdout, win32_signing_build1.log.

make postsign PRODUCT=${PRODUCT} VERSION=${VERSION} \
    BUILD=${BUILD} REPO=${REPO} EMAIL=${EMAIL}

Got "Signature verification succeeded" email.

Updates

3.6* -> 3.6.8
Generation

No problems.

Update verify

linux failed

Using  https://aus2.mozilla.org/update/1/Firefox/3.6.7/20100713120425/Linux_x86-gcc3/ko/betatest/update.xml?force=1
21:43:02 URL:http://stage-old.mozilla.org/pub/mozilla.org/firefox/nightly/3.6.8-candidates/build1/update/linux-i686/ko/firefox-3.6.7-3.6.8.partial.mar [200535/200535] -> "update/partial.mar" [1]
21:58:04 URL:http://stage-old.mozilla.org/pub/mozilla.org//firefox/releases/3.6.7/linux-i686/ko/firefox-3.6.7.tar.bz2 [10368749/10368749] -> "firefox-3.6.7.tar.bz2.1" [2]
21:58:05 URL:http://stage-old.mozilla.org/pub/mozilla.org//firefox/nightly/3.6.8-candidates/build1/linux-i686/ko/firefox-3.6.8.tar.bz2 [10367950/10367950] -> "firefox-3.6.8.tar.bz2" [1]

bzip2: Compressed file ends unexpectedly;
	perhaps it is corrupted?  *Possible* reason follows.
bzip2: Inappropriate ioctl for device
	Input file = (stdin), output file = (stdout)

It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.

You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.

tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
cp: cannot stat `updater': No such file or directory

Purged squid cache:

#cltbld@bc-proxy01
/usr/sbin/squidclient -m purge http://stage-old.mozilla.org/pub/mozilla.org/firefox/nightly/3.6.8-candidates/build1/update/linux-i686/ko/firefox-3.6.7-3.6.8.partial.mar
/usr/sbin/squidclient -m purge http://stage-old.mozilla.org/pub/mozilla.org//firefox/releases/3.6.7/linux-i686/ko/firefox-3.6.7.tar.bz2
/usr/sbin/squidclient -m purge http://stage-old.mozilla.org/pub/mozilla.org//firefox/nightly/3.6.8-candidates/build1/linux-i686/ko/firefox-3.6.8.tar.bz2

linux_update_verify forced.


  • Mac failed. Removed "da" binaries from Squid's cache and reran again. PASS
  • win32: PASS
  • linux: PASS (second run)
3.0.19 -> 3.6.8 MU
Generation

on mv-moz2-linux-ix-slave23

mkdir -p /builds/slave/3.0.19-3.6.8-major-update/snippets
cd /builds/slave/3.0.19-3.6.8-major-update/snippets

cvs -d:ext:cltbld@cvs.mozilla.org:/cvsroot co -d patcher-configs mozilla/tools/patcher-configs
cvs -d:ext:cltbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R9 -d patcher mozilla/tools/patcher
cd patcher
cvs -d:ext:cltbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R9 -d MozBuild mozilla/tools/release/MozBuild

export CVSROOT=:ext:cltbld@cvs.mozilla.org:/cvsroot
# build tools
./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R9 --config=../patcher-configs/moz19-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox_build-tools.log

# download mars
./patcher2.pl --download --app=firefox --config=../patcher-configs/moz19-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox_download.log

# FIXME - patcher needs to see that the MARs that it thinks are partials
#             are there or else it will not attempt to generate patchinfo
cd temp/firefox
ln -s 3.6.8 3.0.19-3.6.8
cd ../..

# Create partial patches and snippets
./patcher2.pl --create-patches --app=firefox --config=../patcher-configs/moz19-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox-create-patches.log
Verification
cd /builds/slave/3.0.19-3.6.8-major-update/snippets/patcher/temp/firefox/3.0.19-3.6.8/

# releasetest == beta
find aus2.test -type d -iregex '.*/releasetest$' | perl -nle '$a = $_; $a =~ s/releasetest/beta/; $a =~ s/aus2\.test/aus2.beta/; system("diff -r -u $_ $a");'
find aus2.beta -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/beta$/releasetest/; $a =~ s/aus2\.beta/aus2.test/; system("diff -r -u $_ $a");'

# beta == release
find aus2.beta -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/aus2\.beta/aus2/; $a =~ s/beta/release/; system("diff -r -u $_ $a");'
find aus2 -type d -iregex '.*/release$' | perl -nle '$a = $_; $a =~ s/release$/beta/; $a =~ s/aus2/aus2.beta/; system("diff -r -u $_ $a");'
Push to AUS
cd /builds/slave/3.0.19-3.6.8-major-update/snippets/patcher/temp/firefox/3.0.19-3.6.8
rsync -av aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100723-Firefox-3.0.19-3.6.8-MU-test
rsync -av aus2.beta/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100723-Firefox-3.0.19-3.6.8-MU-beta
rsync -av aus2/      cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100723-Firefox-3.0.19-3.6.8-MU
Enable test snippets
# cltbld@aus2-staging
~/bin/backupsnip 20100723-Firefox-3.0.19-3.6.8-MU-test
~/bin/pushsnip   20100723-Firefox-3.0.19-3.6.8-MU-test
Verify

On mv-moz2-linux-ix-slave23, mw32-ix-slave04, bm-xserve19

mkdir -p /builds/slave/verify/firefox-3019-368-major/
cd /builds/slave/verify/firefox-3019-368-major/
hg clone http://hg.mozilla.org/build/tools
 
cd tools/release/updates
platform=linux   # or mac or win32
./verify.sh -c moz19-firefox-$platform-major.cfg 2>&1 | tee $platform.log
Results

Checked the logs carefully and found the same differences documented for 3.0.19 -> 3.6's major update.

3.5.11 -> 3.6.8 MU
Generation

On pm02

Landed patch. Forced MU builder.

Verification

All builders turned red due to missing mn locale dropped for 3.6. Inspected stdio output. All failures and changes are expected: (see 3.0.19 notes)

$ grep -h "\(Only in\|FAIL:\)" mac_mu_stdio.html linux_mu_stdio.html win32_mu_stdio.html|sort -u |grep -v /mn/ 
FAIL: download_mars returned non-zero exit code: 1
Only in source/bin: removed-files
Only in source/bin/searchplugins: iskalnik-gov-si.xml
Only in source/bin/searchplugins: najdi-si.xml
Only in source/bin/searchplugins: yahoo.xml
Only in source/Firefox.app/Contents/MacOS/searchplugins: iskalnik-gov-si.xml
Only in source/Firefox.app/Contents/MacOS/searchplugins: najdi-si.xml
Only in source/Firefox.app/Contents/MacOS/searchplugins: yahoo.xml
Only in source/Firefox.app/Contents: Plug-Ins
Only in source/firefox/searchplugins: iskalnik-gov-si.xml
Only in source/firefox/searchplugins: najdi-si.xml
Only in source/firefox/searchplugins: yahoo.xml
Only in source/bin: .autoreg

L10N Verification

All green. No differences on linux or windows; Mac has comment only differences /builds/slave <---> /builds/moz2_slave/.

Socorro product data updates

Added '3.6.8' and '3.6.9pre' to Socorro using admin page.

Update Bouncer

  • Added manually (including Solaris contrib).

Disable updates to 3.6.7

Drivers asked that we disable all updates to 3.6.7. Did so by committing this patch, tagging it as AUS2_PRODUCTION, and filing bug 581462 for IT to update AUS.

Virus Scan

# stage
cd /pub/mozilla.org/firefox/nightly/3.6.8-candidates/build1
clamdscan -m `pwd`
/pub/mozilla.org/firefox/nightly/3.6.8-candidates/build1: OK

----------- SCAN SUMMARY -----------
Infected files: 0
Time: 3300.309 sec (55 m 0 s)

Final checks before push

Did not hit (bug 580102) because they were originally created after the nightly clean-up jobs had run.

Then do the normal checks

# ffxbld@stage
cd /pub/mozilla.org/firefox/nightly/3.6.8-candidates/build1/
find . ! -user ffxbld 
find . ! -group firefox 
find . -type f ! -perm 644 
find . -mindepth 1 -type d ! -perm 755 ! -name 'contrib*'
find . -maxdepth 1 -type d ! -perm 2775  -name 'contrib*'

Files and dirs in unsigned/partner-repacks have 664 and 775 permissions respectively, so they fail those checks. That's OK because we're not going to push those files.

EU Ballot Build

Signed with:

PRODUCT=firefox
VERSION=3.6.8
BUILD=1
TAG=FIREFOX_3_6_8_RELEASE
REPO='releases/mozilla-1.9.2'
EMAIL=bhearsum@mozilla.com
KEYDIR=d:/2009-keys
cd ~/hg-tools
hg pull && hg up -r ${TAG}
#start signcode
mkdir -p ~/signing-work/${PRODUCT}-${VERSION}-repacks/partners
cd ~/signing-work/${PRODUCT}-${VERSION}-repacks/partners
cp ~/hg-tools/release/signing/* .
mkdir unsigned
scp cltbld@surf.mozilla.org:/tmp/euballot-368-unsigned.tar .
cd unsigned
tar xvf ../euballot-368-unsigned.tar
cd ..
make PRODUCT=${PRODUCT} VERSION=${VERSION} BUILD=${BUILD} TAG=${TAG} REPO=${REPO} EMAIL=${EMAIL} USE_NEW=1 setup
# This next step will fail to find the win32 log and/or xpis.
# This is expected.
cd unsigned
cd eu/ballot/win32
../../../signing/sign-release ${KEYDIR}
../../../signing/sign-files .
cd ../../..
mv unsigned signed
cd signed
tar -vcf ../euballot-368-signed.tar .
cd ..
scp euballot-368-signed.tar cltbld@stage.mozilla.org:/tmp

Staged with:

# ffxbld@stage
# get copy of signed tarball to /tmp/
mkdir /tmp/ffxbld
cd /tmp/ffxbld
tar xfv ../euballot-368-signed.tar
mv euballot/win32 win32-EUballot
mv -v win32-EUballot /pub/mozilla.org/firefox/nightly/3.6.8-candidates/build1/

Virus scanned with: (had to run this separately because they were staged after the original virus scan)

cd /pub/mozilla.org/firefox/nightly/3.6.8-candidates/build1/win32-EUballot
clamdscan -m `pwd`
/pub/mozilla.org/firefox/nightly/3.6.8-candidates/build1/win32-EUballot: OK

----------- SCAN SUMMARY -----------
Infected files: 0
Time: 63.364 sec (1 m 3 s)

Push to Mirrors

# ffxbld@stage
rsync -av --exclude=*.log --exclude=*.txt --exclude=*unsigned*   --exclude=*.crashreporter-symbols.zip --exclude=*.tests.tar.bz2*   --exclude=*partner-repacks*   /pub/mozilla.org/firefox/nightly/3.6.8-candidates/build1/   /pub/mozilla.org/firefox/releases/3.6.8/

Update cltbld@stage:/pub/mozilla.org/zz/rsyncd-mozilla-current.exclude to include 3.6.8 instead of 3.6.7.

Final Verification

Manually used "Force Build" to start final verify on pm.
Conditional PASS

  • Linux 'ja' complete failed because the bouncer entry for linux complete's was pointing to the mac dir
    • Fixed the bouncer entry, OK now.
  • Got 502 Bad Gateway errors from ankeena.mozilla.org
  • Got 504 Gateway Time-out errors from openaccess.oldapps.com
    • The two above errors are issues with the proxy on bc-proxy01 and not the mirrors themselves. Logs are like this:
Using  https://aus2.mozilla.org/update/1/Firefox/3.6.7/20100713120425/Linux_x86-gcc3/ar/releasetest/update.xml?force=1
Testing http://download.mozilla.org/?product=firefox-3.6.8-complete&os=linux&lang=ar&force=1
HTTP/1.0 302 Moved Temporarily
Date: Fri, 23 Jul 2010 19:20:41 GMT
Server: Apache
Set-Cookie: dmo=10.2.84.4.1279912841227109; path=/; expires=Sat, 23-Jul-11 19:20:41 GMT
X-Powered-By: PHP/5.1.6
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, private
Pragma: no-cache
Location: http://openaccess.oldapps.com/mozilla.org//firefox/releases/3.6.8/update/linux-i686/ar/firefox-3.6.8.complete.mar
X-Backend-Server: pm-app-dist03
Content-Type: text/html; charset=UTF-8
X-Cache: MISS from bc-proxy01.mozilla.org
X-Cache-Lookup: MISS from bc-proxy01.mozilla.org:3128
Via: 1.1 bc-proxy01.mozilla.org:3128 (squid/2.7.STABLE9)
Connection: close

HTTP/1.0 504 Gateway Time-out
Server: squid/2.7.STABLE9
Date: Fri, 23 Jul 2010 19:23:46 GMT
Content-Type: text/html
Content-Length: 1252
X-Squid-Error: ERR_CONNECT_FAIL 110
X-Cache: MISS from bc-proxy01.mozilla.org
X-Cache-Lookup: MISS from bc-proxy01.mozilla.org:3128
Via: 1.0 bc-proxy01.mozilla.org:3128 (squid/2.7.STABLE9)
Connection: close

Push Updates to release/beta channels

Backups, as cltbld@aus2-staging

cd /opt/aus2/snippets/staging
# Covers the release + beta channel for 3.6* -> 3.6.8
~/bin/backupsnip 20100722-Firefox-3.6.8
# In case we want to push MUs
~/bin/backupsnip 20100723-Firefox-3.0.19-3.6.8-MU
~/bin/backupsnip 20100723-Firefox-3.5.11-3.6.8-MU

Push 3.6* -> 3.6.8 release channel snippets:

~/bin/pushsnip 20100722-Firefox-3.6.8
~/bin/pushsnip 20100722-Firefox-3.6.8-beta

Reverted config-dist.php patch (done as rev 1.91), update AUS2_PRODUCTION tag, and poked justdave over IRC to update the AUS servers.

MUs pushed:

~/bin/pushsnip 20100723-Firefox-3.0.19-3.6.8-MU
~/bin/pushsnip 20100723-Firefox-3.5.11-3.6.8-MU
~/bin/pushsnip 20100723-Firefox-3.0.19-3.6.8-MU-beta
~/bin/pushsnip 20100723-Firefox-3.5.11-3.6.8-MU-beta

Release

As ffxbld@stage:

cd /home/ftp/pub/firefox/releases
rm latest-3.6 && ln -s 3.6.8 latest-3.6

Sent the following mail to metrics@mozilla.com:

Firefox,firefox,firefox,3.6.8,3.6
Firefox,firefox,firefox,3.6.9pre,3.6

Push EU Ballot build

Filed bug 581552.

Push XulRunner to mirrors

# xrbld@stage
rsync -av --exclude=*.txt --exclude=*unsigned*  --exclude=*-symbols.zip \
  /pub/mozilla.org/xulrunner/nightly/1.9.2.8-candidates/build1/ \
  /pub/mozilla.org/xulrunner/releases/1.9.2.8/

Edited cltbld@stage:/pub/mozilla.org/zz/rsyncd-mozilla-releases.exclude and added

- xulrunner/releases/1.9.2.7
Update XulRunner wiki

Update the links in these two wiki pages for the version change. NOTE: make sure to update all the links on the page!!!