Closed Bug 1916125 Opened 2 months ago Closed 2 months ago

Ctrl-C does not cancel "mach build"

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(firefox-esr115 unaffected, firefox-esr128 fixed, firefox130 unaffected, firefox131 fixed, firefox132 fixed)

RESOLVED FIXED
132 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr128 --- fixed
firefox130 --- unaffected
firefox131 --- fixed
firefox132 --- fixed

People

(Reporter: rkraesig, Assigned: glandium)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

(Windows 10, MozillaBuild 4.1.)

Pressing Ctrl+C during the mozmake step of ./mach build appears to terminate something, but the build process continues unless killed manually (via kill -9 or taskkill /im python3.exe /f) in another terminal. Further presses of Ctrl+C have no visible effect whatsoever.

A fragment from the output follows:

 [...]
 0:02.08 Elapsed: 0.02s; From dist/public: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:02.08 Elapsed: 0.00s; From dist/private: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:02.16 Elapsed: 0.08s; From dist/xpi-stage: Kept 0 existing; Added/updated 97; Removed 0 files and 0 directories.
 0:03.11 Elapsed: 1.01s; From _tests: Kept 0 existing; Added/updated 1403; Removed 0 files and 0 directories.
Process Process-1:xport compile misc libs tools
Traceback (most recent call last):
  File "c:\mozilla-source\worktree-gamma\testing\mozbase\mozsystemmonitor\mozsystemmonitor\resourcemonitor.py", line 137, in _collect
    while not _poll(pipe, poll_interval=sleep_interval):
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\mozilla-source\worktree-gamma\testing\mozbase\mozsystemmonitor\mozsystemmonitor\resourcemonitor.py", line 104, in _poll
    return pipe.poll(poll_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\mozilla-build\python3\Lib\multiprocessing\connection.py", line 257, in poll
    return self._poll(timeout)
           ^^^^^^^^^^^^^^^^^^^
  File "C:\mozilla-build\python3\Lib\multiprocessing\connection.py", line 346, in _poll
    return bool(wait([self], timeout))
                ^^^^^^^^^^^^^^^^^^^^^
  File "C:\mozilla-build\python3\Lib\multiprocessing\connection.py", line 895, in wait
    ready_handles = _exhaustive_wait(waithandle_to_obj.keys(), timeout)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\mozilla-build\python3\Lib\multiprocessing\connection.py", line 827, in _exhaustive_wait
    res = _winapi.WaitForMultipleObjects(L, False, timeout)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\mozilla-build\python3\Lib\multiprocessing\process.py", line 314, in _bootstrap
    self.run()
  File "C:\mozilla-build\python3\Lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "c:\mozilla-source\worktree-gamma\testing\mozbase\mozsystemmonitor\mozsystemmonitor\resourcemonitor.py", line 186, in _collect
    pipe.send(entry)
  File "C:\mozilla-build\python3\Lib\multiprocessing\connection.py", line 206, in send
    self._send_bytes(_ForkingPickler.dumps(obj))
  File "C:\mozilla-build\python3\Lib\multiprocessing\connection.py", line 293, in _send_bytes
    waitres = _winapi.WaitForMultipleObjects(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
 0:04.08 Elapsed: 1.99s; From dist/bin: Kept 0 existing; Added/updated 2976; Removed 0 files and 0 directories.
 0:05.03 Elapsed: 2.95s; From dist/include: Kept 0 existing; Added/updated 7228; Removed 0 files and 0 directories.
Keywords: regression
Regressed by: 1906191

:glandium, since you are the author of the regressor, bug 1906191, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(mh+mozilla)
Assignee: nobody → mh+mozilla
Status: NEW → ASSIGNED
Flags: needinfo?(mh+mozilla)
Pushed by mh@glandium.org: https://hg.mozilla.org/integration/autoland/rev/f9708f5853ec Avoid KeyboardInterrupt not being emitted during ProcessHandler.wait. r=releng-reviewers,jcristau

Set release status flags based on info from the regressing bug 1906191

Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 132 Branch
Attachment #9422404 - Flags: approval-mozilla-beta?

beta Uplift Approval Request

  • User impact if declined: Local builds can't be interrupted on Windows
  • Code covered by automated testing: yes
  • Fix verified in Nightly: yes
  • Needs manual QE test: no
  • Steps to reproduce for manual QE testing: N/A
  • Risk associated with taking this patch: Low
  • Explanation of risk level: Does not affect Firefox
  • String changes made/needed: N/A
  • Is Android affected?: no
Attachment #9422404 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: