Closed Bug 1560162 Opened 2 years ago Closed 2 years ago

`./mach android-emulator` fails on macOS with "process still exists but it's a zombie"

Categories

(Firefox for Android Graveyard :: Testing, defect)

defect
Not set
normal

Tracking

(firefox-esr60 wontfix, firefox-esr68 wontfix, firefox67 wontfix, firefox67.0.1 wontfix, firefox68 wontfix, firefox69 fixed)

RESOLVED FIXED
Firefox 69
Tracking Status
firefox-esr60 --- wontfix
firefox-esr68 --- wontfix
firefox67 --- wontfix
firefox67.0.1 --- wontfix
firefox68 --- wontfix
firefox69 --- fixed

People

(Reporter: denschub, Assigned: gbrown)

Details

Attachments

(1 file)

I tried running ./mach android-emulator do run some local tests, and it fails with the following error

Error running mach:

    ['android-emulator']

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 can invoke |./mach busted| to check if this issue is already on file. If it
isn't, please use |./mach busted file| 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:

ZombieProcess: psutil.ZombieProcess process still exists but it's a zombie (pid=596)

  File "/Users/denschub/Work/mozilla-central/mobile/android/mach_commands.py", line 768, in emulator
    if emulator.is_running():
  File "/Users/denschub/Work/mozilla-central/testing/mozbase/mozrunner/mozrunner/devices/android_device.py", line 426, in is_running
    name = proc.name()
  File "/Users/denschub/Work/mozilla-central/third_party/python/psutil/psutil/__init__.py", line 613, in name
    cmdline = self.cmdline()
  File "/Users/denschub/Work/mozilla-central/third_party/python/psutil/psutil/__init__.py", line 666, in cmdline
    return self._proc.cmdline()
  File "/Users/denschub/Work/mozilla-central/third_party/python/psutil/psutil/_psosx.py", line 330, in wrapper
    return fun(self, *args, **kwargs)
  File "/Users/denschub/Work/mozilla-central/third_party/python/psutil/psutil/_psosx.py", line 412, in cmdline
    return cext.proc_cmdline(self.pid)
  File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py", line 35, in __exit__
    self.gen.throw(type, value, traceback)
  File "/Users/denschub/Work/mozilla-central/third_party/python/psutil/psutil/_psosx.py", line 359, in catch_zombie
    raise ZombieProcess(proc.pid, proc._name, proc._ppid)

The thing is, I don't have a process with pid=596 running, and I also don't have an android emulator running.

Let me know if you need more details. :)

Assignee: nobody → gbrown

I haven't reproduced this failure myself, but this change should help.

Pushed by gbrown@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3356449a23a9
Handle psutil exception in 'mach android-emulator'; r=denschub
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 69

Geoff, should we uplift this mozrunner fix to ESR 68? Would it make life easier for continued maintenance of Fennec 68 on ESR?

Flags: needinfo?(gbrown)

I don't have a strong opinion. I expect there's a limited audience for mach commands against esr68, and probably very few would benefit from this change.

Flags: needinfo?(gbrown)

(In reply to Geoff Brown [:gbrown] (pto July 8-12) from comment #5)

I don't have a strong opinion. I expect there's a limited audience for mach commands against esr68, and probably very few would benefit from this change.

In that case, let's not bother uplifting. Setting esr86=wontfix.

Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.