Skip to content
This repository has been archived by the owner on Dec 20, 2019. It is now read-only.

Use new dump_syms #2

Merged
merged 15 commits into from
Nov 12, 2019
Merged

Use new dump_syms #2

merged 15 commits into from
Nov 12, 2019

Conversation

calixteman
Copy link
Collaborator

I rewrote the file: symsrv-fetch.py:

  • to use new dump_syms
  • use asyncio to make things faster
  • according to my local tests (with my Z4 desktop machine): the total time is around 2 minutes for around 130 generated sym files (where it seems that the previous version generates around 40 files).

@gabrielesvelto don't hesitate to comment here if you see something wrong.
To run it locally (to be adapted):

pip install -r requirements.txt
python3 symsrv-fetch.py --dump-syms /home/calixte/dev/mozilla/dump_syms.calixteman/target/release/dump_syms foo.zip

@gabrielesvelto, please have a look at the generated foo.zip to see if everything is ok.

Dockerfile Outdated Show resolved Hide resolved
Dockerfile Outdated Show resolved Hide resolved
Dockerfile Outdated Show resolved Hide resolved
Dockerfile Outdated Show resolved Hide resolved
@marco-c
Copy link
Owner

marco-c commented Nov 8, 2019

If skiplist.txt is going to be a Taskcluster artifact that we download at the beginning, we could avoid adding an empty one in the repo itself

@marco-c
Copy link
Owner

marco-c commented Nov 8, 2019

(I've reviewed all files except the main one, symsrv-fetch.py, which I will review as soon as I get the chance)

@calixteman
Copy link
Collaborator Author

skiplist in fact was not used. I just let it for legacy and as a reminder that we've maybe something to do.
Anyway it isn't easy to guess what to put here.
Maybe we should do some stats on the pdb name and if there 100 failures and 0 success (for different debug_id) then we can guess that's unecessary to try it.

symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
requirements.txt Outdated Show resolved Hide resolved
@marco-c
Copy link
Owner

marco-c commented Nov 9, 2019

Another possible improvement could be to start parsing right after you fetch, instead of fetching all and then parsing all. I think we can file this as a follow-up though, as it'd be a larger change and not really worth it given the already short duration of the task you achieved.

@gabrielesvelto
Copy link
Collaborator

@gabrielesvelto, please have a look at the generated foo.zip to see if everything is ok.

My Python-fu is weak and my Docker knowledge is nil, but I'm testing locally to see if the output looks sane. It will take a minute because Gentoo currently defaults to Python 3.6 and this needs 3.7 to run.

@calixteman
Copy link
Collaborator Author

@gabrielesvelto, please have a look at the generated foo.zip to see if everything is ok.

My Python-fu is weak and my Docker knowledge is nil, but I'm testing locally to see if the output looks sane. It will take a minute because Gentoo currently defaults to Python 3.6 and this needs 3.7 to run.

To test locally:

  • modify Dockerfile: uncomment ADD . /home/user
  • build it: "docker build -t bpw ."
  • run it: "docker run -it bpw /bin/bash"
  • run the tool (in the bash from docker): "./run.sh"
  • in a normal bash (yours): "docker ps -a" and copy the container id for image called bpw
  • when the run.sh has finished (don't exit container) and then in your normal bash: "docker cp YOUR_CONTAINER_ID:/home/user/artifacts/target.crashreporter-symbols.zip /tmp"

Dockerfile Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
symsrv-fetch.py Outdated Show resolved Hide resolved
@marco-c marco-c merged commit 583ead4 into marco-c:master Nov 12, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants