Closed Bug 362970 Opened 15 years ago Closed 15 years ago

Tinderbox changes to upload airbag symbols

Categories

(Webtools Graveyard :: Tinderbox, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ted, Assigned: ted)

References

Details

Attachments

(1 file)

We need some minor changes to the tinderbox scripts, and some changes to tinderbox configuration to get tinderboxes uploading airbag symbols.

There should be a config option to upload symbols, and it should run |make splitsymbols| like we do with talkback, and also |make uploadsymbols|.

In addition, we need to set the environment variables here:
http://lxr.mozilla.org/mozilla/source/toolkit/airbag/tools/upload_symbols.sh#40
to specify the server to upload to, the username, and the remote path.
And also to make sure that each hourly build doesn't save symbols in $DIST/airbag-symbols/$BUILDID. That caused full disk problems on fx-win32-tbox overnight.
From what I read in post-mozilla-rel.pl, |make deliver| gets run regardless of whether we're actually uploading the symbols.  Is there something else that talkback does that I'm missing?

http://lxr.mozilla.org/mozilla/source/tools/tinderbox/post-mozilla-rel.pl#222
(In reply to comment #2)
> From what I read in post-mozilla-rel.pl, |make deliver| gets run regardless of
> whether we're actually uploading the symbols.  Is there something else that
> talkback does that I'm missing?
> 
> http://lxr.mozilla.org/mozilla/source/tools/tinderbox/post-mozilla-rel.pl#222

Hrm. So, this looks like the sequence of events to me:

* MOZ_DEBUG_SYMBOLS set by Tinderbox, but only for non-hourly build (ReleaseBuild is set):
http://lxr.mozilla.org/mozilla/source/tools/tinderbox/build-seamonkey-util.pl#430

* "make deliver" called at end of build, which calls "splitsymbols". The Airbag portion should only be called if MOZ_DEBUG_SYMBOLS is set:

http://lxr.mozilla.org/mozilla/source/Makefile.in#122

What am I missing here?
Tinderbox changes + some small build system changes.  I moved the airbag symbol store generation logic into its own makefile target, since |make splitsymbols| gets called for every hourly build.  The airbag stuff is now in |buildsymbols|, with the upload still in |uploadsymbols|.  Added a tinderbox setting, |airbag_pushsymbols|, that controls building and uploading the symbols.  IF it is set, and a release build was done, then build and upload the airbag symbols.

I also changed the airbag symbol store build to place the symbols in $(topsrcdir)/../$BUILDID, in a .tar.bz2.  The upload_symbols script now just takes that archive as its only parameter.

I successfully ran a build with all of this in place, the build is at http://ted.mielczarek.org/code/mozilla/firefox/nightly/2007-01-07-16-trunk/ and the symbols are at http://mavra.perilith.com/~luser/airbag-symbols/ (along with a bunch of symbols from older builds).
Assignee: build → ted.mielczarek
Status: NEW → ASSIGNED
Attachment #250792 - Flags: review?(preed)
No longer depends on: 358302
Comment on attachment 250792 [details] [diff] [review]
allow tinderbox to generate and upload airbag symbols

Looks good; I'm a fan of using -exec over xargs, due to quoting issues, but that's because files with spaces in them hate me.

r=preed.
Attachment #250792 - Flags: review?(preed) → review+
Yeah, if I wasn't doing a sed on the results that would work.  Also, FYI, find -print0 | xargs -0 handles files with spaces too.  The build_symbol_store script can handle multiple args on the cmdline, so it's nice to save on invocations of perl.  Thanks!
Fixed on trunk.
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Comment on attachment 250792 [details] [diff] [review]
allow tinderbox to generate and upload airbag symbols

> 
>+buildsymbols:
>+ifdef MOZ_DEBUG_SYMBOLS
>+ifdef MOZ_AIRBAG
>+	echo building airbag symbol store
>+	mkdir -p $(DIST)/airbag-symbols/$(BUILDID)
>+	/bin/find . -path "./dist" -prune -o -name "*.exe"                \
>+          -o -name "*.dll" -o -name "*.EXE" | sed "s/\.[^\.]*$$/\.pdb/" | \

I wonder if the $$ is correct? It only works for me if I remove one $
Wolfgang: this patch works for me, are you saying that |make buildsymbols| fails for you, or that copying that command to the commandline fails for you?
You are right. I forgot about Makefile escaping. Sorry for the spam.
Component: Tinderbox Configuration → Tinderbox
Product: mozilla.org → Webtools
Product: Webtools → Webtools Graveyard
You need to log in before you can comment on or make changes to this bug.