Closed Bug 1504550 Opened 2 years ago Closed 2 years ago

error running ./mach wpt --debugger rr --headless --no-manifest-update

Categories

(Firefox Build System :: Mach Core, enhancement)

enhancement
Not set
normal

Tracking

(firefox65 fixed)

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: valentin, Assigned: egao)

References

Details

Attachments

(1 file)

:~/mozilla-central$ ./mach wpt --debugger rr --headless --no-manifest-update testing/web-platform/tests/resource-timing/resource_initiator_types.html 
Error running mach:

    ['wpt', '--debugger', 'rr', '--headless', '--no-manifest-update', 'testing/web-platform/tests/resource-timing/resource_initiator_types.html']

The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.

You should consider filing a bug for this issue.

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

The details of the failure are as follows:

AssertionError: []

  File "/home/icecold/mozilla-central/testing/web-platform/mach_commands.py", line 367, in run_wpt
    return self.run_web_platform_tests(**params)
  File "/home/icecold/mozilla-central/testing/web-platform/mach_commands.py", line 360, in run_web_platform_tests
    return wpt_runner.run(logger, **params)
  File "/home/icecold/mozilla-central/testing/web-platform/mach_commands_base.py", line 31, in run
    kwargs = self.setup.kwargs_firefox(kwargs)
  File "/home/icecold/mozilla-central/testing/web-platform/mach_commands.py", line 101, in kwargs_firefox
    kwargs = wptcommandline.check_args(kwargs)
  File "/home/icecold/mozilla-central/testing/web-platform/tests/tools/wptrunner/wptrunner/wptcommandline.py", line 429, in check_args
    set_from_config(kwargs)
  File "/home/icecold/mozilla-central/testing/web-platform/tests/tools/wptrunner/wptrunner/wptcommandline.py", line 328, in set_from_config
    kwargs["config"] = config.read(kwargs["config_path"])
  File "/home/icecold/mozilla-central/testing/web-platform/tests/tools/wptrunner/wptrunner/config.py", line 25, in read
    assert config_path in success, success

It used to work an m-c a few days ago.
Also:

:~/mozilla-central$ ./mach test --debugger rr --headless --no-manifest-update testing/web-platform/tests/resource-timing/resource_initiator_types.html 
Error running mach:

    ['test', '--debugger', 'rr', '--headless', '--no-manifest-update', 'testing/web-platform/tests/resource-timing/resource_initiator_types.html']

The error occurred in mach itself. This is likely a bug in mach itself or a
fundamental problem with a loaded module.

Please consider filing a bug against mach by going to the URL:

    https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20Build%20System&component=Mach%20Core


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

The details of the failure are as follows:

IndexError: list index out of range

  File "/home/icecold/mozilla-central/python/mach/mach/main.py", line 359, in run
    return self._run(argv)
  File "/home/icecold/mozilla-central/python/mach/mach/main.py", line 487, in _run
    debugger = [ea.split("=")[1] for ea in extra_args if "debugger" in ea]
Minimal reproduce steps:

(python27_development) egao-44538:mozilla-central egao$ ./mach test --debugger rr
Error running mach:

    ['test', '--debugger', 'rr']

IndexError: list index out of range

  File "/Users/egao/src/mozilla-central/python/mach/mach/main.py", line 359, in run
    return self._run(argv)
  File "/Users/egao/src/mozilla-central/python/mach/mach/main.py", line 487, in _run
    debugger = [ea.split("=")[1] for ea in extra_args if "debugger" in ea]


Prior to the change made by me in Bug 1305695:

(python27_development) egao-44538:mozilla-central egao$ ./mach wpt --debugger ls --headless --no-manifest-update testing/web-platform/tests/resource-timing/resource_initiator_types.html
 0:00.53 adb INFO Using adb 1.0.40
 0:00.76 adb INFO adbd running as root
 0:00.98 adb INFO su 0 supported
 0:01.19 adb INFO /system/bin/ls -1A supported
 0:01.30 adb INFO Native cp support: True
 0:01.41 adb INFO Native chmod -R support: True
 0:01.51 adb INFO Native chown -R support: True
 0:01.62 adb INFO Setting SELinux Permissive
Granting important runtime permissions to org.mozilla.fennec_egao
Error running mach:

    ['wpt', '--debugger', 'ls', '--headless', '--no-manifest-update', 'testing/web-platform/tests/resource-timing/resource_initiator_types.html']

The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.

You should consider filing a bug for this issue.

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

The details of the failure are as follows:

AssertionError: []

  File "/Users/egao/src/mozilla-central/testing/web-platform/mach_commands.py", line 367, in run_wpt
    return self.run_web_platform_tests(**params)
  File "/Users/egao/src/mozilla-central/testing/web-platform/mach_commands.py", line 360, in run_web_platform_tests
    return wpt_runner.run(logger, **params)
  File "/Users/egao/src/mozilla-central/testing/web-platform/mach_commands_base.py", line 34, in run
    kwargs = wptcommandline.check_args(self.setup.kwargs_common(kwargs))
  File "/Users/egao/src/mozilla-central/testing/web-platform/tests/tools/wptrunner/wptrunner/wptcommandline.py", line 429, in check_args
    set_from_config(kwargs)
  File "/Users/egao/src/mozilla-central/testing/web-platform/tests/tools/wptrunner/wptrunner/wptcommandline.py", line 328, in set_from_config
    kwargs["config"] = config.read(kwargs["config_path"])
  File "/Users/egao/src/mozilla-central/testing/web-platform/tests/tools/wptrunner/wptrunner/config.py", line 25, in read
    assert config_path in success, success


From my testing, prior implementation still required the use of = delimiter to specify the debugger. This change just made it more apparent. I'd vote to have this closed as a non-issue.
(In reply to Edwin Gao ( :egao [UTC+9] ) from comment #2) 
> From my testing, prior implementation still required the use of = delimiter
> to specify the debugger. This change just made it more apparent. I'd vote to
> have this closed as a non-issue.

Requiring the = is fine. But that should be obvious, and should not "crash" mach.
:valentin

I made some changes for the issue mentioned in Comment 1, where mach complains of the IndexError.

The IndexError was indeed due to the --debugger argument requiring the = operator. If the command was run with --debugger argument without the = operator, it would fail.

With the changes, the following command:

['test', '--debugger', 'rr', '--headless', '--no-manifest-update', 'testing/web-platform/tests/resource-timing/resource_initiator_types.html']

should now fail gracefully with an error message and exit code of 1 instead of invoking the mach bug reporting code path.

----

For the issue described in original bug description, I've stepped through mach with a debugger. Mach successfully executed the required steps in python/mach/mach/main.py from lines 478. Issue also appears to be only reproducible if MOZCONFIG specifies an Android build, at least in my testing.

----

Build Try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=f9da3ee492caa4cd13a79f54e9e33e3606147d4a&selectedJob=209828768

Tests Try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=176632b8084b0751377161bff07e96097178f738
Changes:
- added checks for IndexError when attempting to parse the debugger program name.
- if IndexError check fails, return an exit code of 1.
Assignee: nobody → egao
Pushed by gmierz2@outlook.com:
https://hg.mozilla.org/integration/autoland/rev/91d4adaad7a9
error running ./mach wpt --debugger rr --headless --no-manifest-update r=gbrown
https://hg.mozilla.org/mozilla-central/rev/91d4adaad7a9
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
Depends on: 1519369
You need to log in before you can comment on or make changes to this bug.