Closed Bug 1828192 Opened 1 year ago Closed 1 year ago

A zombie glxtest process is left upon launching

Categories

(Core :: Widget: Gtk, defect, P3)

Firefox 114
Desktop
Linux
defect

Tracking

()

RESOLVED FIXED
114 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox112 --- unaffected
firefox113 --- unaffected
firefox114 --- fixed

People

(Reporter: tgnff242, Assigned: stransky)

References

(Regression)

Details

(Keywords: nightly-community, regression)

Attachments

(8 files)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/114.0

Steps to reproduce:

Start Firefox and watch out for zombie processes.

Actual results:

Launching Firefox creates a glxtest process which stays as a zombie until browser exit.

Expected results:

This started after Bug 1787182.

https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=77823ce3741bd74ea38a5b1ddf264ceb25811ae9&tochange=d87d273845cc0c521426fc41d0b0300fd58b07af

Has STR: --- → yes
Regressed by: 1787182

:stransky, since you are the author of the regressor, bug 1787182, could you take a look?

For more information, please visit auto_nag documentation.

Flags: needinfo?(stransky)
Assignee: nobody → stransky
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Unspecified → Linux
Hardware: Unspecified → Desktop

Can you run Firefox with MOZ_GFX_DEBUG=1 env variable and attach the log here? I can't reproduce it on my box.
Thanks.

Flags: needinfo?(stransky) → needinfo?(tgnff242)
Priority: -- → P3

Here is the output:

GLX_TEST: childgltest start
GLX_TEST: get_pci_status start
GLX_TEST: get_pci_status finished
GLX_TEST: x11_egltest start
GLX_TEST: get_egl_status start
GLX_TEST: get_egl_gl_status start
GLX_TEST: get_egl_gl_status finished
GLX_TEST: get_egl_status finished with return: 1
GLX_TEST: get_xrandr_info start
GLX_TEST: get_xrandr_info finished
GLX_TEST: x11_egltest finished
PCI_VENDOR_ID
0x1002
PCI_DEVICE_ID
0x731f
DRI_DRIVER
radeonsi
VENDOR
AMD
RENDERER
AMD Radeon RX 5700 XT (navi10, LLVM 15.0.7, DRM 3.49, 6.2.11-arch1-1)
VERSION
4.6 (Compatibility Profile) Mesa 23.0.2
TFP
TRUE
DRM_RENDERDEVICE
/dev/dri/renderD128
MESA_VENDOR_ID
0x1002
MESA_DEVICE_ID
0x731f
DDX_DRIVER
AMD Radeon RX 5700 XT @ pci:0000:07:00.0;
TEST_TYPE
EGL
GLX_TEST: childgltest finished
vaInitialize finished
Profile: H264ConstrainedBaseline
Profile: H264Main
Profile: H264High
Profile: VP9Profile0
Profile: VP9Profile2
VAAPI_SUPPORTED
TRUE
VAAPI_HWCODECS
80
Flags: needinfo?(tgnff242)

Thanks. Looks like the glxtest process run fine and we just failed to reap it. Can you attach content of about:support page?
Thanks.

Flags: needinfo?(tgnff242)
Attached file about_support.txt (deleted) —

Attaching about:support.

Flags: needinfo?(tgnff242)

I have some WIP patches ready so let's see if that fixes it. Do you also see vaapitest process hang or is that glxtest one only?

Flags: needinfo?(tgnff242)

It's just glxtest; vaapitest exits properly.

Btw, to reproduce it you have to open a profile that has been used before. That is, if you create a new profile, a glxtest process will be left running only after the second time you start the browser with it.

Flags: needinfo?(tgnff242)

We may also launch child processes without DONT_REAP option and use glib to get the exit status.

Flags: needinfo?(stransky)

Depends on D175805

Depends on D175806

  • Implement ManageChildProcess() to get data from child test process and process exit status. We use glib I/O routines there instead of
    our custom implementation.
  • Update GfxInfo::GetData() and GfxInfo::GetDataVAAPI() to use it.

Depends on D175807

Depends on D175808

  • Migrate glxtest pid and pipe fd variables to static members of GfxInfo on Linux
  • Implement GfxInfo::FireGLXTestProcess() to run glxtest process.

Depends on D175866

  • Run glxtest directly from GfxInfo::GetData() in case we're missing glx test data. That happens for unusual code paths
    like profile manager run or xpcshell testing.
  • Remove nsIGfxInfoDebug::fireTestProcess() hack to run glxtest in testsuite. We don't need that due this change.

Depends on D175867

Duplicate of this bug: 1828195
Pushed by stransky@redhat.com:
https://hg.mozilla.org/integration/autoland/rev/1a8d62b0a5aa
[Linux] Implement common glx/vaapi test routines in GfxInfoUtils.h r=emilio
https://hg.mozilla.org/integration/autoland/rev/710a89cf3a2b
[Linux] Make glxtest to use GfxInfoUtils.h routines r=emilio
https://hg.mozilla.org/integration/autoland/rev/90a8a7df86c1
[Linux] Make vaapitest to use GfxInfoUtils.h routines r=emilio
https://hg.mozilla.org/integration/autoland/rev/fa7593ebcb86
[Linux] Implement and use ManageChildProcess() to run and get data from child test process in GfxInfo r=emilio
https://hg.mozilla.org/integration/autoland/rev/a88369c6cf8d
[Linux] Implement GfxInfo::FireTestProcess() and use it to run VA-API testing r=emilio
https://hg.mozilla.org/integration/autoland/rev/f9b6c77b5ae6
[Linux] Remove c style hacks to run glxtest and use FireTestProcess() for it r=emilio
https://hg.mozilla.org/integration/autoland/rev/f2895f738240
[Linux] Run glxtest directly from GfxInfo::GetData() in case we're missing glx test data r=emilio
Regressions: 1829282

Looking at the regressions now.

Flags: needinfo?(stransky)

The profile manager launches without a delay, but the glxtest zombie process remains. Should it be fixed on build 20230420212414?

Flags: needinfo?(stransky)

(In reply to tgn-ff from comment #20)

The profile manager launches without a delay, but the glxtest zombie process remains. Should it be fixed on build 20230420212414?

I'll file a follow up bug to address that. I'm going to use child_watch for that.

Flags: needinfo?(stransky)

(In reply to Martin Stránský [:stransky] (ni? me) from comment #21)

(In reply to tgn-ff from comment #20)

The profile manager launches without a delay, but the glxtest zombie process remains. Should it be fixed on build 20230420212414?

I'll file a follow up bug to address that. I'm going to use child_watch for that.

It's Bug 1829461

Regressions: 1829871
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: