Closed Bug 1607153 Opened 4 years ago Closed 4 years ago

ThreadSanitizer: data race [@ IPC::Channel::ChannelImpl::ProcessIncomingMessages] vs. [@ GetClientFileDescriptorMapping]

Categories

(Core :: IPC, defect, P1)

x86_64
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla74
Tracking Status
firefox-esr68 --- wontfix
firefox72 --- wontfix
firefox73 --- wontfix
firefox74 --- fixed

People

(Reporter: decoder, Assigned: jld)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(2 files)

The attached crash information was detected while running CI tests with ThreadSanitizer on mozilla-central revision c0a6eb95b65c.

This is one of a group of read/write races on client_pipe_ that I see during tests. Looks like we are closing and setting client_pipe_ to -1 but at the same time, another thread is reading client_pipe_, either getting the old value or -1.

General information about TSan reports

Why fix races?

Data races are undefined behavior and can cause crashes as well as correctness issues. Compiler optimizations can cause racy code to have unpredictable and hard-to-reproduce behavior.

Rating

If you think this race can cause crashes or correctness issues, it would be great to rate the bug appropriately as P1/P2 and/or indicating this in the bug. This makes it a lot easier for us to assess the actual impact that these reports make and if they are helpful to you.

False Positives / Benign Races

Typically, races reported by TSan are not false positives [1], but it is possible that the race is benign. Even in this case it would be nice to come up with a fix if it is easily doable and does not regress performance. Every race that we cannot fix will have to remain on the suppression list and slows down the overall TSan performance. Also note that seemingly benign races can possibly be harmful (also depending on the compiler, optimizations and the architecture) [2][3].

[1] One major exception is the involvement of uninstrumented code from third-party libraries.
[2] http://software.intel.com/en-us/blogs/2013/01/06/benign-data-races-what-could-possibly-go-wrong
[3] How to miscompile programs with "benign" data races: https://www.usenix.org/legacy/events/hotpar11/tech/final_files/Boehm.pdf

Suppressing unfixable races

If the bug cannot be fixed, then a runtime suppression needs to be added in mozglue/build/TsanOptions.cpp. The suppressions match on the full stack, so it should be picked such that it is unique to this particular race. The bug number of this bug should also be included so we have some documentation on why this suppression was added.

The way this should work, the launch thread reads the fd and gives a copy to the child process when launching it, and then later (tens to hundreds of ms later, typically) the child process writes to the pipe, and then the parent's IPC I/O thread sees the pipe as readable and closes/clears client_pipe_ because that should imply that the child already has it.

But there's also CloseClientFileDescriptor, which we call explicitly after launch… except that's on the launch thread, so it's unordered with respect to the I/O thread handling messages from the child. And that's actually a problem, because if those two things race on reading/writing client_pipe_, this could theoretically cause a double close.

I think we can just delete the implicit close/reset of client_pipe_, because we're already explicitly closing it.

Assignee: nobody → jld
Priority: -- → P1
See Also: → 1608603
Regressed by: 1487287
Has Regression Range: --- → yes

It's no longer safe to try closing client_pipe_ when the I/O thread is
woken up with data from the child process, because that can race with the
launch thread doing its own close, and it's also unnecessary because of
that other close. See also bug 1607153 comment #2.

Pushed by jedavis@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ba74f99ce9bc
Remove the incorrect extra close of IPC channel client_pipe_. r=froydnj

Backed out changeset ba74f99ce9bc (Bug 1607153) for browser_content_url_annotation.js failures

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&searchStr=os%2Cx%2C10.14%2Cdebug%2Cmochitests%2Ctest-macosx1014-64%2Fdebug-mochitest-browser-chrome-e10s-10%2Cm%28bc10%29&fromchange=a9619fd7915e741e4fabb8e0b91a88532f63a3e6&tochange=acf3896e7d71b2a929859090e943458136498df9&selectedJob=286023535

Backout link: https://hg.mozilla.org/integration/autoland/rev/081cda5d11fdae37798ad3b591186e8b56bd8c7e

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=286023535&repo=autoland&lineNumber=16615

