Closed Bug 1845697 Opened 10 months ago Closed 10 months ago

Crash when viewing Firefox profiler pages

Categories

(Core :: Graphics: CanvasWebGL, defect)

x86_64
Linux
defect

Tracking

()

RESOLVED FIXED
118 Branch
Tracking Status
firefox118 --- fixed

People

(Reporter: gcp, Assigned: sotaro)

References

(Blocks 2 open bugs)

Details

Attachments

(2 files)

Current Nightly, Kubuntu 22.04, nvidia 525 drivers

Open:

https://main--perf-html.netlify.app/public/x2q0gmmz0pbgd71b2ersjpe7v5yx7s0awjk3dng/calltree/?globalTrackOrder=d0wc&hiddenGlobalTracks=1wd&hiddenLocalTracksByPid=21752-0w3~24220-0~11888-0~22224-0~22164-0~21996-0~2584-0~2452-0~19240-0~17128-0~22472-01~21952-2w4&thread=0&v=10

This crashes the tab immediately after load for me and does not trigger the crash reporter.

I can reproduce it in debug mode, I notice a

[Child 2706959, Main Thread] WARNING: failed to duplicate file descriptor: Too many open files: file /home/morbo/hg/firefox/ipc/chromium/src/base/shared_memory_posix.cc:540

before the console gets spammed by thousands of lines of

[Parent 2706230, Renderer] WARNING: IPC Connection Error: [Parent][PCanvasManagerParent] RunMessage(msgname=PWebGL::Msg_DispatchCommands) Channel error: cannot send/recv: file /home/morbo/hg/firefox/ipc/glue/MessageChannel.cpp:1934

Monitoring file handles while the page loads:

orbo@alder:~/hg/firefox$ cat /proc/sys/fs/file-nr 
19776   0       9223372036854775807
morbo@alder:~/hg/firefox$ cat /proc/sys/fs/file-nr 
19536   0       9223372036854775807
morbo@alder:~/hg/firefox$ cat /proc/sys/fs/file-nr 
19632   0       9223372036854775807
morbo@alder:~/hg/firefox$ cat /proc/sys/fs/file-nr 
21648   0       9223372036854775807
morbo@alder:~/hg/firefox$ cat /proc/sys/fs/file-nr 
23616   0       9223372036854775807
morbo@alder:~/hg/firefox$ cat /proc/sys/fs/file-nr 
19680   0       9223372036854775807

Looks like an FD leak? That could explain why we don't get crash reports.

Going to set S2 as this is a crash that won't get reported.

Severity: -- → S2

@sotaro: This may be something that you have looked into recently.

Flags: needinfo?(sotaro.ikeda.g)
Assignee: nobody → sotaro.ikeda.g
Flags: needinfo?(sotaro.ikeda.g)

:gcp, thank you for reporting the bug. Can you attach about:support to this bug? And can you check if the problem happen with the following?

  • set pref webgl.out-of-process.async-present.force-sync = true in about:support
  • Restart Firefox
Flags: needinfo?(gpascutto)
Attached file about_support.txt
Flags: needinfo?(gpascutto)

And can you check if the problem happen with the following?

Same behavior.

deleted

Flags: needinfo?(gpascutto)

I confirmed the problem on Linux when pref widget.dmabuf.force-enabled = true. I am going to look into it.

Flags: needinfo?(gpascutto)

(In reply to Sotaro Ikeda [:sotaro] from comment #7)

I confirmed the problem on Linux when pref widget.dmabuf.force-enabled = true. I am going to look into it.

The crash happened also pref widget.dmabuf.force-enabled = false. The file descriptor seemed to be consumed by a lot of IPC messages by WebGLChild::FlushPendingCmds().

mFlushedCmdInfo.flushesSinceLastCongestionCheck did not work, since it is initialized in ClientWebGLContext::GetFrontBuffer() and the GetFrontBuffer() was not called. Then the problem happened also when gfx::gfxVars::WebglOopAsyncPresentForceSync() = true.

Blocks: 1835275
Pushed by sikeda.birchill@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d5ecff066ada
Always enable IPC congestion check in WebGLChild::FlushPendingCmds() r=jgilbert,gfx-reviewers,lsalzman
Blocks: gpu-canvas
Status: NEW → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → 118 Branch
QA Whiteboard: [qa-118b-p2]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: