Closed
Bug 401202
Opened 17 years ago
Closed 16 years ago
upload Talkback symbols from 2.0.0.x release builds to symbol server
Categories
(Release Engineering :: General, defect, P2)
Release Engineering
General
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: joduinn, Assigned: nthomas)
References
Details
Attachments
(6 files, 3 obsolete files)
88.00 KB,
application/octet-stream
|
damons
:
approval1.9+
|
Details |
6.88 KB,
patch
|
rhelmer
:
review+
|
Details | Diff | Splinter Review |
498 bytes,
patch
|
rhelmer
:
review+
|
Details | Diff | Splinter Review |
739 bytes,
patch
|
Details | Diff | Splinter Review | |
1008 bytes,
patch
|
rhelmer
:
review+
|
Details | Diff | Splinter Review |
922 bytes,
patch
|
rhelmer
:
review+
|
Details | Diff | Splinter Review |
taken from emails: We been doing this manually since we setup the symbol server. We put FF200x symbols up there just because it was helpful to people, and it wasn't a huge effort. Apparently that's gone from "nice to have" to "necessary" for some people. [snip] On trunk this happens automatically as part of the Breakpad symbol upload. We could easily automate this if we wanted, [snip] but we need to ensure that it doesn't duplicate the work on trunk builds.
Reporter | ||
Comment 1•17 years ago
|
||
It's definitely something we should look into automating, given there's likely 9 months of support for 200x ahead of us. Whether that's part of Bootstrap or not is interesting - there are requirements below that aren't part of our current setup. Ted also has a bug open on getting access to the symbols on the Talkback server, so presumably he has another plan in mind. The steps go something like this (substitute the BuildID for your build): First copy the symbols from the tbox that made the build to stage 1, Connect to production-pacifica-vm 2, cd /cygdrive/c/builds/tinderbox/Fx-Mozilla1.8-release/WINNT_5.2_Depend 3, cd 2007100816/symbols 4, scp 2007100816.tar.bz2 cltbld@stage.mozilla.org:/tmp/firefox-2008-symbols.tar.bz2 For the next bit you need a windows box running MSYS (dump_syms didn't want to run on Cygwin). I used fx-win32-tbox as I don't have a MSYS setup yet, plus it's at the colo and has helpful ssh keys. 5, connect to your MSYS box 6, make a working dir with no spaces in the path, and cd into it (I used /c/tmp/) 7, scp cltbld@stage.mozilla.org:/tmp/firefox-2008-symbols.tar.bz2 . (substitute your account on stage if necessary) 8, tar xfjv firefox-2008-symbols.tar.bz2 9, cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d code mozilla/toolkit/crashreporter/tools/ (substitute your cvs account as req'd) 10, mkdir symbols 11, find 2007100816/ -name "*.pdb" | xargs code/symbolstore.py -c ./code/win32/dump_syms.exe ./symbols > ./ symbols/firefox-2.0.0.8-symbols.txt (this will think for a minute or three, with no output) You should get a symbols dir that looks something like: AccessibleMarshal.pdb/ AccessibleMarshal.pdb/470AC9B02/ AccessibleMarshal.pdb/470AC9B02/AccessibleMarshal.pdb AccessibleMarshal.pdb/470AC9B02/AccessibleMarshal.sym GetShortPathName.pdb/ GetShortPathName.pdb/470ACA892/ GetShortPathName.pdb/470ACA892/GetShortPathName.pdb GetShortPathName.pdb/470ACA892/GetShortPathName.sym ds32.pdb/ ds32.pdb/470ACA882/ ds32.pdb/470ACA882/ds32.pdb ds32.pdb/470ACA882/ds32.sym firefox-2.0.0.8-symbols.txt firefox.pdb/ firefox.pdb/470ACC241/ firefox.pdb/470ACC241/firefox.pdb firefox.pdb/470ACC241/firefox.sym ... The second level directory names will change with each compilation; total size is about 120MB. Now we get these files back onto stage: 12, cd symbols; tar cfjv ../firefox-2008-symbols-processed.tar.bz2 . 13, scp ../firefox-2008-symbols-processed.tar.bz2 cltbld@stage.mozilla.org:/tmp/ And publish them .. 14, connect to stage with your own account, sudo su - ffxbld (symbols should be owned by ffxbld) 15, cd /tmp; mkdir symbols; cd symbols 16, tar xfjv ../firefox-2008-symbols-processed.tar.bz2 [ I also switched to root to change the group on the files to ffxbld too, dunno if this is impt but it matches exsting files ] 17, rsync -nav . /mnt/netapp/breakpad/symbols_ffx/ 18, verify output of 17 19, rsync -av . /mnt/netapp/breakpad/symbols_ffx/ 20, tidy up * Remove firefox-2008-symbols* from stage.m.o:/tmp * Remove working dir from fx-win32-tbox
Priority: -- → P3
Reporter | ||
Updated•17 years ago
|
Blocks: end2end-bld
Assignee | ||
Comment 2•17 years ago
|
||
Fx2009 was done manually. 11, should be: find 2007100816/ -name "*.pdb" | xargs code/symbolstore.py -c ./code/win32/dump_syms.exe ./symbols > ./ symbols/firefox-2.0.0.8-WINNT-2007100816-symbols.txt to match what Ted did originally. This file would be used to clean up old symbols.
Summary: upload symbols from release builds to symbol server → upload Talkback symbols from 2.0.0.x release builds to symbol server
Comment 3•17 years ago
|
||
Just realized today that we left out one extra step here, run as ffxbld in the symbols_ffx dir: cat firefox-2.0.0.9-symbols.txt | perl -F'/' -ane 'system "ln -s $F[1] $F[0]/".lc($F[1])' This is needed to make this work in Visual Studio, since it and WinDBG disagree on what case the identifier should be for VC6 produced PDB files.
Assignee | ||
Comment 4•17 years ago
|
||
I found the txt file had two lines for each binary, one each for a sym and pdb, and ln subsequently made links like # good create symbolic link `AccessibleMarshal.pdb/4721168b2' to `4721168B2' # not good create symbolic link `AccessibleMarshal.pdb/4721168b2/4721168B2' to `4721168B2' So a slightly different command was needed: grep sym firefox-2.0.0.9-WINNT-2007102514-symbols.txt | perl -F'/' -ane 'system "ln -vs $F[1] $F[0]/".lc($F[1])'
Assignee | ||
Comment 6•17 years ago
|
||
I'll get the FF2.0.0.11 symbols, and work on an automation patch for this.
Assignee: nobody → nrthomas
Priority: P3 → P2
Assignee | ||
Comment 7•17 years ago
|
||
(In reply to comment #6) > I'll get the FF2.0.0.11 symbols This is now done. Patch in progress.
Assignee | ||
Comment 8•17 years ago
|
||
The version of dump_syms.exe checked in at mozilla/toolkit/crashreporter/tools/win32/ depends on the VC8 runtime dll's, so it doesn't run on older tinderboxes that make Talkback symbols. Ted made this static version for me on Dec 11, and IIRC, said it should be checked in as a replacement. Should I go ahead and do that ? Any testing req'd first ? What about approval ?
Comment 9•17 years ago
|
||
r=me to check it in, but you'll probably need approval, since it will affect the Firefox build. It shouldn't change anything though.
Assignee | ||
Comment 10•17 years ago
|
||
Comment on attachment 299762 [details]
static dump_syms.exe [checked in]
Requesting approval to land this build tool. Any bustage would affect Win32 breakpad symbols/crash reports for nightlies only. It's not urgent, and could land after b3 is done.
Attachment #299762 -
Flags: approval1.9?
Assignee | ||
Comment 11•17 years ago
|
||
(In reply to comment #10) It would of course hit release builds too, but we'd notice before then. In other news, 2.0.0.12rc1 symbols are uploaded and automation patch is well in hand. Just need to figure out how to handle the symlinking in comment #4, given that win32 doesn't care about case and only some commands are available in the new staging setup.
Whiteboard: patch in progress
Assignee | ||
Comment 12•17 years ago
|
||
Can we use something like mod_speling to make the d/l requests be handled in a case insensitive way ? Would that impact on Breakpad symbols at all ?
Comment 13•17 years ago
|
||
Breakpad just hits the disk directly, HTTP access is purely for the symbol server, so making them accessible case-insensitively via HTTP should work fine.
Assignee | ||
Comment 14•17 years ago
|
||
testcase: http://symbols.mozilla.org/firefox/xpt_link.pdb/470ac3db2/xpt_link.sym This from an older Firefox release and doesn't have a symlink already set up, so it's currently a 404.
Updated•17 years ago
|
Attachment #299762 -
Flags: approval1.9? → approval1.9+
Comment 15•17 years ago
|
||
Due to the fact that the freeze is tonight for beta 3, I'd prefer holding off on this till after the beta. I'll approve this, but please don't check in till after. a1.9+=damons
Assignee | ||
Comment 16•17 years ago
|
||
* we're pulling the symbols tools from the trunk, rather than a tag. Worth creating another tag for this ?
* attachment 299762 [details] should be checked in before this patch will work, waiting on the tree to reopen for that
* I've enabled this for staging too, pushing to /data/symbols. Looks like we're pushing Talkback symbols there too (but the directories are empty!). Need to follow up with cleanup changes for 1.8, and we need to do the same for trunk's Breakpad symbols
* this has been tested on production-prometheus-vm
Attachment #301008 -
Flags: review?(rhelmer)
Assignee | ||
Comment 17•16 years ago
|
||
1.9 staging pushes Breakpad symbols to /data/symbols on its master, and with attachment 301008 [details] [diff] [review] we'll be pushing them for 1.8 too. This should prevent them building up.
Attachment #301689 -
Flags: review?(rhelmer)
Comment 18•16 years ago
|
||
Comment on attachment 299762 [details]
static dump_syms.exe [checked in]
Checked in on trunk.
Attachment #299762 -
Attachment description: static dump_syms.exe → static dump_syms.exe [checked in]
Comment 19•16 years ago
|
||
Comment on attachment 301689 [details] [diff] [review] [checked in] Prevent build up of symbols on the staging server Hmm.. I think the reason I didn't do it this way (at least on 1.8) is that it's a "symbols" user and cltbld can't remove this dir. on staging-1.8-master there is a cronjob for the symbols user: 5 0 * * * find /data/symbols/ | xargs rm Will this work in that case? I guess we could dispense with the "symbols" and use cltbld for this on staging..
Updated•16 years ago
|
Attachment #301008 -
Flags: review?(rhelmer) → review+
Comment 20•16 years ago
|
||
Comment on attachment 301689 [details] [diff] [review] [checked in] Prevent build up of symbols on the staging server Disregard previous comment; I looked at these patches in reverse order, didn't see what this was for :)
Attachment #301689 -
Flags: review?(rhelmer) → review+
Assignee | ||
Comment 21•16 years ago
|
||
Comment on attachment 301008 [details] [diff] [review] [checked in] Process and push Talkback symbols after the build Checking in Bootstrap/Step/Build.pm; /cvsroot/mozilla/tools/release/Bootstrap/Step/Build.pm,v <-- Build.pm new revision: 1.25; previous revision: 1.24 done Checking in configs/fx-moz18-bootstrap.cfg; /cvsroot/mozilla/tools/release/configs/fx-moz18-bootstrap.cfg,v <-- fx-moz18-bootstrap.cfg new revision: 1.34; previous revision: 1.33 done Checking in configs/fx-moz18-staging-bootstrap.cfg; /cvsroot/mozilla/tools/release/configs/fx-moz18-staging-bootstrap.cfg,v <-- fx-moz18-staging-bootstrap.cfg new revision: 1.15; previous revision: 1.14 done
Attachment #301008 -
Attachment description: Process and push Talkback symbols after the build → [checked in] Process and push Talkback symbols after the build
Assignee | ||
Comment 22•16 years ago
|
||
Comment on attachment 301689 [details] [diff] [review] [checked in] Prevent build up of symbols on the staging server Checking in Makefile; /cvsroot/mozilla/tools/release/Makefile,v <-- Makefile new revision: 1.25; previous revision: 1.24 done
Attachment #301689 -
Attachment description: Prevent build up of symbols on the staging server → [checked in] Prevent build up of symbols on the staging server
Assignee | ||
Comment 23•16 years ago
|
||
Fixed, bar any shake out required for the staging setup.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Whiteboard: patch in progress
Comment 24•16 years ago
|
||
Attachment #302894 -
Flags: review?(nrthomas)
Assignee | ||
Comment 25•16 years ago
|
||
Comment on attachment 302894 [details] [diff] [review] fix up nightly config too the more the merrier, but don't forget to add symbolDir = /builds/symbols on checkin.
Attachment #302894 -
Flags: review?(nrthomas) → review+
Comment 26•16 years ago
|
||
Checking in fx-moz18-nightly-bootstrap.cfg; /cvsroot/mozilla/tools/release/configs/fx-moz18-nightly-bootstrap.cfg,v <-- fx-moz18-nightly-bootstrap.cfg new revision: 1.5; previous revision: 1.4 done
Attachment #302894 -
Attachment is obsolete: true
Assignee | ||
Comment 27•16 years ago
|
||
This patch doesn't handle nighlties off the automation very well, complaining that "/builds/symbols/firefox-nightly/rc1 already exists".
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 28•16 years ago
|
||
Something like this should work, but needs testing.
Assignee | ||
Comment 29•16 years ago
|
||
Comment on attachment 303583 [details] [diff] [review] Test for a symbol archive before really getting started Rob pointed out that this will still fail, because GetBuildID looks for a string that only appears when generating a complete update. There are plenty of other places in the build log we could get the buildid from, lets just disable pushing talkback symbols to the symbol server for hourlies & nightlies.
Attachment #303583 -
Attachment is obsolete: true
Assignee | ||
Comment 30•16 years ago
|
||
I'm going to go ahead an commit this simple change, to unbreak the staging version of 1.8 win32 nightlies. Looking for retro-spective review.
Attachment #304021 -
Flags: review?(rhelmer)
Assignee | ||
Comment 31•16 years ago
|
||
Comment on attachment 304021 [details] [diff] [review] [checked in] Disable Talkback symbol push for nightlies Checking in Bootstrap/Step/Build.pm; /cvsroot/mozilla/tools/release/Bootstrap/Step/Build.pm,v <-- Build.pm new revision: 1.26; previous revision: 1.25 done
Attachment #304021 -
Attachment description: Disable Talkback symbol push for nightlies → [checked in] Disable Talkback symbol push for nightlies
Assignee | ||
Comment 32•16 years ago
|
||
Could have sworn I ran perl -c on this, but apparently not. This is the diff between rev 1.25 (before the original checkin), and rev 1.27 (after the fix).
Attachment #304021 -
Attachment is obsolete: true
Attachment #304023 -
Flags: review?(rhelmer)
Attachment #304021 -
Flags: review?(rhelmer)
Assignee | ||
Updated•16 years ago
|
Whiteboard: waiting for review
Updated•16 years ago
|
Attachment #304023 -
Flags: review?(rhelmer) → review+
Assignee | ||
Updated•16 years ago
|
Status: REOPENED → RESOLVED
Closed: 16 years ago → 16 years ago
Resolution: --- → FIXED
Whiteboard: waiting for review
Assignee | ||
Comment 33•16 years ago
|
||
The prestage factories for each slave call |make clean_stage|, and that's also used for the master. The new rm on /builds/symbols/* is for the slave, the existing one on /data/symbols for the master. Sorry I missed this.
Attachment #306554 -
Flags: review?(rhelmer)
Comment 34•16 years ago
|
||
Comment on attachment 306554 [details] [diff] [review] Clean up the symbols on the slaves >Index: Makefile >=================================================================== >RCS file: /cvsroot/mozilla/tools/release/Makefile,v >retrieving revision 1.25 >diff -U10 -r1.25 Makefile >--- Makefile 12 Feb 2008 12:11:31 -0000 1.25 >+++ Makefile 29 Feb 2008 19:20:30 -0000 >@@ -65,20 +65,21 @@ > chgrp -R cvs /builds/cvsmirror.clean/mofo > chmod g+rwx /builds/cvsmirror.clean/mofo > chmod -R g+rw /builds/cvsmirror.clean/mofo > > clean_stage: clean_logs > rm -rf /builds/config/* > rm -rf /builds/tags/* > rm -rf /builds/release/logs/* > rm -rf /builds/updates/* > rm -rf /builds/verify/* >+ rm -rf /builds/symbols/* > rm -rf /data/cltbld/${PRODUCT}-*/ > rm -rf /data/symbols/* > rm -rf /home/ftp/pub/${PRODUCT}/* Make needs tab not spaces for the new instruction. r=me with that fixed.
Attachment #306554 -
Flags: review?(rhelmer) → review+
Assignee | ||
Comment 35•16 years ago
|
||
Landed with a tab, Checking in Makefile; /cvsroot/mozilla/tools/release/Makefile,v <-- Makefile new revision: 1.26; previous revision: 1.25 done
Updated•11 years ago
|
Product: mozilla.org → Release Engineering
You need to log in
before you can comment on or make changes to this bug.
Description
•