[task 2020-01-22T21:51:02.674Z] 21:51:02 INFO - TEST-START | toolkit/content/tests/browser/browser_content_url_annotation.js
[task 2020-01-22T21:51:02.678Z] 21:51:02 INFO - GECKO(1986) | [Child 1990: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x11dd54800 == 8 [pid = 1990] [id = {56e4cb6b-0c19-3c48-aeb5-9795b31e3664}]
[task 2020-01-22T21:51:02.678Z] 21:51:02 INFO - GECKO(1986) | [Child 1990: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 38 (0x1419ae880) [pid = 1990] [serial = 74] [outer = 0x0]
[task 2020-01-22T21:51:02.678Z] 21:51:02 INFO - GECKO(1986) | [Child 1990: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 39 (0x145e77000) [pid = 1990] [serial = 75] [outer = 0x1419ae880]
[task 2020-01-22T21:51:02.722Z] 21:51:02 INFO - GECKO(1986) | [Child 1990: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 40 (0x146730800) [pid = 1990] [serial = 76] [outer = 0x1419ae880]
[task 2020-01-22T21:51:03.064Z] 21:51:03 INFO - GECKO(1986) | [Child 1990, Main Thread] WARNING: Trying to request nsIHttpChannel from DocumentChannel, this is likely broken: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannel.cpp, line 63
[task 2020-01-22T21:51:03.064Z] 21:51:03 INFO - GECKO(1986) | [Child 1990: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 41 (0x146797800) [pid = 1990] [serial = 77] [outer = 0x1419ae880]
[task 2020-01-22T21:51:03.161Z] 21:51:03 INFO - GECKO(1986) | [Child 1990, Main Thread] WARNING: Trying to request nsIHttpChannel from DocumentChannel, this is likely broken: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannel.cpp, line 63
[task 2020-01-22T21:51:03.178Z] 21:51:03 INFO - GECKO(1986) | [Child 1990: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 42 (0x146a89400) [pid = 1990] [serial = 78] [outer = 0x1419ae880]
[task 2020-01-22T21:51:03.248Z] 21:51:03 INFO - GECKO(1986) | Et tu, Brute?
[task 2020-01-22T21:51:03.248Z] 21:51:03 INFO - GECKO(1986) | XPCOM_MEM_BLOAT_LOG: /var/folders/zp/yw3ymmcn2zz1dlfnt4gp2zfr000017/T/tmpI_f1L5.mozrunner/runtests_leaks.log
[task 2020-01-22T21:51:03.255Z] 21:51:03 INFO - GECKO(1986) | Writing to log: /var/folders/zp/yw3ymmcn2zz1dlfnt4gp2zfr000017/T/tmpI_f1L5.mozrunner/runtests_leaks_tab_pid1990.log
[task 2020-01-22T21:51:04.511Z] 21:51:04 INFO - GECKO(1986) | [Parent 1986: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 18 (0x114b5dc00) [pid = 1986] [serial = 13] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:04.511Z] 21:51:04 INFO - GECKO(1986) | [Parent 1986: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 17 (0x12319c800) [pid = 1986] [serial = 14] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:04.511Z] 21:51:04 INFO - GECKO(1986) | [Parent 1986: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 16 (0x120b51400) [pid = 1986] [serial = 19] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:04.511Z] 21:51:04 INFO - GECKO(1986) | [Parent 1986: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 15 (0x12857cc00) [pid = 1986] [serial = 18] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:07.776Z] 21:51:07 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x116b27000 == 2 [pid = 1991] [id = {4504cd5f-aa6a-d740-9e8b-1706199745a6}] [url = about:blank]
[task 2020-01-22T21:51:07.776Z] 21:51:07 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x116b2a800 == 1 [pid = 1991] [id = {fb607a8c-a41f-f142-9e2a-6c65fc071892}] [url = https://example.com/browser/toolkit/content/tests/browser/file_contentTitle.html#x2]
[task 2020-01-22T21:51:07.806Z] 21:51:07 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x10f839000 == 0 [pid = 1991] [id = {0135a481-2d50-e543-905b-445c8846adeb}] [url = about:blank]
[task 2020-01-22T21:51:07.836Z] 21:51:07 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 8 (0x116b43200) [pid = 1991] [serial = 52] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:07.836Z] 21:51:07 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 7 (0x1447d7020) [pid = 1991] [serial = 58] [outer = 0x0] [url = https://example.com/browser/toolkit/content/tests/browser/file_contentTitle.html]
[task 2020-01-22T21:51:07.836Z] 21:51:07 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 6 (0x116b43980) [pid = 1991] [serial = 55] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:07.943Z] 21:51:07 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 16 (0x10d43d800) [pid = 1989] [serial = 63] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:07.943Z] 21:51:07 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x113d3d000 == 4 [pid = 1989] [id = {4ee09b02-8ddc-0d4c-966a-16dd40c8f505}] [url = about:blank]
[task 2020-01-22T21:51:07.964Z] 21:51:07 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x113d29000 == 3 [pid = 1989] [id = {59d88670-d00b-f441-9ff9-6d30f31ce640}] [url = about:blank]
[task 2020-01-22T21:51:07.964Z] 21:51:07 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x113d2f000 == 2 [pid = 1989] [id = {a08b7116-a195-4141-a272-c07d8c86c2a2}] [url = about:blank]
[task 2020-01-22T21:51:07.997Z] 21:51:07 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 15 (0x113d205c0) [pid = 1989] [serial = 59] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:07.997Z] 21:51:07 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 14 (0x113d203e0) [pid = 1989] [serial = 62] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:07.998Z] 21:51:07 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 13 (0x14c62f020) [pid = 1989] [serial = 72] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:07.998Z] 21:51:07 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 12 (0x113d21100) [pid = 1989] [serial = 65] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:07.998Z] 21:51:07 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 11 (0x113d21880) [pid = 1989] [serial = 68] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:09.299Z] 21:51:09 INFO - GECKO(1986) | [Parent 1986: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x1130a7000 == 6 [pid = 1986] [id = {b35490dc-cfac-294b-be58-52032bdb6741}] [url = about:preferences]
[task 2020-01-22T21:51:09.299Z] 21:51:09 INFO - GECKO(1986) | [Parent 1986: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 14 (0x114bf2c00) [pid = 1986] [serial = 21] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:11.972Z] 21:51:11 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 5 (0x10f946400) [pid = 1991] [serial = 56] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:11.972Z] 21:51:11 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 4 (0x116b0ac00) [pid = 1991] [serial = 59] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:11.972Z] 21:51:11 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 3 (0x144735800) [pid = 1991] [serial = 60] [outer = 0x0] [url = https://example.com/browser/toolkit/content/tests/browser/file_contentTitle.html]
[task 2020-01-22T21:51:11.972Z] 21:51:11 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 2 (0x1238ad400) [pid = 1991] [serial = 54] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:11.972Z] 21:51:11 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 1 (0x141530800) [pid = 1991] [serial = 57] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:11.972Z] 21:51:11 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 0 (0x10f938c00) [pid = 1991] [serial = 53] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:12.287Z] 21:51:12 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 10 (0x14c6f5800) [pid = 1989] [serial = 71] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:12.287Z] 21:51:12 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 9 (0x13b0ec800) [pid = 1989] [serial = 67] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:12.287Z] 21:51:12 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 8 (0x1497e8c00) [pid = 1989] [serial = 70] [outer = 0x0] [url = data:text/html;base64,PHRleHRhcmVhIGlkPSJ0ZXh0YXJlYTEiIHJvdz0yPkZpcmVmb3gKCkZpcmVmb3gKCgoKCgoKCgoKPC90ZXh0YXJlYT48YSBocmVmPSJhYm91dDpibGFuayI+Ymxhbms8L2E+]
[task 2020-01-22T21:51:12.287Z] 21:51:12 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 7 (0x113a04000) [pid = 1989] [serial = 66] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:12.288Z] 21:51:12 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 6 (0x1497e2400) [pid = 1989] [serial = 73] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:12.288Z] 21:51:12 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 5 (0x113ceec00) [pid = 1989] [serial = 69] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:12.288Z] 21:51:12 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x113d37000 == 1 [pid = 1989] [id = {ae163df0-61f5-9342-9d29-435c79d13b7f}] [url = about:blank]
[task 2020-01-22T21:51:12.288Z] 21:51:12 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 4 (0x113dc5000) [pid = 1989] [serial = 61] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:12.288Z] 21:51:12 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 3 (0x14c6ef400) [pid = 1989] [serial = 75] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:12.288Z] 21:51:12 INFO - GECKO(1986) | [Child 1989: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 2 (0x113dbf000) [pid = 1989] [serial = 64] [outer = 0x0] [url = about:blank]
[task 2020-01-22T21:51:13.516Z] 21:51:13 INFO - GECKO(1986) | [Parent 1986: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 13 (0x1157383e0) [pid = 1986] [serial = 12] [outer = 0x0] [url = about:preferences]
[task 2020-01-22T21:51:13.558Z] 21:51:13 INFO - GECKO(1986) | [Parent 1986: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x115156000 == 5 [pid = 1986] [id = {bd15d1b9-c380-b64c-9c48-cbe46f21fbbd}] [url = about:rights]
[task 2020-01-22T21:51:13.559Z] 21:51:13 INFO - GECKO(1986) | [Parent 1986: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 12 (0x11f7d05c0) [pid = 1986] [serial = 20] [outer = 0x0] [url = about:rights]
[task 2020-01-22T21:51:13.855Z] 21:51:13 INFO - GECKO(1986) | [Parent 1986: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 11 (0x1240c4800) [pid = 1986] [serial = 15] [outer = 0x0] [url = about:preferences]
[task 2020-01-22T21:51:13.855Z] 21:51:13 INFO - GECKO(1986) | [Parent 1986: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 10 (0x11f4ef800) [pid = 1986] [serial = 22] [outer = 0x0] [url = about:rights]
[task 2020-01-22T21:54:02.919Z] 21:54:02 INFO - TEST-INFO | started process screencapture
[task 2020-01-22T21:54:03.072Z] 21:54:03 INFO - TEST-INFO | screencapture: exit 0
[task 2020-01-22T21:54:03.072Z] 21:54:03 INFO - Buffered messages logged at 21:51:02
[task 2020-01-22T21:54:03.072Z] 21:54:03 INFO - Entering test bound test_content_url_annotation
[task 2020-01-22T21:54:03.072Z] 21:54:03 INFO - TEST-PASS | toolkit/content/tests/browser/browser_content_url_annotation.js | Should be a remote browser -
[task 2020-01-22T21:54:03.072Z] 21:54:03 INFO - Buffered messages logged at 21:52:32
[task 2020-01-22T21:54:03.073Z] 21:54:03 INFO - Longer timeout required, waiting longer... Remaining timeouts: 1
[task 2020-01-22T21:54:03.073Z] 21:54:03 INFO - Buffered messages finished
[task 2020-01-22T21:54:03.073Z] 21:54:03 INFO - TEST-UNEXPECTED-FAIL | toolkit/content/tests/browser/browser_content_url_annotation.js | Test timed out -
[task 2020-01-22T21:54:03.073Z] 21:54:03 INFO - GECKO(1986) | MEMORY STAT | vsize 7647MB | residentFast 366MB | heapAllocated 117MB
[task 2020-01-22T21:54:03.073Z] 21:54:03 INFO - TEST-OK | toolkit/content/tests/browser/browser_content_url_annotation.js | took 180251ms
[task 2020-01-22T21:54:03.073Z] 21:54:03 INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-01-22T21:54:03.073Z] 21:54:03 INFO - TEST-UNEXPECTED-FAIL | toolkit/content/tests/browser/browser_content_url_annotation.js | Found a tab after previous test timed out: https://example.com/browser/toolkit/content/tests/browser/file_redirect_to.html -
[task 2020-01-22T21:54:03.073Z] 21:54:03 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x10f83a000 == 1 [pid = 1991] [id = {2d2dd155-547f-d440-a021-cc7c4cff90e0}]
[task 2020-01-22T21:54:03.073Z] 21:54:03 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 1 (0x116b43200) [pid = 1991] [serial = 61] [outer = 0x0]
[task 2020-01-22T21:54:03.073Z] 21:54:03 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 2 (0x10f935400) [pid = 1991] [serial = 62] [outer = 0x116b43200]
[task 2020-01-22T21:54:03.073Z] 21:54:03 INFO - GECKO(1986) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 3 (0x14152e800) [pid = 1991] [serial = 63] [outer = 0x116b43200]
[task 2020-01-22T21:54:03.074Z] 21:54:03 INFO - checking window state
[task 2020-01-22T21:54:03.159Z] 21:54:03 INFO - TEST-START | toolkit/content/tests/browser/browser_crash_previous_frameloader.js

Flags: needinfo?(jld)

I don't know what's going on yet, but it seems to fail only on Mac and not Linux. Which doesn't make a lot of sense, but it could be timing-sensitive or there could be yet another macOS kernel bug. I can reproduce on Try, and I'm attempting to get Mac builds working locally again.

I found the problem: in GeckoChildProcessHost.cpp, MacProcessLauncher overrides DoFinishLaunch from PosixProcessLauncher but doesn't call the superclass, so the explicit close never happens.

Flags: needinfo?(jld)
Pushed by jedavis@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7cc7a95fbad0
Remove the incorrect extra close of IPC channel client_pipe_. r=froydnj
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla74
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: