Open Bug 1919892 Opened 1 year ago Updated 1 day ago

Swallowed Exception during decompression of ffmpeg if python compiled without lzma support

Categories

(Testing :: Performance, defect, P3)

defect

Tracking

(Not tracked)

People

(Reporter: mgaudet, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [fxp])

Running ./mach browsertime --setup --clobber, if you are like me and installed Python 3.11 with pyenv because you had Python 3.12 installed, will fail if you don't have liblzma-dev installed (ubuntu), because python doesn't have liblzma support, and decompressing the ffmpeg package fails.

Unfortunately, none of the errors tell you this.

matthew@ZenTower:~/unified-git$ ./mach browsertime --setup --clobber
 0:00.19 [INFO] This command should be used for browsertime setup only.
If you are looking to run performance tests on your patch, use `./mach raptor --browsertime` instead.

You can get visual-metrics by using the --browsertime-video and --browsertime-visualmetrics. Here is a sample command for raptor-browsertime: 
	`./mach raptor --browsertime -t amazon --browsertime-video --browsertime-visualmetrics`

See this wiki page for more information if needed: https://wiki.mozilla.org/TestEngineering/Performance/Raptor/Browsertime


 0:05.20 Using artifact from local cache: /home/matthew/.mozbuild/cache/browsertime/2e82796d80fdc5f6-ffmpeg-4.4.1-i686-static.tar.xz
 0:05.20 Unpacking temporary location /home/matthew/.mozbuild/cache/browsertime/2e82796d80fdc5f6-ffmpeg-4.4.1-i686-static.tar.xz
Error running mach:

    mach browsertime --setup --clobber

The error occurred in the implementation of the invoked mach command.

This should never occur and is likely a bug in the implementation of that
command.
You can invoke ``./mach busted`` to check if this issue is already on file. If it
isn't, please use ``./mach busted file browsertime`` to report it. If ``./mach busted`` is
misbehaving, you can also inspect the dependencies of bug 1543241.

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

Exception: Cannot find an extracted directory: /home/matthew/.mozbuild/browsertime/ffmpeg-4.4.1-i686-static

  File "/home/matthew/unified-git/tools/browsertime/mach_commands.py", line 671, in browsertime
    return setup_browsertime(
           ^^^^^^^^^^^^^^^^^^
  File "/home/matthew/unified-git/tools/browsertime/mach_commands.py", line 283, in setup_browsertime
    setup_prerequisites(command_context)
  File "/home/matthew/unified-git/tools/browsertime/mach_commands.py", line 249, in setup_prerequisites
    raise Exception("Cannot find an extracted directory: %s" % path)

Sentry event ID: 51814d190dfa4417ab608ee2aae0ae15
Sentry is attempting to send 0 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit

(Notably a raptor run later will fail without bz2 support too, but that one at least tells you it needs bz2 support)

Whiteboard: [fxp]

The severity field is not set for this bug.
:afinder, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(afinder)
Severity: -- → S3
Flags: needinfo?(afinder)
Severity: S3 → S2
Priority: -- → P2

:mgaudet thanks for finding this! did you end up fixing this on your side?

from a quick search seems like a known occurence in pyenv.
https://github.com/pyenv/pyenv/issues?q=lzma

The link provided in the solution in https://github.com/pyenv/pyenv/issues/3071 leads here https://github.com/pyenv/pyenv/wiki#suggested-build-environment

which might help?

Flags: needinfo?(mgaudet)

Oh yeah, I fixed it locally -- the issue here is mostly that the error is not really possible to figure out without reading the code.

Flags: needinfo?(mgaudet)
Priority: P2 → P3
You need to log in before you can comment on or make changes to this bug.